I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                       ! " # $ % & ' ( ) * + , - . / 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 defghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneKW9  &  #$"%!     None^C2The other type class is used to escape from the type safety introduced by embedding CSS properties into the typed world of Clay. 2 allows you to cast any  to a specific value type.UYCommon list browser prefixes to make experimental properties work in different browsers.VSyntax for CSS function call.W&Some auxiliary mathematical functions.'23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX3HIFGDEBC@A>?<=:;89674523JKLMNOPQRSTYZ[\]_^`adbcUVWX 23456789:;<=>?@ABCDEFGHINone`Wegfhijklmnopqrstuvwxyz{|}~     efghijklmnopqrstuvwxyz{|}~     efghNone %0;=KO53The star selector applies to all elements. Maps to * in CSS.6<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.7Named alias for 8.8$The deep selector composer. Maps to  sel1 sel2 in CSS.9Named 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.ApFilter elements by pseudo selector functions. The preferred way is to use one of the predefined functions from  Clay.Pseudo.BaFilter 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.CWFilter elements based on the presence of a certain attribute with the specified value.DbFilter elements based on the presence of a certain attribute that begins with the selected value.EaFilter elements based on the presence of a certain attribute that ends with the specified value.FoFilter elements based on the presence of a certain attribute that contains the specified value as a substring.GFilter elements based on the presence of a certain attribute that have the specified value contained in a space separated list.HFilter elements based on the presence of a certain attribute that have the specified value contained in a hyphen separated list.3$#!" %&'(410/.-,+3*)256789:;<=>?@ABCDEFGHIJ756789:;<=>?@ABCDEFGH()*+,-./01234%&'KI !"#$NJML !"#$%&'( )*+,-./01234None 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[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneTm      !"#$%&'()*+,-./012345m      !"#$%&'()*+,-./012345None%;=K,6The 6d context is used to collect style rules which are mappings from selectors to style properties. The 6 type is a computation in the 76 monad that just collects and doesn't return anything.[>Add a new style property to the stylesheet with the specified  6 and value. The value can be any type that is in the 5 typeclass, with other words: can be converted to a .\>Add a new style property to the stylesheet with the specified   and value, like [ but use a   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 7._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.a1Root is used to add style rules to the top scope.bPop 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.cIApply a set of style rules when the media type and feature queries apply.dPApply a set of style rules when the media type and feature queries do not apply.eNApply a set of style rules only when the media type and feature queries apply.hDefine a new font-face.iImport a CSS file from a URLjaIndicate the supplied css should override css declarations that would otherwise take precedence.Use sparingly.66789?>=<;:@ABGEDCFHJIKLMNOPQRTSUVWXYZ[\]^_`abcdefghijk7UVRSTPQNOKLMHIJWXBCDEFG@A9:;<=>?78YZ6l[\]^_`abcdefghijk 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV]4^5_5`5None 0;=CEFKTVΖ<Type family to define what is the result of a calc operationFWhen combining percentages with units using calc, we get a combination"Sizes can be given in percentages.5Sizes can be given using a length unit (e.g. em, px). Zero size./Unitless size (as recommended for line-height).Size in centimeters.Size in millimeters.Size in inches (1in = 2.54 cm).Size in pixels.#Size in points (1pt = 1/72 of 1in).Size in picas (1pc = 12pt).7Size in em's (computed cssDoubleText of the font-size).;SimpleSize in ex'es (x-height of the first avaliable font).DSimpleSize in rem's (em's, but always relative to the root element).0SimpleSize in vw's (1vw = 1% of viewport width).1SimpleSize in vh's (1vh = 1% of viewport height)./SimpleSize in vmin's (the smaller of vw or vh)..SimpleSize in vmax's (the larger of vw or vh).SimpleSize in percents.1Plus operator to combine sizes into calc function2Minus operator to combine sizes into calc function2Times operator to combine sizes into calc function;Reversed times operator to combine sizes into calc function5Division operator to combine sizes into calc functionAngle in degrees.Angle in radians.1Angle in gradians (also knows as gons or grades).Angle in turns.$$66777 None%)A key-value pair with associated comment.=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 (-) 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 .  NoneC%% NoneK۳,     ,      NoneKd"#$%&'()*+,-./0123456789:;<=>?$9%&'()*+,-./012345678#<:;"=>?"#$ NoneޯOPQRSTUVWXYZ[\]^_`abcOPQRSTUVWXYZ[\]^_`abcNoneS-name of format according to CSS specification defghijklmn ghijklmdefndefghijklmNone;=KKThe 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-prop}An alias for color.The  style rules takes to lists of font families: zero or more custom font-families and preferably one or more generic font families./rstuvwxyz{|}~/{|yzwx}~vutsr rstuvwxyz{|None;=KpCSS Flexible Box Layout %http://dev.w3.org/csswg/css-flexbox-1). NoneKwNoneK Focus 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.0Content focusing granularity.1 Focus mode.2 Focus mode.3 Focus mode.4 Focus mode.5 Focus mode. !"#$%&'()*+,-./012345#$%&"'()*!+,-./ 012345 !"#NoneK[DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~[POQRVNSTUM[WXYZLr\]^_`bacdefghijklmnopqKstuvJwxyIz{|}H~FGDE DEFGHIJKLMNONone%dAnnotate the supplied 60 with the supplied comment. Comments work with OverloadedStrings-. This will annotate every non-nested value.3NoneKA     A     NoneK$This function will usually take a singleton list, but requiring a (non-empty) list prevents accidentally applying the modifiers (, ) incorrectly. (from Control.Applicative) creates a singleton list. ?boxShadow . pure $ none boxShadow . pure $ shadow (px 1) (px 1) Use with {- LANGUAGE OverloadedLists -} for the simplest list syntax. 1boxShadow [none] boxShadow [shadow (px 1) (px 1)]+This is recommended for supplying multiple  values. VboxShadow [shadowWithBlur (em 2) (em 1), bsInset . bsColor red $ shadow (px 1) (px 2)]9While this function is the correct type to work with the ,  or < functions, such applications are unlikely to be meaningful.Adapt the provided  box-shadow with the inset prefix. boxShadow . pure . bsInsetSupply a color to the provided  box-shadow.,This is the drop-in replacement for the old 7 function (< 0.13). It is possible to continue for now CReplace calls to this function as follows (using -XOverloadedLists) boxShadowWithSpread x y rb rs c 2boxShadow [c `bsColor` shadowWithSpread x y rb rs]!CReplace calls to this function as follows (using -XOverloadedLists) 1boxShadows [(x1, y1, rb1, c1), (x2, y2, rb2, c2)] aboxShadow [ c1 `bsColor` shadowWithBlur x1 y1 rb1 , c2 `bsColor` shadowWithBlur x2 y2 rb2 ]"CReplace calls to this function as follows (using -XOverloadedLists) insetBoxShadow s x y rb c 7boxShadow [bsInset $ c `bsColor` shadowWithBlur x y rb]Horizontal offsetVertical offsetHorizontal offsetVertical offset Blur radiusHorizontal offsetVertical offset Blur radius Spread radius !" !"9 None;=K#}7We 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.YOWe have to prefix these values to avoid conflict with existing property names.ZOWe 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.7+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`87896<=:;5AB>?@4JKCDEFGHI2PQO1STR0WXUV3MNL/YZ[\]^._`-+,, +,-./012345678None;=K(We 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.None;=K)NoneK/QAn internal function that ensures each-line and hanging are processed correctly.Annotate the supplied  with  each-line or hanging or both. 0eachLine . hanging . indent $ px 3 :: TextIndentAnnotate the supplied  with  each-line or hanging or both. 0eachLine . hanging . indent $ px 3 :: TextIndentE     E      NoneK3>FTime in seconds.GTime in milliseconds.EFGEFGENoneK3PQRSTUVWXYZ[\]^_`abcdefgPQR]^_`aSTUVWXYZ[\bcdefgPNoneK4jklmnopqrstuvwxyz{|}~klmnopj{|qrstuvwxyz}~jNoneK5None6{ 23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXehfgijklmnopqrstuvwxyz{|}~     %568:;=>?@ABCDEFGHWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~      !"#%&'()*,-01256]^_`abcdefghij"#$%&'()*+,-./0123456789:;<=>?OPQRSTUVWXYZ[\]^_`abcdefghijklmnrstuvwxyz{|}~ !"#$%&'()*+,-./012345DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~      !"+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`     EFGPQRSTUVWXYZ[\]^_`abcdefgjklmnopqrstuvwxyz{|}~)6^_`ab]%568:=;>?@ABCDEFGHcdefghji  !!"#$$%&&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~M      !"#$%&'()*+,-./01233456789:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~T      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI#JKLMNOPQRSTUVVWXYZ:[\]^__`aabbcdeffghijklmnopqrstuvwxyz{|}~                                                 1 q E                  J                               ! " # $ % & ' ( ) * + , - . / 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 J      W X Y Z [ \ ] ^ _ `abcdefghijklmnopqrsttuuvwxyz{|}~ K      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh ijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzF{|}~B      !"#$%&'()*+,-./0123456789:;<=>?@ABFCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      & ' (opqrs89:;<=>? !"x+6Oghijk"clay-0.13.0-C6WMqQBFzPU7vD94EecDnB Clay.Property Clay.Common Clay.Color Clay.Selector Clay.ElementsClay.AttributesClay.Stylesheet Clay.Size Clay.Render Clay.Pseudo Clay.Media Clay.List Clay.Geometry Clay.FontFace Clay.Font Clay.Flexbox Clay.Filter Clay.Dynamic Clay.Display Clay.Comments Clay.BorderClay.BoxClay.Background Clay.Mask Clay.Gradient Clay.Text Clay.TimeClay.TransformClay.TransitionClay.AnimationClayE5LiteralValvalueValueunValueKeyunKeysPrefixedPlain unPrefixedunPlainmergeplainquotecast cssDoubleText intercalatenoCommas!$fMonoidPrefixed$fIsStringPrefixed $fValNonEmpty$fVal[] $fValEither$fVal(,) $fValMaybe $fValValue $fValDouble $fValInteger $fValText $fValLiteral$fHasResolutionE5$fShowPrefixed $fEqPrefixed $fShowKey $fMonoidKey $fIsStringKey $fShowValue $fMonoidValue$fIsStringValue $fEqValue $fShowLiteral$fMonoidLiteral$fIsStringLiteralOtherotherUnsetunsetInitialinitialHiddenhiddenVisiblevisibleNormalnormalNonenoneInheritinheritCentercenterBaselinebaselineAutoautoAllallallValue autoValue baselineValue centerValue inheritValue normalValue noneValue visibleValue hiddenValue initialValue unsetValuebrowserscallfracMod decimalRound $fAllValue $fAutoValue$fBaselineValue $fCenterValue$fInheritValue $fNoneValue $fNormalValue$fVisibleValue $fHiddenValue$fInitialValue $fUnsetValue $fOtherValueColorRgbaHslargbargbhslahslgrayish transparentsetRsetGsetBsetAtoRgbatoHsla*.+.-.clamplightendarkenlerpparse aliceblue antiquewhiteaqua aquamarineazurebeigebisqueblackblanchedalmondblue bluevioletbrown burlywood cadetblue chartreuse chocolatecoralcornflowerbluecornsilkcrimsoncyandarkbluedarkcyan darkgoldenroddarkgray darkgreendarkgrey darkkhaki darkmagentadarkolivegreen darkorange darkorchiddarkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkvioletdeeppink deepskybluedimgraydimgrey dodgerblue firebrick floralwhite forestgreenfuchsia gainsboro ghostwhitegold goldenrodgraygreen greenyellowgreyhoneydewhotpink indianredindigoivorykhakilavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyanlightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskybluelightslategraylightslategreylightsteelblue lightyellowlime limegreenlinenmagentamaroonmediumaquamarine mediumblue mediumorchid mediumpurplemediumseagreenmediumslatebluemediumspringgreenmediumturquoisemediumvioletred midnightblue mintcream mistyrosemoccasin navajowhitenavyoldlaceolive olivedraborange orangeredorchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuffperupinkplum powderbluepurplered rosybrown royalblue saddlebrownsalmon sandybrownseagreenseashellsiennasilverskyblue slateblue slategray slategreysnow springgreen steelbluetantealthistletomato turquoisevioletwheatwhite whitesmokeyellow yellowgreen$fIsStringColor $fOtherColor$fInheritColor $fAutoColor $fNoneColor $fValColor $fShowColor $fEqColorSelector SelectorFFixInoutPathStarElemChildDeepAdjacentCombined RefinementunFilter PredicateIdClassAttrAttrVal AttrBeginsAttrEnds AttrContains AttrSpaceAttrHyphPseudo PseudoFunc PseudoElemstarelementdeep**child|>|+with#byIdbyClasspseudofuncattr@=^=$=*=~=|=refinementFromTextselectorFromText$fIsStringRefinement $fMonoidFix$fSemigroupFix $fIsStringFix $fEqPredicate$fOrdPredicate$fShowPredicate$fShowRefinement$fMonoidRefinement $fShowPath$fShowSelectorF $fShowFixabbrcitecommanddata_formlabelspanstyletitleaaddressareaarticleasideaudiobbasebdibdo blockquotebodybrbuttoncanvascaptioncodecolcolgroupdatalistdddeldetailsdfndialogdivdldtemembedfieldset figcaptionfigurefooterh1h2h3h4h5h6headheaderhgrouphrhtmliiframeimginputinskbdkeygenlegendlilinkmain_mapmarkmenumetametermathnavnoscriptobjectoloptgroupoptionoutputpparampreprogressqrprtrubyssampscriptsectionselectsmallsourcestrongsubsummarysupsvgtabletbodytdtemplatetextareatfootththeadtimetrtrackuulvarvideowbraccept acceptCharset accesskeyactionaltasync autocomplete autofocusautoplay challengecharsetcheckedclass_colscolspancontentcontenteditable contextmenucontrolscoords crossorigindatetimedefault_deferdirdirnamedisableddownload draggabledropzoneenctypefor formaction formenctype formmethodformnovalidate formtargetheadersheighthighhrefhreflang httpEquiviconidinert inputmodeismapitemiditempropitemref itemscopeitemtypekeytypekindlanglistlooplowmanifestmax maxlengthmedia mediagroupmethodminmultiplemutedname novalidateopenoptimumpatternping placeholderposterpreload radiogroupreadonlyrelrequiredreversedrowsrowspansandboxscopescopedseamlessselectedshapesizesizes spellchecksrcsrcdocsrclangsrcsetstartsteptabindextarget translatetype_ typemustmatchusemapwidthwrapCssStyleMSRulePropertyNestedQueryFaceKeyframeImport KeyframesAppSelfRootPopSubModifier ImportantComment CommentText unCommentTextFeature MediaQuery NotOrOnlyNotOnly MediaType _Important_CommentrunSrulekeyprefixed-:?