N~{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzNone $/9:;IM3The star selector applies to all elements. Maps to * in CSS.<Select elements by name. The preferred syntax is to enable OverloadedStrings and actually just use "element-name"- or use one of the predefined elements from  Clay.Elements.Named alias for  . $The deep selector composer. Maps to  sel1 sel2 in CSS.!Named alias for "."%The child selector composer. Maps to  sel1 > sel2 in CSS.#(The adjacent selector composer. Maps to  sel1 + sel2 in CSS.$Named alias for %.%SThe filter selector composer, adds a filter to a selector. Maps to something like  sel#filter or  sel.filter! in CSS, depending on the filter.&:Filter elements by id. The preferred syntax is to enable OverloadedStrings and use  "#id-name".'=Filter elements by class. The preferred syntax is to enable OverloadedStrings and use  ".class-name".(WFilter elements by pseudo selector or pseudo class. The preferred syntax is to enable OverloadedStrings and use ":pseudo-selector") or use one of the predefined ones from  Clay.Pseudo.)pFilter elements by pseudo selector functions. The preferred way is to use one of the predefined functions from  Clay.Pseudo.*aFilter elements based on the presence of a certain attribute. The preferred syntax is to enable OverloadedStrings and use "@attr"( or use one of the predefined ones from Clay.Attributes.+WFilter elements based on the presence of a certain attribute with the specified value.,bFilter elements based on the presence of a certain attribute that begins with the selected value.-aFilter elements based on the presence of a certain attribute that ends with the specified value..oFilter elements based on the presence of a certain attribute that contains the specified value as a substring./Filter elements based on the presence of a certain attribute that have the specified value contained in a space separated list.0Filter elements based on the presence of a certain attribute that have the specified value contained in a hyphen separated list.6  !"#$%&'()*+,-./0123453   !"#$%&'()*+,-./0126 !"#$%&'()*+,-./0 51 423   !"#$%&'()*+,-./012345NoneI%=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a=>?@ABCDEFGHIJKLMNOPQRSTU%IJKLMa`NOPFGHQCDEAB_?@^]=>\[RZYXWVSTU=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aU NonenThe other type class is used to escape from the type safety introduced by embedding CSS properties into the typed world of Clay. n allows you to cast any C to a specific value type.YCommon list browser prefixes to make experimental properties work in different browsers.Syntax for CSS function call.&Some auxiliary mathematical functions.(nopqrstuvwxyz{|}~nopqrstuvwxyz{|}~(~|}z{xyvwturspqnonopqrstuvwxyz{|}~None9;IThe d context is used to collect style rules which are mappings from selectors to style properties. The  type is a computation in the 6 monad that just collects and doesn't return anything.>Add a new style property to the stylesheet with the specified F6 and value. The value can be any type that is in the A5 typeclass, with other words: can be converted to a C.>Add a new style property to the stylesheet with the specified F and value, like  but use a I key.The colon operator can be used to add style rules to the current context for which there is no embedded version available. Both the key and the value are plain text values and rendered as is to the output CSS.oAssign a stylesheet to a selector. When the selector is nested inside an outer scope it will be composed with .oAssign a stylesheet to a selector. When the selector is nested inside an outer scope it will be composed with ".zAssign a stylesheet to a filter selector. When the selector is nested inside an outer scope it will be composed with the $ selector.1Root is used to add style rules to the top scope.Pop is used to add style rules to selectors defined in an outer scope. The counter specifies how far up the scope stack we want to add the rules.IApply a set of style rules when the media type and feature queries apply.PApply a set of style rules when the media type and feature queries do not apply.NApply a set of style rules only when the media type and feature queries apply.Define a new font-face.Import a CSS file from a URL-,-4555NoneIFocus behaviour.Selection mode.Selection mode.Selection mode.!Enabling user interface elements.Selection mode.Selection mode.Modifiability of an element.Selection mode.Selection mode.Selection mode.Content selection granularity.Selection mode.Selection mode.Selection mode.Selection mode.Content focusing granularity. Focus mode. Focus mode. Focus mode. Focus mode. Focus mode.{|}~{|}~None-name of format according to CSS specification  NoneI!                    None9=Configuration to print to a pretty human readable CSS output.:<Configuration to print to a compacted unreadable CSS output.;[Configuration to print to a compacted unreadable CSS output for embedding inline with HTML.</Render to CSS using the default configuration (9-) and directly print to the standard output.=[Render a stylesheet with the default configuration. The pretty printer is used by default.>MRender a stylesheet with a custom configuration and an optional outer scope.?Render a single CSS ."./0123456789:;<=>?./0123456789:;<=>?./0123456789:=;<>?. /0123456789:;<=>? NoneIATime in seconds.BTime in milliseconds.@ABCD@AB@AB@ABCD NoneIKLMNOPQRSTUVWXYZ[\]^_KLMNOPQRSTUVWXYZ[\]^_LMNOPQK\]RSTUVWXYZ[^_KLMNOPQRSTUVWXYZ[\]^_ NoneI!cdefghijklmnopqrstuvwxyz{|}~cdefghijklmnopqrstuvwxyz{|}~hijkglmnopqrfstuvewdxyzc{|}~cdefghijklmnopqrstuvwxyz{|}~ None      !"#$%&'()*+,-./0123456789:;<=>?@      !"#$%&'()*+,-./0123456789:@?>=<;      !"#$%&'()*+,-./0123456789:      !"#$%&'()*+,-./0123456789:;<=>?@ None /9;ACDIRT<Type family to define what is the result of a calc operationFWhen combining percentages with units using calc, we get a combinationI"Sizes can be given in percentages.J5Sizes can be given using a length unit (e.g. em, px).K Zero size.L/Unitless size (as recommended for line-height).MSize in centimeters.NSize in millimeters.OSize in inches (1in = 2.54 cm).PSize in pixels.Q#Size in points (1pt = 1/72 of 1in).RSize in picas (1pc = 12pt).S7Size in em's (computed cssDoubleText of the font-size).T;SimpleSize in ex'es (x-height of the first avaliable font).UDSimpleSize in rem's (em's, but always relative to the root element).V0SimpleSize in vw's (1vw = 1% of viewport width).W1SimpleSize in vh's (1vh = 1% of viewport height).X/SimpleSize in vmin's (the smaller of vw or vh).Y.SimpleSize in vmax's (the larger of vw or vh).ZSimpleSize in percents.[1Plus operator to combine sizes into calc function\2Minus operator to combine sizes into calc function]2Times operator to combine sizes into calc function^;Reversed times operator to combine sizes into calc function_5Division operator to combine sizes into calc functioncAngle in degrees.dAngle in radians.e1Angle in gradians (also knows as gons or grades).fAngle in turns.@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx$CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef$HJIKLMNOPQRSTZUVWXY[\^]_`baCGFEDcdef9CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx[6\6]7^7_7NoneIj~Z~Z~^~NoneIB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDNoneI JKLMNOPQR JKLMNOPQR JKLMNOPQR JKLMNOPQRNone9;I`We implement the generic background property as a type class that accepts multiple value types. This allows us to combine different background aspects into a shorthand syntax.OWe have to prefix these values to avoid conflict with existing property names.OWe have to prefix these values to avoid conflict with existing property names.OWe have to prefix these values to avoid conflict with existing property names.OWe have to prefix these values to avoid conflict with existing property names.OWe have to prefix these values to avoid conflict with existing property names.OWe have to prefix these values to avoid conflict with existing property names.NUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~5UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~5`ab_efcd^jkghi]stlmnopqr[yzxZ|}{Y~\vwuXWVUBUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None9;IWe implement the generic mask property as a type class that accepts multiple value types. This allows us to combine different mask aspects into a shorthand syntax.*(None9;ICSS Flexible Box Layout %http://dev.w3.org/csswg/css-flexbox-1.     )  .     #     None9;IThe five generic font families. 6http://www.w3.org/TR/css3-fonts/#generic-font-families.?We implement the generic font property as a type class that accepts multiple value types. This allows us to combine different font aspects into a shorthand syntax. Fonts require a mandatory part and have a optional a part. *http://www.w3.org/TR/css3-fonts/#font-propAAn alias for color.HThe H style rules takes to lists of font families: zero or more custom font-families and preferably one or more generic font families.:6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh/6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd/?@=>;<ABHCDEFG:RSIJKLMNOPQ9VTU8XW7]YZ[\6^_`abcd16789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghNoneNone9;INoneIPEEENoneI !"#$%&'()*+,-./012345 !"#$%&'()*+,-./012345 +,-./!"#$%&'()*012345 !"#$%&'()*+,-./012345NoneI89:;<=>?@ABCDE89:;<=>?@ABCDE89:;<=>?@ABCDE89:;<=>?@ABCDENoneI/IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst,IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst,JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrIst.IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstNone wdSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.xdSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.ydSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.zdSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.{dSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.|dSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.}dSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.~dSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.dSpecial cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.rwxyz{|}~rwxyz{|}~rwxyz{|}~rwxyz{|}~Nonem      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUNone%VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz%VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz%VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz%VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzNonee  "#%&'()*+,-./0=>?@ABCDEFGHIJKLMNOPQRSTUnopqrstuvwxyz{|}~     9:<=>?@ABKLMNOPQRSTUVWXYZ[\]^_cdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDJKLMNOPQRUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  6789:;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ[\]abcd !"#$%&'()*+,-./01234589:<=>?@ABDEwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCEFGHIJLMPQRUVWXYZ[\]^_`abcefghijklmnopstvwxyz'=><9:?  "%#&'()*+,-./0  !"#$%&'()*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[[\]^^_``abbcdefghijklmnopqrstuvwxyz{|}~'      !"#$%&'()*+,-./0123456789:;<=>?@AABCDEFGHIJKLMNOPQ R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEEFFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcJdefghijklmnopqrstuvwxyz{|}~fdhSg      !"#$%&'()*+,-./0123456789:;<=>?2@AB]CDEFGHIJKLMNOPQRSTUVWXY-?Z[\]^_`abcdefghijklmn R ] u v w x y o p T q r s t u v wxxyyz[{ghijklmnop|}@ABCD}~%?NA clay-0.12-HF1aTrHUVii3PZ0V1kEmVv Clay.Selector Clay.Property Clay.CommonClay.Stylesheet Clay.Dynamic Clay.FontFace Clay.List Clay.Render Clay.TimeClay.TransitionClay.Animation Clay.Color Clay.Size Clay.Display Clay.BorderClay.BoxClay.Background Clay.Mask Clay.Flexbox Clay.Font Clay.Geometry Clay.Gradient Clay.TextClay.Transform Clay.Filter Clay.Media Clay.ElementsClay.Attributes Clay.PseudoClaySelector SelectorFFixInoutPathStarElemChildDeepAdjacentCombined RefinementunFilter PredicateIdClassAttrAttrVal AttrBeginsAttrEnds AttrContains AttrSpaceAttrHyphPseudo PseudoFunc PseudoElemstarelementdeep**child|>|+with#byIdbyClasspseudofuncattr@=^=$=*=~=|=filterFromTexttext $fMonoidFix $fIsStringFix$fIsStringRefinement $fEqPredicate$fOrdPredicate$fShowPredicate$fShowRefinement $fShowPath$fShowSelectorF $fShowFixE5LiteralValvalueValueunValueKeyunKeysPrefixedPlain unPrefixedunPlainmergeplainquotecast cssDoubleText interspersenoCommas!$fVal[] $fValEither$fVal(,) $fValMaybe $fValValue $fValDouble$fHasResolutionE5 $fValInteger $fValLiteral $fValText$fMonoidPrefixed$fIsStringPrefixed$fShowPrefixed $fEqPrefixed $fShowKey $fMonoidKey $fIsStringKey $fShowValue $fMonoidValue$fIsStringValue $fEqValue $fShowLiteral$fMonoidLiteral$fIsStringLiteralOtherotherUnsetunsetInitialinitialHiddenhiddenVisiblevisibleNormalnormalNonenoneInheritinheritCentercenterBaselinebaselineAutoautoAllallbrowserscallfracMod decimalRound $fUnsetValue$fInitialValue $fOtherValue $fHiddenValue$fVisibleValue $fNoneValue $fNormalValue$fInheritValue $fCenterValue$fBaselineValue $fAutoValue $fAllValueCssStyleMSRulePropertyNestedQueryFaceKeyframeImport KeyframesAppSelfRootPopSubFeature MediaQuery NotOrOnlyNotOnly MediaTyperunSrulekeyprefixed-:?