        /* RESET */
        html, body, div, span, applet, object, iframe,
        h1, h2, h3, h4, h5, h6, p, blockquote, pre,
        a, abbr, acronym, address, big, cite, code,
        del, dfn, em, font, img, ins, kbd, q, s, samp,
        small, strike, strong, sub, sup, tt, var,
        dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
        table, caption, tbody, tfoot, thead, tr, th, td
        { margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; font-weight: inherit; font-style: inherit; font-size: 97%; font-family: inherit; background: transparent; }

        /* Overall */
        html, body { font-family: sans-serif; background-color: #F5FAFD; font-size: 1em; padding: 0 !important; margin: 0 !important; }

        #stagePreview                   { display: inline; float: left; }
        #pagePreview                    { border: none; padding: none; }
        #notifications                  { font-weight: bold; color: green; font-size: 1.3em; }

        .siteHeader                     { background: #333; color: #eee; width: 100%; margin: none; padding: none; }
        #siteLabel                      { padding: 20px; }
        #rentalDaysDisplay              { display: block; border: 1px solid #bbb; width: 50px; height: 1.5em; background: #fff; font-size: 1.25em; text-align: center; padding: 6px 0 0 0; }

        h1                              { font-weight: bold; font-size: 2.5em; margin: 10px 0 10px 0; }
        h2                              { font-weight: bold; font-size: 1.5em; margin: 20px 0 10px 0; }
        hr                              { border-top: 5px solid #ddd; margin: -1px 0 -5px 0; }

        fieldset                        { width: 90%; border: 1px solid #ccc; margin: 10px; padding: 20px; } /* Borders in the editor */
        legend                          { margin: 0 0 0 30px; font-weight: bold; font-size: 1.5em; } /* Heading on the border in the editor */
        object                          { width: 100%; height: 90%; } /* The PDF displayed */
        input                           { line-height: 2em; border: 1px solid #ccc; text-indent: 2px; }
        label                           { line-height: 2em; font-size: 1.3em; padding: 5px; }
        input:hover, label:hover        { cursor: pointer; }

        table                           { width: 100%; border: none; }
        table tr td                     { border: 0; }

        /* Name-Value Pairs of information in the Editor */
        .nvPairs b, .nvInput            { display: inline-block; margin: 0; height: 2.5em; line-height: 2.5em; font-size: 1.3em;  }
        .nvPairs b                      { width: 35%; font-weight: 400; width: 200px; border: none; padding: 5px; color: #444; }
        .nvinput                        { width: 60%; padding: 1px; }
        .nvPairs input:hover            { background: #eef; color: #007; cursor: text; }
        .nvPairs input:focus            { background: #eef; color: #000; }


        #rentalDays                     { width: 90px; text-align: center; font-weight: bold; background: none; font-size: 1.25em; }

        /* Style all the buttons! */
        #preview, #returnToEditor, #emailQuote
                                        { background: #333; color: #eee; width: 250px; margin-top: 3px; border: 1px solid #ccc; border-bottom: 1px solid #999; font-height: 1.5em; font-weight: bold; font-size: 1.5em; text-align: center; }
        #preview:hover, #returnToEditor:hover, #emailQuote:hover { cursor: hand; background: #007; color: #eee; }
        #returnToEditor                 { margin-top: -4px; border: none; padding: 5px; }
        #emailQuote                     { background: #030; }
        #emailQuote:hover               { background: #070; }

        .optional                       { color: #bbb; font-size: .7em; }


        #disclaimerNotice               { text-align: center; background: #333; color: #eee; font-size: 1.3em; padding: 20px; }


        /* Keep the form static as part of the page (no inner scrolling) */
        html, body { overflow-x: hidden; height: auto; }
        #stageQuoteData { position: static; display: block; width: 100%; max-width: 100%; overflow: visible; }
        table, tr, td { position: static; }

        /* Mobile responsiveness */
        @media (max-width: 768px) {
          /* Make headings and paddings tighter */
          h1 { font-size: 1.8em; }
          h2 { font-size: 1.2em; margin: 15px 0 8px 0; }

          /* Allow fieldsets to use full width */
          fieldset { width: 95%; margin: 10px auto; padding: 15px; }

          /* Stack the two main columns by letting table cells become blocks */
          table { display: block; }
          table tr { display: block; }
          table tr td { display: block; width: 100% !important; box-sizing: border-box; }

          /* Name/Value pairs: make labels and inputs full width stacked */
          .nvPairs b, .nvInput { display: block; width: 100% !important; height: auto; line-height: 1.6em; }
          .nvPairs b { margin-bottom: 4px; }
          .nvPairs input { width: 100% !important; max-width: 100%; }

          /* Rental days box */
          #rentalDaysDisplay { width: 100px; margin-bottom: 10px; }

          /* Buttons full width */
          #preview, #returnToEditor, #emailQuote { width: 100%; max-width: 100%; font-size: 1.2em; }

          /* Header cells should wrap nicely */
          .siteHeader { padding: 10px; }
          #siteLabel { padding: 10px; }
        }
