{
  "surface": [
    {
      "id": "trail-lens-surface-s1",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "surface"
        ],
        [
          "asphalt"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "match",
          [
            "get",
            "activity"
          ],
          "bike",
          "#5d6b7a",
          "hike",
          "#6b5a4a",
          [
            "match",
            [
              "get",
              "kind"
            ],
            [
              "cycleway",
              "cycle_onstreet",
              "track"
            ],
            "#5d6b7a",
            "#6b5a4a"
          ]
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ]
      }
    },
    {
      "id": "trail-lens-surface-s2",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "surface"
        ],
        [
          "fine_gravel",
          "compacted",
          "concrete",
          "paving_stones"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "match",
          [
            "get",
            "activity"
          ],
          "bike",
          "#5d6b7a",
          "hike",
          "#6b5a4a",
          [
            "match",
            [
              "get",
              "kind"
            ],
            [
              "cycleway",
              "cycle_onstreet",
              "track"
            ],
            "#5d6b7a",
            "#6b5a4a"
          ]
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              5.0,
              2.0
            ]
          ],
          14,
          [
            "literal",
            [
              6.0,
              1.6
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-surface-s3",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "surface"
        ],
        [
          "gravel",
          "paved"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "match",
          [
            "get",
            "activity"
          ],
          "bike",
          "#5d6b7a",
          "hike",
          "#6b5a4a",
          [
            "match",
            [
              "get",
              "kind"
            ],
            [
              "cycleway",
              "cycle_onstreet",
              "track"
            ],
            "#5d6b7a",
            "#6b5a4a"
          ]
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              2.6,
              2.2
            ]
          ],
          14,
          [
            "literal",
            [
              3.0,
              2.0
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-surface-s4",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "surface"
        ],
        [
          "cobblestone",
          "sett",
          "pebblestone",
          "wood",
          "metal",
          "grass_paver",
          "unpaved"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "match",
          [
            "get",
            "activity"
          ],
          "bike",
          "#5d6b7a",
          "hike",
          "#6b5a4a",
          [
            "match",
            [
              "get",
              "kind"
            ],
            [
              "cycleway",
              "cycle_onstreet",
              "track"
            ],
            "#5d6b7a",
            "#6b5a4a"
          ]
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              1.4,
              2.0
            ]
          ],
          14,
          [
            "literal",
            [
              1.5,
              1.6
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-surface-s5",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "surface"
        ],
        [
          "ground",
          "dirt",
          "earth",
          "grass",
          "sand",
          "mud",
          "clay",
          "rock",
          "stone"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "match",
          [
            "get",
            "activity"
          ],
          "bike",
          "#5d6b7a",
          "hike",
          "#6b5a4a",
          [
            "match",
            [
              "get",
              "kind"
            ],
            [
              "cycleway",
              "cycle_onstreet",
              "track"
            ],
            "#5d6b7a",
            "#6b5a4a"
          ]
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              0.1,
              2.4
            ]
          ],
          14,
          [
            "literal",
            [
              0.1,
              2.2
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-surface-untagged",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "any",
        [
          "!",
          [
            "has",
            "surface"
          ]
        ],
        [
          "==",
          [
            "get",
            "surface"
          ],
          "unknown"
        ]
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#9a9a9a",
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          1.6,
          13.0,
          2.2,
          14.0,
          2.8,
          16.0,
          3.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              3.4,
              1.8,
              0.3,
              1.8
            ]
          ],
          14,
          [
            "literal",
            [
              4.0,
              1.5,
              0.35,
              1.5
            ]
          ]
        ]
      }
    }
  ],
  "exposure": [
    {
      "id": "trail-lens-expo-casing-solid",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "expo"
        ],
        [
          "path",
          "divided"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "case",
          [
            "==",
            [
              "get",
              "expo"
            ],
            "path"
          ],
          "#167d3f",
          "#37474f"
        ],
        "line-opacity": 0.9,
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          4.4,
          16.0,
          6.2
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ]
      }
    },
    {
      "id": "trail-lens-expo-casing-lane",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "match",
        [
          "get",
          "expo"
        ],
        [
          "lane"
        ],
        true,
        false
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#37474f",
        "line-opacity": 0.95,
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          4.4,
          16.0,
          6.2
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              2.0,
              2.0
            ]
          ],
          14,
          [
            "literal",
            [
              2.0,
              2.0
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-expo-casing-unknown",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "!",
        [
          "has",
          "expo"
        ]
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#9a9a9a",
        "line-opacity": 0.8,
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          4.0,
          16.0,
          5.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              3.4,
              1.8,
              0.3,
              1.8
            ]
          ],
          14,
          [
            "literal",
            [
              4.0,
              1.5,
              0.35,
              1.5
            ]
          ]
        ]
      }
    },
    {
      "id": "trail-lens-expo-line",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "!=",
        [
          "coalesce",
          [
            "get",
            "expo"
          ],
          ""
        ],
        "blocked"
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": [
          "case",
          [
            "==",
            [
              "get",
              "expo"
            ],
            "blocked"
          ],
          "#7a0d0d",
          [
            "has",
            "vmax"
          ],
          [
            "match",
            [
              "get",
              "vmax"
            ],
            "30",
            "#4c9f38",
            "50",
            "#a8c520",
            "70",
            "#e0a021",
            "80",
            "#e06a1a",
            "90+",
            "#c0392b",
            "#9a9a9a"
          ],
          [
            "==",
            [
              "get",
              "expo"
            ],
            "path"
          ],
          "#167d3f",
          [
            "==",
            [
              "get",
              "expo"
            ],
            "calm"
          ],
          "#4c9f38",
          [
            "==",
            [
              "get",
              "expo"
            ],
            "moderate"
          ],
          "#e0a021",
          [
            "==",
            [
              "get",
              "expo"
            ],
            "fast"
          ],
          "#e06a1a",
          "#9a9a9a"
        ],
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "case",
            [
              "match",
              [
                "get",
                "expo"
              ],
              [
                "path",
                "divided",
                "lane"
              ],
              true,
              false
            ],
            3.0,
            2.0
          ],
          16,
          [
            "case",
            [
              "match",
              [
                "get",
                "expo"
              ],
              [
                "path",
                "divided",
                "lane"
              ],
              true,
              false
            ],
            4.2,
            2.8
          ]
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ]
      }
    },
    {
      "id": "trail-lens-expo-blocked",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "==",
        [
          "get",
          "expo"
        ],
        "blocked"
      ],
      "layout": {
        "line-cap": "round",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#7a0d0d",
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          3.4,
          16.0,
          4.8
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ]
      }
    },
    {
      "id": "trail-lens-expo-blocked-hatch",
      "type": "line",
      "source": "trails",
      "source-layer": "trail",
      "minzoom": 12,
      "filter": [
        "==",
        [
          "get",
          "expo"
        ],
        "blocked"
      ],
      "layout": {
        "line-cap": "butt",
        "line-join": "round"
      },
      "paint": {
        "line-color": "#ffdede",
        "line-width": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12.0,
          5.4,
          16.0,
          7.6
        ],
        "line-offset": [
          "interpolate",
          [
            "linear"
          ],
          [
            "zoom"
          ],
          12,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            2.6
          ],
          13,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            3.5
          ],
          16,
          [
            "*",
            [
              "coalesce",
              [
                "get",
                "lane_off"
              ],
              0
            ],
            4.8
          ]
        ],
        "line-dasharray": [
          "step",
          [
            "zoom"
          ],
          [
            "literal",
            [
              0.22,
              0.62
            ]
          ],
          14,
          [
            "literal",
            [
              0.22,
              0.62
            ]
          ]
        ]
      }
    }
  ]
}
