root = Card([header, currentCard, forecastCard, sunCard])
header = CardHeader("Morning Weather Brief", "Bengaluru · Updated 6:00 AM")
currentCard = Card([currentTemp, currentCondTag, currentDetails, aqiTag], "sunk", "column", "xs", "center")
currentTemp = TextContent("24°C", "large-heavy")
currentCondTag = Tag("Partly cloudy", null, null, "info")
currentDetails = TextContent("Feels like 26°C · Humidity 64% · Wind 12 km/h W", "small")
aqiTag = Tag("AQI 42 · Good", null, null, "success")
forecastCard = Card([forecastHeading, forecastTable], "sunk")
forecastHeading = Heading("Next 3 days", "h3")
forecastTable = Table([dayCol, condCol, highCol, lowCol])
dayCol = Col("Day", ["Tue", "Wed", "Thu"])
condCol = Col("Conditions", ["Partly cloudy", "Light rain", "Thunderstorms"])
highCol = Col("High", [29, 27, 26])
lowCol = Col("Low", [21, 20, 20])
sunCard = Card([sunHeading, sunTable], "sunk")
sunHeading = Heading("Sunrise & sunset", "h3")
sunTable = Table([eventCol, timeCol])
eventCol = Col("Event", ["Sunrise", "Sunset"])
timeCol = Col("Time", ["6:09 AM", "6:25 PM"])