''
'' A simple black on white theme (with blue hyperlinks)
''
'' Original Author: Matthew Leather
''

!$THEME = "plain"

!if %not(%variable_exists("$BGCOLOR"))
  !$BGCOLOR = "white"
!endif

!if %not(%variable_exists("$FGCOLOR"))
  !$FGCOLOR = "black"
!endif

!if %not(%variable_exists("$HYPERLINK_COLOR"))
  !$HYPERLINK_COLOR = "blue"
!endif

!ifndef $FONT_NAME
  !$FONT_NAME = "Verdana"
!endif

!ifndef $FONT_NAME_MONOSPACED
  !$FONT_NAME_MONOSPACED = "Courier"
!endif

<style>
  root {
    BackgroundColor $BGCOLOR
    FontColor $FGCOLOR
    FontName $FONT_NAME
    HyperLinkColor $HYPERLINK_COLOR
    LineColor $FGCOLOR
    LineThickness 1
    Margin 5
  }
  caption {
    LineThickness 0
  }
  footer {
    LineThickness 0
  }
  header {
    LineThickness 0
  }
  node {
    MaximumWidth 300
  }
  title {
    FontSize 22
    LineThickness 0
  }
</style>

skinparam ArrowLollipopColor $FGCOLOR
skinparam BackgroundColor $BGCOLOR
skinparam DefaultFontName $FONT_NAME
skinparam DefaultMonospacedFontName $FONT_NAME_MONOSPACED
skinparam LifelineStrategy nosolid
skinparam ParticipantPadding 10
skinparam SequenceLifeLineBorderColor $FGCOLOR
skinparam Shadowing false
skinparam UseBetaStyle true

skinparam Activity {
  BackgroundColor $BGCOLOR
  BarColor $FGCOLOR
  BorderColor $FGCOLOR
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam Boundary {
  FontColor $FGCOLOR
}
skinparam Box {
  Padding 5
}
skinparam CircledCharacter {
  FontColor $FGCOLOR
  FontName $FONT_NAME_MONOSPACED
  Radius 9
}
skinparam Class {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam ClassAttribute {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam ClassStereotype {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam Footer {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam Header {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam Hyperlink {
  Color $HYPERLINK_COLOR
}
skinparam IconPackage {
  Color $FGCOLOR
  BackgroundColor $BGCOLOR
}
skinparam IconPrivate {
  Color $FGCOLOR
  BackgroundColor $BGCOLOR
}
skinparam IconProtected {
  Color $FGCOLOR
  BackgroundColor $BGCOLOR
}
skinparam IconPublic {
  Color $FGCOLOR
  BackgroundColor $BGCOLOR
}
skinparam Note {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam Object {
  BorderColor $FGCOLOR
}
skinparam Package {
  BorderColor $FGCOLOR
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
skinparam State {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam StereotypeA {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam StereotypeC {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam StereotypeE {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam StereotypeI {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam StereotypeN {
  BackgroundColor $BGCOLOR
  BorderColor $FGCOLOR
}
skinparam UseCaseStereoType {
  FontColor $FGCOLOR
  FontName $FONT_NAME
}
