      - Returns: A font for item at the indexPath or nil for default font.
      */
     @objc optional func koyomi(_ koyomi: Koyomi, fontForItemAt indexPath: IndexPath, date: Date) -> UIFont?
-
+    
 }
 
 // MARK: - KoyomiStyle -
 
 public enum KoyomiStyle {
+    /// Custom tuple to define your own colors instead of using the built-in schemes
+    public typealias CustomColorScheme = (dayBackgrond: UIColor,
+        weekBackgrond: UIColor,
+        week: UIColor,
+        weekday: UIColor,
+        holiday: (saturday: UIColor, sunday: UIColor),
+        otherMonth: UIColor,
+        separator: UIColor)
+    
     // Basic color
     case monotone, standard, red, orange, yellow, tealBlue, blue, purple, green, pink
     // Deep color
     case deepBlack, deepRed, deepOrange, deepYellow, deepTealBlue, deepBlue, deepPurple, deepGreen, deepPink
+    // Custom
+    case custom(customColor: CustomColorScheme)
     
     var colors: Koyomi.Colors {
         switch self {

    case single(style: Style), multiple(style: Style), sequence(style: SequenceStyle), none
    
    public enum SequenceStyle { case background, circle, line, semicircleEdge }
    public enum Style { case background, circle, line }
}

// MARK: - ContentPosition -

            reloadData()
        }
    }
    
    public var inset: UIEdgeInsets = .zero {
        didSet {
            if let layout = collectionViewLayout as? KoyomiLayout, layout.inset != inset {
