public static DocumentBuilder AddAfterschoolAgreement(this DocumentBuilder builder)
        {
            var            imageDir    = Path.Combine(Directory.GetCurrentDirectory(), "Content", "Images", "AfterschoolAgreement");
            var            checkboxUrl = Path.Combine(imageDir, "Checkbox.png");
            var            logoUrl     = Path.Combine(imageDir, "SchoolLogo.jpg");
            SectionBuilder section     = builder.AddSection()
                                         .SetSize(PaperSize.Letter)
                                         .SetOrientation(PageOrientation.Portrait);

            // HEADER BLOCK
            section.AddTable()
            .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None))
            .AddColumnToTable("", 52)
            .AddColumnToTable("", XUnit.FromPercent(40))
            .AddColumnToTable("", XUnit.FromPercent(60))
            .AddRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Left)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddImageToCell(logoUrl, 65, 45, ScalingMode.UserDefined)
            .ToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .SetFontSize(12)
            .AddParagraph("AFTERSCHOOL")
            .SetBold()
            .ToCell()
            .AddParagraphToCell("BANK DRAFT FORM")
            .ToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraphToCell("REGISTRATION PACKET  PG. 4 of 4")
            .SetBackColor(Color.Black)
            .SetFont(Fonts.Courier(12).SetColor(Color.White).SetBold())
            .ToTable();

            // TITLE BLOCK
            section.AddParagraph("BEST SCHOOL of Twin Peaks ")
            .SetMarginTop(5)
            .SetBold()
            .SetFontColor(Color.Gray)
            .SetFontSize(12)
            .AddText("Afterschool ")
            .SetFontColor(Color.Black)
            .ToParagraph()
            .AddTextToParagraph("Agreement ACH/CC Automatic Payment Option");

            // STEP 1 BLOCK
            section.AddParagraph("STEP #1")
            .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f))
            .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold());
            section.AddParagraph()
            .SetMarginLeft(0)
            .SetBorderWidth(0)
            .SetFontSize(4)
            .AddTabSymbol()
            .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine);
            section.AddParagraph()
            .SetFontSize(6)
            .AddTextToParagraph("CHILD'S FIRST NAME")
            .AddTabSymbol()
            .AddTextToParagraph("MIDDLE INITIAL")
            .AddTabSymbol()
            .AddTextToParagraph("LAST NAME")
            .AddTabulationInPercent(35, TabulationType.Left)
            .AddTabulationInPercent(65, TabulationType.Left);
            section.AddParagraph()
            .SetMarginLeft(0)
            .SetMarginTop(15)
            .SetBorderWidth(0)
            .SetFontSize(6)
            .AddTabSymbol()
            .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine);
            section.AddParagraph()
            .SetFontSize(6)
            .AddTextToParagraph("PHONE NUMBER (DAY)")
            .AddTabSymbol()
            .AddTextToParagraph("PHONE NUMBER (EVENING)")
            .AddTabulationInPercent(65, TabulationType.Left);
            section.AddParagraph()
            .SetMarginLeft(0)
            .SetMarginTop(15)
            .SetBorderWidth(0)
            .SetFontSize(6)
            .AddTabSymbol()
            .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine);
            section.AddParagraph()
            .SetFontSize(6)
            .AddTextToParagraph("CHILD'S SCHOOL")
            .AddTabSymbol()
            .AddTextToParagraph("CHILD'S ADDRESS")
            .AddTabSymbol()
            .AddTextToParagraph("CITY")
            .AddTabSymbol()
            .AddTextToParagraph("STATE")
            .AddTabSymbol()
            .AddTextToParagraph("ZIP")
            .AddTabulationInPercent(35, TabulationType.Left)
            .AddTabulationInPercent(65, TabulationType.Left)
            .AddTabulationInPercent(77, TabulationType.Left)
            .AddTabulationInPercent(90, TabulationType.Left);
            section.AddParagraph()
            .SetFontSize(6)
            .SetMarginLeft(0)
            .SetMarginTop(15)
            .SetMarginBottom(3)
            .SetBorderWidth(0)
            .AddTabSymbol()
            .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine);

            // STEP 2 AND 3 BLOCKS
            TableBuilder step2And3Table = section.AddTable()
                                          .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None))
                                          .AddColumnToTable("", XUnit.FromPercent(49))
                                          .AddColumnToTable("", XUnit.FromPercent(2))
                                          .AddColumnToTable("", XUnit.FromPercent(49));

            step2And3Table
            .AddRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Left)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraphToCell("STEP #2")
            .SetPadding(2, 0, 0, 0)
            .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f))
            .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold())
            .ToRow()
            .AddCellToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Left)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraphToCell("STEP #3")
            .SetPadding(2, 0, 0, 0)
            .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f))
            .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold());
            step2And3Table
            .AddRow()
            .AddCell()
            .SetBorder(Stroke.Solid, Color.Black, StyleSheet.DefaultBorderWidth)
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraphToCell("Begin Draft Date:")
            .AddParagraphToCell("_______ / _______ / _______")
            .ToRow()
            .AddCellToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddTable()
            .SetHeaderRowStyleBackColor(Color.Gray)
            .AddColumnToTable("", XUnit.FromPercent(70))
            .AddColumnToTable("", XUnit.FromPercent(30))
            .AddRow()
            .AddCell("DRAFT DATES")
            .SetBackColor(Color.Gray)
            .SetFontColor(Color.White)
            .ToRow()
            .AddCell("AMOUNT")
            .SetBackColor(Color.Gray)
            .SetFontColor(Color.White)
            .ToTable()
            .AddRow()
            .SetVerticalAlignment(VerticalAlignment.Bottom)
            .AddCell("Monthly on the 1st")
            .SetFontSize(10)
            .ToRow()
            .AddCell("$")
            .SetBold()
            .ToTable()
            .AddRow()
            .SetVerticalAlignment(VerticalAlignment.Bottom)
            .AddCell("Semi-Monthly on the 1st & 15th")
            .SetFontSize(10)
            .ToRow()
            .AddCell("$")
            .SetBold()
            .ToTable()
            .SetMarginBottom(5);

            // STEP 4 BLOCK
            section.AddParagraph("STEP #4")
            .SetBackColor(Color.FromRgba(0.3f, 0.3f, 0.3f))
            .SetFont(Fonts.Courier(16).SetColor(Color.White).SetBold());
            section.AddTable()
            .SetMarginTop(2)
            .SetContentRowStyleBorder(borderBuilder => borderBuilder.SetStroke(Stroke.None))
            .AddColumnToTable("", XUnit.FromPercent(49))
            .AddColumnToTable("", XUnit.FromPercent(2))
            .AddColumnToTable("", XUnit.FromPercent(49))
            .AddRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Left)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .SetPadding(2, 0, 0, 0)
            .AddParagraph("")
            .AddInlineImageToParagraph(checkboxUrl, 11, 11, ScalingMode.UserDefined)
            .AddTextToParagraph(" OPTION 1: CREDIT/DEBIT CARD")
            .ToCell()
            .SetBackColor(Color.Gray)
            .SetFont(Fonts.Courier(14).SetColor(Color.White).SetBold())
            .ToRow()
            .AddCellToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Left)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .SetPadding(2, 0, 0, 0)
            .AddParagraph("")
            .AddInlineImageToParagraph(checkboxUrl, 11, 11, ScalingMode.UserDefined)
            .AddTextToParagraph(" OPTION 2: BANK DRAFT")
            .ToCell()
            .SetBackColor(Color.Gray)
            .SetFont(Fonts.Courier(14).SetColor(Color.White).SetBold())
            .ToTable()
            .AddRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .SetFont(Fonts.Courier(6))
            .AddTable()
            .SetContentRowStyleFont(Fonts.Courier(6))
            .SetDefaultAltRowStyle()
            .AddColumnToTable("", XUnit.FromPercent(65))
            .AddColumnToTable("", XUnit.FromPercent(35))
            .AddRow()
            .AddCell()
            .SetColSpan(2)
            .SetFontSize(8)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraph("Check one:  ")
            .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined)
            .AddTextToParagraph(" Visa  ")
            .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined)
            .AddTextToParagraph(" Mastercard  ")
            .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined)
            .AddTextToParagraph(" Discover  ")
            .AddInlineImageToParagraph(checkboxUrl, 8, 8, ScalingMode.UserDefined)
            .AddTextToParagraph(" AmEx")
            .ToTable()
            .AddRow()
            .AddCell("CREDIT/DEBIT CARD #")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToRow()
            .AddCell("EXP. DATE")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToTable()
            .AddRow()
            .AddCell("CARDHOLDER NAME")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToRow()
            .AddCell("CVV")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToTable()
            .ToCell()
            .ToRow()
            .AddCellToRow()
            .AddCell()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .SetFontSize(6)
            .AddTable()
            .SetContentRowStyleFont(Fonts.Courier(6))
            .SetDefaultAltRowStyle()
            .AddColumnToTable("", XUnit.FromPercent(60))
            .AddColumnToTable("", XUnit.FromPercent(40))
            .AddRow()
            .AddCell("ACCOUNT HOLDER NAME")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToRow()
            .AddCell("BANK NAME")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToTable()
            .AddRow()
            .AddCell("ROUTING/TRANSIT #")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToRow()
            .AddCell("BANK ACCOUNT #")
            .AddParagraph("FILL HERE")
            .SetFontColor(Color.White)
            .SetFontSize(16)
            .ToTable();

            // INFORMATION BLOCK
            section.AddParagraph("AUTOMATED CLEARINGHOUSE(ACH) DRAFTS ARE REQUIRED TO HAVE A VOIDED CHECK. DEBIT CARDS ARE NOT ACCEPTED. MUST BE ACH OR CREDIT CARDS ONLY.")
            .SetMarginTop(10)
            .SetBold()
            .SetFontSize(8);
            section.AddParagraph("Only 1 Form of Draft Payment can be entered per person.")
            .SetListBulleted()
            .SetFontSize(8);
            section.AddParagraph("Children enrolled in Summer Camp may have a larger draft amount on May 15 & Aug 1.")
            .SetListBulleted()
            .SetFontSize(8);
            section.AddParagraphToSection()
            .AddParagraph("I understand that this transfer will occur monthly on the 1st. First draft begins Aug. 1.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("I understand that should I choose to change a Bank Account I must provide a school with at least a 2 week notice.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("I understand that the information above will be used to transfer payment from my account.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("I understand that if my payment is returned for non-sufficient funds I will be charged a $30 fee.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("BEST SCHOOL only accepts Visa, MasterCard, Discover, and American Express.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("I understand that after three returned items, I will be ineligible to use the automatic payment option.")
            .SetListNumbered(NumerationStyle.Arabic, 0, 0)
            .SetFontSize(8);
            section.AddParagraph("ACCOUNT HOLDER ACKNOWLEDGMENT")
            .SetMarginTop(5)
            .SetBold();
            section.AddParagraph()
            .SetMarginTop(8)
            .SetMarginLeft(0)
            .SetBorderWidth(0)
            .AddTabSymbol().AddTabulationInPercent(50, TabulationType.Right, TabulationLeading.BottomLine)
            .AddTabSymbol().AddTabSymbol()
            .AddTabulationInPercent(70, TabulationType.Left)
            .AddTabulationInPercent(100, TabulationType.Right, TabulationLeading.BottomLine);
            section.AddParagraph()
            .SetMarginTop(0)
            .SetFontSize(10)
            .AddTabSymbol().AddTextToParagraph("Account Holder Signature")
            .AddTabulationInPercent(25, TabulationType.Center)
            .AddTabSymbol()
            .AddTextToParagraph("Date")
            .AddTabulationInPercent(85, TabulationType.Center);

            // STAPLE BLOCK
            TableBuilder pleaseStapleHereTable = section.AddTable()
                                                 .SetAlignment(HorizontalAlignment.Center)
                                                 .SetWidth(XUnit.FromPercent(80))
                                                 .SetMarginTop(5)
                                                 .SetBorderStroke(Stroke.Dotted)
                                                 .AddColumnToTable("", XUnit.FromPercent(10))
                                                 .AddColumnToTable("", XUnit.FromPercent(80))
                                                 .AddColumnToTable("", XUnit.FromPercent(10));

            pleaseStapleHereTable.AddRow()
            .SetHorizontalAlignment(HorizontalAlignment.Center)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddCell()
            .SetBorderStroke(Stroke.Dotted, Stroke.Dotted, Stroke.None, Stroke.Dotted)
            .SetFontSize(6)
            .AddParagraphToCell("Please").AddParagraphToCell("Staple").AddParagraphToCell("Here")
            .ToRow()
            .AddCell()
            .SetBorderStroke(Stroke.None, Stroke.Dotted, Stroke.None, Stroke.Dotted)
            .SetPadding(0, 68, 0, 64)
            .SetVerticalAlignment(VerticalAlignment.Center)
            .AddParagraph("STAPLE VOIDED CHECK HERE").SetBold().SetFontSize(24)
            .ToRow()
            .AddCell()
            .SetBorderStroke(Stroke.None, Stroke.Dotted, Stroke.Dotted, Stroke.Dotted)
            .SetFontSize(6).AddParagraphToCell("Please").AddParagraphToCell("Staple").AddParagraphToCell("Here")
            .ToSection()
            .SetMargins(20, 20, 20, 0);
            return(builder);
        }