{-# LANGUAGE OverloadedStrings #-} import Clay import qualified Data.Text.Lazy.IO as T import qualified Body import qualified Color import qualified Header import qualified IconLink import qualified Media import qualified Project import qualified Resume import qualified Section import qualified Skills main :: IO () main = T.putStrLn . renderWith compact [] $ do appearKeyframes body ? do overflowX hidden color Color.black margin (px 0) (px 0) (px 40) (px 0) Media.mobile $ fontSize (px 16) Media.tabletDesktop $ fontSize (px 18) ".Main__Container" ? do animationName "appear" animationDuration (sec 0.2) animationTimingFunction easeIn animationIterationCount (iterationCount 1.0) svg ? do width inherit height inherit ul ? do listStyleType none paddingLeft (px 0) Body.style Header.style IconLink.style Project.style Resume.style Section.style Skills.style appearKeyframes :: Css appearKeyframes = keyframes "appear" [ (0, do "transform" -: "translateX(10px)" opacity 0 ) , (100, "transform" -: "translateX(0px)") ]