Hi Mike, I did some playing with this. It looks like the "Text Above"/"Text Below" are actually HTML label elements, so they are also affected by your CSS rule. If you change your CSS rule to have the selector "#q12 .cf-label" then your immediate issue might be resolved.
Here's another way to approach the CSS for the form. In this example I have four fields (in order, #q1 - #q4) that I want to arrange in a 2x2 layout. So #q1 and #q3 will have labels I want to keep off to the left, but I don't need labels for #q2 and #q4. In 1-CustomCodeDesigner.png you can see the layout in the "CSS and JavaScript" pane.
Then include the following CSS:
/* Set all the input fields to display as inline-block elements */
#q1, #q2, #q3, #q4 {display: inline-block;}
/* Set a width for the labels of the first input fields in each row */
#q1 label, #q3 label {width: 150px;}
/* Hide the labels of the second input fields in each row */
#q2 .cf-label, #q4 .cf-label {display: none;}
/* Make the 1st element in each row half the width of the row, plus half of the label width */
#q1, #q3 {width: calc(50% + 75px);}
/* Make the 2nd element in each row half the width of the row, less half of the label width */
#q2, #q4 {width: calc(50% - 75px);}
/* Make most of the elements take up all of the space allocated to them */
#q1 .cf-medium, #q2 .cf-field, #q2 .cf-medium, #q3 .cf-medium,
#q4 .cf-field, #q4 .cf-medium {width: 100% !important;}
/* Because of inheritance, simply setting the first input fields to width 100%
would cause them to shift to the next line. So instead, adjust for label width. */
#q1 .cf-field, #q3 .cf-field {width: calc(100% - 150px); !important;}
The resulting form looks like 2-FillOutForm.png. Upon submission, the confirmation page in 3-FormSubmission.png preserves the formatting, and when saved to the repository, the PDF in 4-SavedPDF.png also preserves the formatting.
If you want to have more input fields in a row, or if you need to have some be larger than others, etc., you can tweak the percentages. This should also be more adaptive than hard-coding values for each field, if that is something to be concerned about.
Hope this helps!