@startuml override-skin
!include ./colors.puml
' uncomment the following line and comment the first to use locally
'!include ./colors.puml




skinparam wrapWidth 200
skinparam maxMessageSize 150
skinparam ComponentStyle uml2
skinparam Shadowing false

skinparam Default {
    FontName "'Input Mono','Microsoft YaHei Mono',Menlo, Monaco, 'Courier New', monospace"
    FontColor Black
    FontSize  14
    FontStyle plain
    Shadowing false
    TextAlignment center
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Note {
    'FontStyle bold
    BackgroundColor NOTE_BG_COLOR
    BorderColor NOTE_BORDER_COLOR
    BorderThickness 1
    FontColor White
    Shadowing false
    TextAlignment left
}

skinparam Note<<quit>> {

    BackgroundColor NOTE_Q_BG_COLOR
    BorderColor NOTE_Q_BORDER_COLOR
}

skinparam Sequence {
    'ArrowThickness 1
    'ArrowColor Red
    ActorBorderThickness 1
    LifeLineBorderColor GREEN
    ParticipantBorderThickness 0
    Shadowing false


    'GroupBodyBackgroundColor
    GroupBorderThickness 1
    GroupBorderColor MD_BLUE_800
    GroupBackgroundColor MD_BLUE_100
}

skinparam Activity {

    StartColor Green
    EndColor Red
    AttributeFontColor white
    AttributeFontSize  15
    AttributeFontname  Droid Sans Mono

    BackgroundColor MD_BLUE_100
    BorderColor MD_BLUE_200
    BorderThickness 1

    ArrowThickness 1


    BarColor   MD_BLUE_900


    DiamondBackgroundColor   MD_ORANGE_100
    DiamondBorderColor    MD_ORANGE_200
    'DiamondFontColor
    'DiamondFontName
    'DiamondFontSize
    'DiamondFontStyle

    'FontColor
    'FontName
    'FontSize
    'FontStyle

}

skinparam Class {
    BackgroundColor MD_BLUE_50
    BorderColor MD_BLUE_300
    BorderThickness 1
    'FontColor
    'FontName
    'FontSize 14
    'FontStyle
    'AttributeFontColor MD_DORANGE_A700
    'AttributeFontName
    'AttributeFontSize
    'AttributeFontStyle
    'AttributeIconSize 8


    'HeaderBackgroundColor
    StereotypeFontColor DC_7
    'StereotypeFontName
    StereotypeFontSize 14
    'StereotypeFontStyle  
}



skinparam Interface {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
    'BorderThickness
    'FontColor
    'FontName
    FontSize 14
    'FontStyle
    'AttributeFontColor MD_DORANGE_A700
    'AttributeFontName
    'AttributeFontSize
    'AttributeFontStyle
    'AttributeIconSize 8


    'HeaderBackgroundColor
    StereotypeFontColor DC_7
    'StereotypeFontName
    StereotypeFontSize 1
    'StereotypeFontStyle
}



skinparam Participant {
    BackgroundColor EL_BG_COLOR_800
    BorderColor EL_BORDER_COLOR_800
    FontColor White
    Shadowing false
}

skinparam Actor {
    BackgroundColor EL_BG_COLOR_800
    BorderColor EL_BORDER_COLOR_800
    Shadowing false
}

skinparam UseCase {
    BackgroundColor EL_BG_COLOR_300
    BorderColor EL_BG_COLOR_300
    Shadowing false
    'BackgroundColor<<Main>> YellowGreen
    'BorderColor<<Main>> YellowGreen
    'FontColor White
    ArrowThickness 1
    ArrowColor EL_BORDER_COLOR_800

    ActorBackgroundColor EL_BG_COLOR_800
    ActorBorderColor MD_BLUE_900
    ActorShadowing false
 
}


skinparam State {
    'FontColor          MD_BLUE_600   
    FontSize           17

    'AttributeFontColor MD_BLUE_300
    AttributeFontSize  14
    'AttributeFontname  Droid Sans Mono
    
    BackgroundColor    MD_BLUE_100
    BorderColor        MD_BLUE_200
    StartColor Green
    EndColor Red
}

skinparam Partition {
    BorderColor MD_GRAY_800
    BorderStyle dashed
    'BackgroundColor

    BorderThickness 1
    'FontColor
    'FontName
    'FontSize
    'FontStyle
}

skinparam rectangle {
    StereotypeFontSize 12
    shadowing false
}

skinparam database {
    StereotypeFontSize 12
    shadowing false
}

skinparam Queue {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Agent {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Artifact {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Boundary {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Card {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Cloud {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Component {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Control {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Database {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Entity {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam File {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Folder {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
   
}
skinparam Frame {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}
skinparam Node {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}


skinparam Package {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
    'BorderStyle dashed
}
skinparam Stack {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Rectangle {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam Storage {
    BackgroundColor MD_BLUE_50
    BorderColor MD_GRAY_800
}

skinparam rectangle<<usercase>> {
    Shadowing false
    StereotypeFontSize 0
    FontColor MD_GRAY_800
    BorderColor MD_GRAY_800
    BorderStyle dashed
    BackgroundColor White
}


@enduml