diff --git a/.Rbuildignore b/.Rbuildignore
new file mode 100644
index 0000000..0c1c641
--- /dev/null
+++ b/.Rbuildignore
@@ -0,0 +1,4 @@
+^.*\.Rproj$
+^\.Rproj\.user$
+LICENSE.md
+Readme.md
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f51ef92
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+.Rproj.user
+.Rhistory
+.RData
+.Ruserdata
+cache/
diff --git a/DESCRIPTION b/DESCRIPTION
new file mode 100644
index 0000000..278759b
--- /dev/null
+++ b/DESCRIPTION
@@ -0,0 +1,22 @@
+Package: idsThemeR
+Type: Package
+Title: Plot themes for the Leibniz Institute for the German Language (IDS)
+Version: 0.1.0
+Authors@R:
+    c(person(given = "Marc",
+             family = "Kupietz",
+             role = c("aut", "cre"),
+             email = "kupietz@ids-mannheim.de"))
+Maintainer: Marc Kupietz <kupietz@ids-mannheim.de>
+Description: The package provides a collection themes for different plotting libraries, following the corporate design of the Leibniz Institute for the German Language (IDS) in Mannheim (Germany).
+License: BSD_2_clause + file LICENSE
+Encoding: UTF-8
+LazyData: true
+Imports:
+  tidyverse,
+  highcharter,
+  magrittr,
+  RKorAPClient
+Collate:
+  'highcharter-themes.R'
+RoxygenNote: 7.1.1
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..36f5be7
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,2 @@
+YEAR: 2020
+COPYRIGHT HOLDER: Leibniz Institute for the German Language
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..357eee7
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,25 @@
+# BSD-2-Clause License
+
+Copyright (c) 2020 Leibniz Institute for the German Language
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/NAMESPACE b/NAMESPACE
new file mode 100644
index 0000000..b10031b
--- /dev/null
+++ b/NAMESPACE
@@ -0,0 +1,8 @@
+# Generated by roxygen2: do not edit by hand
+
+export(hc_theme_ids_dark)
+export(hc_theme_ids_light)
+export(hc_theme_ids_mono)
+import(highcharter)
+import(tidyverse)
+importFrom(magrittr,"%>%")
diff --git a/R/highcharter-themes.R b/R/highcharter-themes.R
new file mode 100644
index 0000000..7cafeb2
--- /dev/null
+++ b/R/highcharter-themes.R
@@ -0,0 +1,287 @@
+#' Dark IDS theme for \link[highcharter]{highcharter}
+#'
+#' @param fontFamily              font family        
+#' @param fontSize                default font size
+#' @param textColor               default text color
+#' @param lowContrastColor        color with low contrast to background 
+#' @param highContrastColor       color with high contrast to background 
+#' @param palette                 array of colors to be used for different series 
+#' @param backgroundColor         background color
+#' @param titleColor              color of the title text
+#' @param subtitleColor           color of the subtitle text
+#' @param gridLineColor           color of grid lines
+#' @param axisLabelColor          color of the axis labels
+#' @param axisLineColor           color of the axis lines
+#' @param minorGridLineColor      color of minor grid lines
+#' @param tickColor               color of axis ticks
+#' @param axisTitleColor          color of axis titles
+#' @param tooltipBackgroundColor  background color for tool tips
+#' @param tooltipColor            foreground color for tool tips
+#' @param dataLabelColor          color of data point labels
+#' @param boxplotFillColor        color for box plot fills
+#' @param candlestickColor        color the candle stick part of error bars
+#' @param errorbarColor           error bar color
+#' @param legendColor             series legend label color
+#' @param legendHoverColor        mouse over series legend label color
+#' @param legendHiddenColor       hidden series legend label color
+#' @param creditsColor            color of the credits
+#' @param burgerMenuBackground    burger menu background color
+#' @param ... named arguments to modify the theme
+#'
+#' @importFrom magrittr %>%
+#' @import tidyverse
+#' @import highcharter
+#'
+#' @examples
+#' library(tidyverse)
+#' library(highcharter)
+#' highcharts_demo() %>%
+#'   hc_add_theme(hc_theme_ids_dark())
+#' @export
+hc_theme_ids_dark <-
+  function(fontFamily = "Fira Sans Condensed",
+           fontSize = "medium",
+           textColor = "#E0E0E3",
+           lowContrastColor = "#707073",
+           highContrastColor = "#F0F0F3",
+           palette = c(
+             '#EB7C31',
+             "#1F77B4",
+             "#2CA02C",
+             "#D62728",
+             "#9467BD",
+             "#8C564B",
+             "#E377C2",
+             "#7F7F7F",
+             "#BCBD22",
+             "#17BECF",
+             "#AEC7E8",
+             "#FFBB78",
+             "#98DF8A",
+             "#FF9896",
+             "#C5B0D5",
+             "#C49C94",
+             "#F7B6D2",
+             "#C7C7C7",
+             "#DBDB8D",
+             "#9EDAE5"
+           ),
+           backgroundColor = list(linearGradient = list(
+             x1 = 0,
+             y1 = 1,
+             x2 = 1,
+             y2 = 0
+           ),
+           stops = list(list(0, "#2a2a2b"),
+                        list(1, "#3e3e3e"))),
+           titleColor = textColor,
+           subtitleColor = titleColor,
+           gridLineColor = lowContrastColor,
+           axisLabelColor = textColor,
+           axisLineColor = lowContrastColor,
+           minorGridLineColor = "#505053",
+           tickColor = lowContrastColor,
+           axisTitleColor = axisLabelColor,
+           tooltipBackgroundColor = "rgba(0, 0, 0, 0.85)",
+           tooltipColor = textColor,
+           dataLabelColor = textColor,
+           boxplotFillColor = "#505053",
+           candlestickColor = highContrastColor,
+           errorbarColor = candlestickColor,
+           legendColor = textColor,
+           legendHoverColor = highContrastColor,
+           legendHiddenColor = lowContrastColor,
+           creditsColor = lowContrastColor,
+           burgerMenuBackground = backgroundColor,
+           ...) {
+    theme <-
+      list(
+        colors = palette,
+        chart = list(
+          backgroundColor = backgroundColor,
+          style = list(fontFamily = fontFamily,
+                       fontSize = fontSize),
+          plotBorderColor = "#606063"
+        ),
+        title = list(style = list(color = titleColor,
+                                  fontWeight = "600",
+                                  fontSize = "x-large")),
+        subtitle = list(style = list(color = subtitleColor,
+                                     fontSize = "large")),
+        xAxis = list(
+          gridLineColor = gridLineColor,
+          labels = list(style = list(color = axisLabelColor,
+                                     fontSize = "medium")),
+          lineColor = axisLineColor,
+          minorGridLineColor = minorGridLineColor,
+          tickColor = tickColor,
+          title = list(style = list(color = axisTitleColor,
+                                    fontSize = "medium"))
+        ),
+        yAxis = list(
+          gridLineColor = gridLineColor,
+          labels = list(style = list(color = axisLabelColor,
+                                     fontSize = "medium")),
+          lineColor = axisLineColor,
+          minorGridLineColor = minorGridLineColor,
+          tickColor = tickColor,
+          tickWidth = 1,
+          title = list(style = list(color = axisTitleColor,
+                                    fontSize = "medium"))
+        ),
+        tooltip = list(
+          backgroundColor = tooltipBackgroundColor,
+          style = list(color = tooltipColor,
+                       fontSize = "medium")
+        ),
+        plotOptions = list(
+          series = list(
+            dataLabels = list(color = dataLabelColor,
+                              fontSize = "medium"),
+            marker = list(lineColor = "#333")
+          ),
+          boxplot = list(fillColor = boxplotFillColor),
+          candlestick = list(lineColor = candlestickColor),
+          errorbar = list(color = errorbarColor)
+        ),
+        legend = list(
+          itemStyle = list(fontSize = "medium",
+                           color = legendColor),
+          itemHoverStyle = list(color = legendHoverColor),
+          itemHiddenStyle = list(color = legendHiddenColor)
+        ),
+        credits = list(style = list(color = creditsColor)),
+        labels = list(style = list(color = "#707073")),
+        
+        drilldown = list(
+          activeAxisLabelStyle = list(color = "#F0F0F3"),
+          activeDataLabelStyle = list(color = "#F0F0F3")
+        ),
+        
+        navigation = list(buttonOptions = list(
+          symbolStroke = "#DDDDDD",
+          theme = list(fill = burgerMenuBackground)
+        )),
+        
+        rangeSelector = list(
+          buttonTheme = list(
+            fill = "#505053",
+            stroke = "#000000",
+            style = list(color = "#CCC"),
+            states = list(
+              hover = list(
+                fill = "#707073",
+                stroke = "#000000",
+                style = list(color = "white")
+              ),
+              select = list(
+                fill = "#000003",
+                stroke = "#000000",
+                style = list(color = "white")
+              )
+            )
+          ),
+          inputBoxBorderColor = "#505053",
+          inputStyle = list(backgroundColor = "#333",
+                            color = "silver"),
+          labelStyle = list(color = "silver")
+        ),
+        
+        navigator = list(
+          handles = list(backgroundColor = "#666",
+                         borderColor = "#AAA"),
+          maskFill = "rgba(255,255,255,0.1)",
+          series = list(color = "#7798BF",
+                        lineColor = "#A6C7ED"),
+          xAxis = list(gridLineColor = "#505053")
+        ),
+        
+        scrollbar = list(
+          barBackgroundColor = "#808083",
+          barBorderColor = "#808083",
+          buttonArrowColor = "#CCC",
+          buttonBackgroundColor = "#606063",
+          buttonBorderColor = "#606063",
+          rifleColor = "#FFF",
+          trackBackgroundColor = "#404043",
+          trackBorderColor = "#404043"
+        ),
+        
+        legendBackgroundColor = "rgba(0, 0, 0, 0)",
+        background2 = "#233238",
+        dataLabelsColor = "#233238",
+        textColor = "#34495e",
+        maskColor = "rgba(255,255,255,0.3)",
+        contrastTextColor = highContrastColor
+      )
+    
+    theme <- structure(theme, class = "hc_theme")
+    
+    if (length(list(...)) > 0) {
+      theme <- hc_theme_merge(theme,
+                              hc_theme(...))
+    }
+    
+    theme
+  }
+
+#' Light IDS theme for \link[highcharter]{highcharter}
+#'
+#' See \code{\link{hc_theme_ids_dark}} for further documentation.
+#'
+#' @param ... named arguments to modify the theme
+#' 
+#' @importFrom magrittr %>%
+#' @import tidyverse
+#' @import highcharter
+#'
+#' @examples
+#' library(tidyverse)
+#' library(highcharter)
+#' highcharts_demo() %>%
+#'   hc_add_theme(hc_theme_ids_light())
+#' @export
+hc_theme_ids_light <- function(...) {
+  hc_theme_ids_dark(
+    backgroundColor = "#ffffff",
+    textColor = "#383838",
+    highContrastColor = "#101013",
+    lowContrastColor = "#E0E0E3",
+    tooltipBackgroundColor = "#ffffffe0",
+    boxplotFillColor = "#505053",
+    candlestickColor = "black",
+    errorbarColor = "black"
+  )
+}
+
+#' Monochrome IDS theme for \link[highcharter]{highcharter}
+#'
+#' See \code{\link{hc_theme_ids_dark}} for further documentation.
+#'
+#' @param ... named arguments to modify the theme
+#' 
+#' @importFrom magrittr %>%
+#' @import tidyverse
+#' @import highcharter
+#'
+#' @examples
+#' library(tidyverse)
+#' library(highcharter)
+#' highcharts_demo() %>%
+#'   hc_add_theme(hc_theme_ids_mono())
+#' @export
+hc_theme_ids_mono <- function(...) {
+  hc_theme_ids_dark(
+    palette = c(
+      "#000000", "#B2B0AD", "#737373", "#D8D7D6", "#B2B0AD", "#8C8984"
+    ),
+    backgroundColor = "white",
+    textColor = "black",
+    highContrastColor = "black",
+    lowContrastColor = "#A0A0A3",
+    tooltipBackgroundColor = "white",
+    boxplotFillColor = "#505053",
+    candlestickColor = "grey",
+    errorbarColor = "grey"
+  )
+}
diff --git a/Readme.md b/Readme.md
new file mode 100644
index 0000000..0ceaee4
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,61 @@
+# Plot themes for the Leibniz Institute for the German Language (IDS)
+---
+
+## Description
+The package provides a collection themes for different plotting libraries, following the corporate design of the Leibniz Institute for the German Language (IDS) in Mannheim (Germany).
+
+## Installation
+```R
+library(devtools)
+install_git("https://korap.ids-mannheim.de/gerrit/IDS-Mannheim/idsThemeR") 
+```
+
+## Examples
+### Hello world
+
+```R
+library(tidyverse)
+library(highcharter)
+library(idsThemeR)
+highcharts_demo() %>%
+   hc_add_theme(hc_theme_ids_light())
+```
+![](man/figures/Readme-Example-1.png)<!-- -->
+
+## Demos
+
+More elaborate R scripts demonstrating the use of the package can be found in the [demo](demo) folder.
+
+## Development and License
+### RKorAPClient
+
+**Authors**: [Marc Kupietz](http://www1.ids-mannheim.de/zfo/personal/kupietz/)
+
+Copyright (c) 2020, [Leibniz Institute for the German Language](http://www.ids-mannheim.de/), Mannheim, Germany
+
+This package is developed as part of the [KorAP](http://korap.ids-mannheim.de/)
+Corpus Analysis Platform at the Leibniz Institute for German Language
+([IDS](http://www.ids-mannheim.de/)).
+
+It is published under the
+[BSD-2 License](LICENSE.md).
+
+### Further Affected Licenses and Terms of Services
+
+#### Highcharts
+idsThemeR imports  the [highcharter package](https://cran.r-project.org/package=highcharter) which has a dependency on Highcharts, a commercial JavaScript charting library. Highcharts offers both a commercial license as well as a free non-commercial license. Please review the licensing options and terms before using the highcharter plot options, as the `idsThemeR` license neither provides nor implies a license for Highcharts.
+
+[Highcharts](http://highcharts.com) is a Highsoft product which is not free for commercial and governmental use.
+
+## Contributions
+
+Contributions are very welcome!
+
+Your contributions should ideally be committed via our [Gerrit server](https://korap.ids-mannheim.de/gerrit/)
+to facilitate reviewing (see [Gerrit Code Review - A Quick Introduction](https://korap.ids-mannheim.de/gerrit/Documentation/intro-quick.html)
+if you are not familiar with Gerrit). However, we are also happy to accept comments and pull requests
+via GitHub.
+
+Please note that unless you explicitly state otherwise any
+contribution intentionally submitted for inclusion into this software shall –
+as this software itself – be under the [BSD-2 License](LICENSE.md).
diff --git a/demo/00Index b/demo/00Index
new file mode 100644
index 0000000..4181e91
--- /dev/null
+++ b/demo/00Index
@@ -0,0 +1 @@
+highcharter-boxplot       Highcharts boxplot with light theme
diff --git a/demo/highcharter-boxplot.R b/demo/highcharter-boxplot.R
new file mode 100644
index 0000000..c56120e
--- /dev/null
+++ b/demo/highcharter-boxplot.R
@@ -0,0 +1,32 @@
+library(RKorAPClient)
+library(highcharter)
+library(idsThemeR)
+
+df <- new("KorAPConnection", verbose = TRUE) %>%
+  frequencyQuery("sozusagen/i", vc = c("corpusSigle=FOLK", "corpusSigle!=FOLK")) %>%
+  ipm() %>%
+  mutate(corpus = c("FOLK", "DeReKo"))
+
+hc <- highchart() %>%
+  hc_add_theme(hc_theme_ids_light()) %>%
+  hc_add_series(type = "column", data = df, hcaes(corpus, ipm)) %>%
+  hc_add_series(
+    data = df,
+    hcaes(
+      x = corpus,
+      y = ipm,
+      low = conf.low,
+      high = conf.high
+    ),
+    type = "errorbar",
+    stemWidth = 2,
+    whiskerWidth = 2,
+    whiskerLength = 30
+  ) %>%
+  hc_yAxis(title=list(text="IPM")) %>%
+  hc_xAxis(categories = c("FOLK-excerpt", "DeReKo")) %>%
+  hc_legend(enabled = FALSE) %>%
+  hc_title(text = "Frequency of 'sozusagen' in FOLK (excerpt) vs. DeReKo")
+
+
+print(hc)
diff --git a/idsTheme.Rproj b/idsTheme.Rproj
new file mode 100644
index 0000000..270314b
--- /dev/null
+++ b/idsTheme.Rproj
@@ -0,0 +1,21 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: Sweave
+LaTeX: pdfLaTeX
+
+AutoAppendNewline: Yes
+StripTrailingWhitespace: Yes
+
+BuildType: Package
+PackageUseDevtools: Yes
+PackageInstallArgs: --no-multiarch --with-keep.source
+PackageRoxygenize: rd,collate,namespace
diff --git a/man/figures/Readme-Example-1.png b/man/figures/Readme-Example-1.png
new file mode 100644
index 0000000..71b36bd
--- /dev/null
+++ b/man/figures/Readme-Example-1.png
Binary files differ
diff --git a/man/hc_theme_ids_dark.Rd b/man/hc_theme_ids_dark.Rd
new file mode 100644
index 0000000..2620594
--- /dev/null
+++ b/man/hc_theme_ids_dark.Rd
@@ -0,0 +1,103 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/highcharter-themes.R
+\name{hc_theme_ids_dark}
+\alias{hc_theme_ids_dark}
+\title{Dark IDS theme for \link[highcharter]{highcharter}}
+\usage{
+hc_theme_ids_dark(
+  fontFamily = "Fira Sans Condensed",
+  fontSize = "medium",
+  textColor = "#E0E0E3",
+  lowContrastColor = "#707073",
+  highContrastColor = "#F0F0F3",
+  palette = c("#EB7C31", "#1F77B4", "#2CA02C", "#D62728", "#9467BD", "#8C564B",
+    "#E377C2", "#7F7F7F", "#BCBD22", "#17BECF", "#AEC7E8", "#FFBB78", "#98DF8A",
+    "#FF9896", "#C5B0D5", "#C49C94", "#F7B6D2", "#C7C7C7", "#DBDB8D", "#9EDAE5"),
+  backgroundColor = list(linearGradient = list(x1 = 0, y1 = 1, x2 = 1, y2 = 0), stops =
+    list(list(0, "#2a2a2b"), list(1, "#3e3e3e"))),
+  titleColor = textColor,
+  subtitleColor = titleColor,
+  gridLineColor = lowContrastColor,
+  axisLabelColor = textColor,
+  axisLineColor = lowContrastColor,
+  minorGridLineColor = "#505053",
+  tickColor = lowContrastColor,
+  axisTitleColor = axisLabelColor,
+  tooltipBackgroundColor = "rgba(0, 0, 0, 0.85)",
+  tooltipColor = textColor,
+  dataLabelColor = textColor,
+  boxplotFillColor = "#505053",
+  candlestickColor = highContrastColor,
+  errorbarColor = candlestickColor,
+  legendColor = textColor,
+  legendHoverColor = highContrastColor,
+  legendHiddenColor = lowContrastColor,
+  creditsColor = lowContrastColor,
+  burgerMenuBackground = backgroundColor,
+  ...
+)
+}
+\arguments{
+\item{fontFamily}{font family}
+
+\item{fontSize}{default font size}
+
+\item{textColor}{default text color}
+
+\item{lowContrastColor}{color with low contrast to background}
+
+\item{highContrastColor}{color with high contrast to background}
+
+\item{palette}{array of colors to be used for different series}
+
+\item{backgroundColor}{background color}
+
+\item{titleColor}{color of the title text}
+
+\item{subtitleColor}{color of the subtitle text}
+
+\item{gridLineColor}{color of grid lines}
+
+\item{axisLabelColor}{color of the axis labels}
+
+\item{axisLineColor}{color of the axis lines}
+
+\item{minorGridLineColor}{color of minor grid lines}
+
+\item{tickColor}{color of axis ticks}
+
+\item{axisTitleColor}{color of axis titles}
+
+\item{tooltipBackgroundColor}{background color for tool tips}
+
+\item{tooltipColor}{foreground color for tool tips}
+
+\item{dataLabelColor}{color of data point labels}
+
+\item{boxplotFillColor}{color for box plot fills}
+
+\item{candlestickColor}{color the candle stick part of error bars}
+
+\item{errorbarColor}{error bar color}
+
+\item{legendColor}{series legend label color}
+
+\item{legendHoverColor}{mouse over series legend label color}
+
+\item{legendHiddenColor}{hidden series legend label color}
+
+\item{creditsColor}{color of the credits}
+
+\item{burgerMenuBackground}{burger menu background color}
+
+\item{...}{named arguments to modify the theme}
+}
+\description{
+Dark IDS theme for \link[highcharter]{highcharter}
+}
+\examples{
+library(tidyverse)
+library(highcharter)
+highcharts_demo() \%>\%
+  hc_add_theme(hc_theme_ids_dark())
+}
diff --git a/man/hc_theme_ids_light.Rd b/man/hc_theme_ids_light.Rd
new file mode 100644
index 0000000..fec68e2
--- /dev/null
+++ b/man/hc_theme_ids_light.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/highcharter-themes.R
+\name{hc_theme_ids_light}
+\alias{hc_theme_ids_light}
+\title{Light IDS theme for \link[highcharter]{highcharter}}
+\usage{
+hc_theme_ids_light(...)
+}
+\arguments{
+\item{...}{named arguments to modify the theme}
+}
+\description{
+See \code{\link{hc_theme_ids_dark}} for further documentation.
+}
+\examples{
+library(tidyverse)
+library(highcharter)
+highcharts_demo() \%>\%
+  hc_add_theme(hc_theme_ids_light())
+}
diff --git a/man/hc_theme_ids_mono.Rd b/man/hc_theme_ids_mono.Rd
new file mode 100644
index 0000000..5ce70cb
--- /dev/null
+++ b/man/hc_theme_ids_mono.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/highcharter-themes.R
+\name{hc_theme_ids_mono}
+\alias{hc_theme_ids_mono}
+\title{Monochrome IDS theme for \link[highcharter]{highcharter}}
+\usage{
+hc_theme_ids_mono(...)
+}
+\arguments{
+\item{...}{named arguments to modify the theme}
+}
+\description{
+See \code{\link{hc_theme_ids_dark}} for further documentation.
+}
+\examples{
+library(tidyverse)
+library(highcharter)
+highcharts_demo() \%>\%
+  hc_add_theme(hc_theme_ids_mono())
+}
