diff --git a/static/main.js b/static/main.js
index 6fd5249..0f0025e 100644
--- a/static/main.js
+++ b/static/main.js
@@ -1,14 +1,14 @@
 // Example starter JavaScript for disabling form submissions if there are invalid fields
-(function () {
+(function() {
     'use strict';
-    window.addEventListener('load', function () {
+    window.addEventListener('load', function() {
         update_total_due();
         update_paper_id_field();
         // Fetch all the forms we want to apply custom Bootstrap validation styles to
         var forms = document.getElementsByClassName('needs-validation');
         // Loop over them and prevent submission
-        var validation = Array.prototype.filter.call(forms, function (form) {
-            form.addEventListener('submit', function (event) {
+        var validation = Array.prototype.filter.call(forms, function(form) {
+            form.addEventListener('submit', function(event) {
                 if (form.checkValidity() === false) {
                     event.preventDefault();
                     event.stopPropagation();
@@ -24,7 +24,7 @@
 
 
     if ($('#participate').is(":checked")) {
-        costs += parseInt($("#conference_fee").text(),10);
+        costs += parseInt($("#conference_fee").text(), 10);
         if ($('#student').is(":checked")) {
             costs -= parseInt($("#student_discount").text(), 10);
         }
@@ -32,7 +32,7 @@
             costs += parseInt($("#conference_dinner_price").text(), 10);
         }
     }
-    $("#total_due").val(costs.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}));
+    $("#total_due").val(costs.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 }));
 }
 
 function update_paper_id_field() {
@@ -42,7 +42,11 @@
         paper_id.attr('placeholder', '0000');
         paper_id.attr('pattern', '\\d{4}');
         paper_id.attr('required', 'required');
+        //if (paper_id.attr('oldval').match(/^\\d{4}$/)) {
+        //    paper_id.val(paper_id.attr('oldval'));
+        //}
     } else {
+        paper_id.attr('oldval', paper_id.val());
         paper_id.val('');
         paper_id.attr('disabled', 'disabled');
         paper_id.removeAttr('placeholder');
@@ -80,7 +84,7 @@
 REP_NE = 'Passwords not identical';
 PWNED = 'Password found in public password list';
 
-String.prototype.strReverse = function () {
+String.prototype.strReverse = function() {
     var newstring = '';
     for (var s = 0; s < this.length; s++)
         newstring = this.charAt(s) + newstring;
@@ -91,7 +95,7 @@
     const sha1Hash = CryptoJS.enc.Hex.stringify(CryptoJS.SHA1(pass)).toUpperCase();
     const passwordChunk1 = sha1Hash.substring(0, 5);
     const passwordChunk2 = sha1Hash.substring(5);
-    $.get('https://api.pwnedpasswords.com/range/' + passwordChunk1).done(function (data, status) {
+    $.get('https://api.pwnedpasswords.com/range/' + passwordChunk1).done(function(data, status) {
         var isPwned = false;
         if (status == "success") {
             if (data && data.length) {
@@ -134,24 +138,33 @@
         nScore = 4 * nLength;
 
         // check for upper-/lowercase, numeric and special chars pattern matches
-        var nAlphaUC = 0, nAlphaLC = 0, nNumber = 0, nSpecial = 0;
-        var nMidChar = 0, nRepChar = 0, nRepInc = 0;
-        var nConsecAlphaUC = 0, nConsecAlphaLC = 0, nConsecNumber = 0;
-        var nTmpAlphaUC = '', nTmpAlphaLC = '', nTmpNumber = '';
+        var nAlphaUC = 0,
+            nAlphaLC = 0,
+            nNumber = 0,
+            nSpecial = 0;
+        var nMidChar = 0,
+            nRepChar = 0,
+            nRepInc = 0;
+        var nConsecAlphaUC = 0,
+            nConsecAlphaLC = 0,
+            nConsecNumber = 0;
+        var nTmpAlphaUC = '',
+            nTmpAlphaLC = '',
+            nTmpNumber = '';
         for (var i = 0; i < nLength; i++) {
-            if (pass[i].match(/[A-Z]/g)) {   // uppercase characters
+            if (pass[i].match(/[A-Z]/g)) { // uppercase characters
                 if (nTmpAlphaUC !== '' && (nTmpAlphaUC + 1) == i) {
                     nConsecAlphaUC++;
                 }
                 nTmpAlphaUC = i;
                 nAlphaUC++;
-            } else if (pass[i].match(/[a-z]/g)) {   // lowercase characters
+            } else if (pass[i].match(/[a-z]/g)) { // lowercase characters
                 if (nTmpAlphaLC !== '' && (nTmpAlphaLC + 1) == i) {
                     nConsecAlphaLC++;
                 }
                 nTmpAlphaLC = i;
                 nAlphaLC++;
-            } else if (pass[i].match(/[0-9]/g)) {   // numbers
+            } else if (pass[i].match(/[0-9]/g)) { // numbers
                 if (i > 0 && i < (nLength - 1)) {
                     nMidChar++;
                 }
@@ -160,7 +173,7 @@
                 }
                 nTmpNumber = i;
                 nNumber++;
-            } else {   // special characters
+            } else { // special characters
                 if (i > 0 && i < (nLength - 1)) {
                     nMidChar++;
                 }
@@ -188,8 +201,8 @@
         for (var i = 0; i < 23; i++) {
             var sFwd = sAlphas.substring(i, i + 3);
             var sRev = sFwd.strReverse();
-            if (pass.toLowerCase().indexOf(sFwd) != -1
-                || pass.toLowerCase().indexOf(sRev) != -1)
+            if (pass.toLowerCase().indexOf(sFwd) != -1 ||
+                pass.toLowerCase().indexOf(sRev) != -1)
                 nSeqAlpha++;
         }
 
@@ -199,41 +212,41 @@
         for (var i = 0; i < 8; i++) {
             var sFwd = sNumerics.substring(i, i + 3);
             var sRev = sFwd.strReverse();
-            if (pass.toLowerCase().indexOf(sFwd) != -1
-                || pass.toLowerCase().indexOf(sRev) != -1)
+            if (pass.toLowerCase().indexOf(sFwd) != -1 ||
+                pass.toLowerCase().indexOf(sRev) != -1)
                 nSeqNumber++;
         }
 
         // general point assignment
-        if (nAlphaUC > 0 && nAlphaUC < nLength)   // uppercase characters
+        if (nAlphaUC > 0 && nAlphaUC < nLength) // uppercase characters
             nScore += 2 * (nLength - nAlphaUC);
-        if (nAlphaLC > 0 && nAlphaLC < nLength)   // lowercase characters
+        if (nAlphaLC > 0 && nAlphaLC < nLength) // lowercase characters
             nScore += 2 * (nLength - nAlphaLC);
-        if (nNumber > 0 && nNumber < nLength)   // numbers
+        if (nNumber > 0 && nNumber < nLength) // numbers
             nScore += 2 * nNumber;
-        if (nSpecial > 0)   // special characters
+        if (nSpecial > 0) // special characters
             nScore += 4 * nSpecial;
-        if (nMidChar > 0)   // mid numbers/special characters
+        if (nMidChar > 0) // mid numbers/special characters
             nScore += 2 * nMidChar;
 
         // point deductions for poor practices
-        if ((nAlphaLC > 0 || nAlphaUC > 0)
-            && nSpecial === 0 && nNumber === 0)   // characters only
+        if ((nAlphaLC > 0 || nAlphaUC > 0) &&
+            nSpecial === 0 && nNumber === 0) // characters only
             nScore -= nLength;
-        if (nAlphaLC === 0 && nAlphaUC === 0
-            && nSpecial === 0 && nNumber > 0)   // numbers only
+        if (nAlphaLC === 0 && nAlphaUC === 0 &&
+            nSpecial === 0 && nNumber > 0) // numbers only
             nScore -= nLength;
-        if (nRepChar > 0)   // same character exists more than once
+        if (nRepChar > 0) // same character exists more than once
             nScore -= nRepInc;
-        if (nConsecAlphaUC > 0)   // consecutive uppercase letters exist
+        if (nConsecAlphaUC > 0) // consecutive uppercase letters exist
             nScore -= 2 * nConsecAlphaUC;
-        if (nConsecAlphaLC > 0)   // consecutive lowercase letters exist
+        if (nConsecAlphaLC > 0) // consecutive lowercase letters exist
             nScore -= 2 * nConsecAlphaLC;
-        if (nConsecNumber > 0)   // consecutive numbers exist
+        if (nConsecNumber > 0) // consecutive numbers exist
             nScore -= 2 * nConsecNumber;
-        if (nSeqAlpha > 0)   // sequential alpha strings exist (3 chars or more)
+        if (nSeqAlpha > 0) // sequential alpha strings exist (3 chars or more)
             nScore -= 3 * nSeqAlpha;
-        if (nSeqNumber > 0)   // sequential numeric strings exist (3 chars or more)
+        if (nSeqNumber > 0) // sequential numeric strings exist (3 chars or more)
             nScore -= 3 * nSeqNumber;
 
         // determine if mandatory requirements have been met
@@ -289,7 +302,7 @@
         $("#password-div")[0].classList.add('was-validated');
         $('#btn_change').prop('disabled', pass !== pass2);
         $("#pw1")[0].setCustomValidity("");
-        isPasswordPwned(pass, function (isPwned) {
+        isPasswordPwned(pass, function(isPwned) {
             if (isPwned) {
                 $('#pwqinfo').val(PWNED);
                 progress.removeClass().addClass('low');
@@ -303,4 +316,4 @@
         $("#pw1")[0].setCustomValidity("Password is to week");
     }
 
-}
+}
\ No newline at end of file
diff --git a/templates/register.htm b/templates/register.htm
index 8ea509c..4fa9e11 100644
--- a/templates/register.htm
+++ b/templates/register.htm
@@ -19,9 +19,9 @@
                 </ul>
             </div>
     <div class="col-md-12 justify-content-start align-self-center pb-1 float-start">
-            <h2 class="text-center fw-bold">
-        <?php echo $SERVICE_ACRONYM;?> Registration
-    </h2>
+        <h2 class="text-center fw-bold">
+            <?php echo $SERVICE_ACRONYM;?> Registration
+        </h2>
     </div>
 </header>
 
@@ -30,59 +30,46 @@
     <!-- Username input -->
     <div class="col-md-4">
         <label class="form-label fw-bold" for="form3Example3">Username</label>
-        <input pattern="[^\s]{<?php echo $VAL_USER->min_username.','.$VAL_USER->max_username;?>}" required
-            title="At least 5 not whitespace characters" name="username" type="text" id="form3Example0"
-            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['username'])){echo 'border-danger';}?>"
-            placeholder="johndoe"
-            value="<?php echo isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '' ?>" />
+        <input pattern="[^\s]{<?php echo $VAL_USER->min_username.','.$VAL_USER->max_username;?>}" required title="At least 5 not whitespace characters" name="username" type="text" id="form3Example0" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['username'])){echo 'border-danger';}?>"
+            placeholder="johndoe" value="<?php echo isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '' ?>" />
         <div class="invalid-feedback">
             Please choose a username with at least 5 not whitespace characters.
         </div>
     </div>
     <?php endif; ?>
     <!-- 2 column grid layout with text inputs for the first and last names -->
-        <div class="col-md-4">
-            <div class="form-outline">
-                <label class="form-label fw-bold" for="form3Example1">First name</label>
-                <input pattern="[^\s]{<?php echo $VAL_USER->min_first_name.','.$VAL_USER->max_first_name;?>}" required
-                    title="At least 2 not whitespace characters" name="first_name" type="text" id="form3Example1"
-                    class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['first_name'])){echo 'border-danger';}?>"
-                    placeholder="Jane"
-                    value="<?php echo isset($_POST['first_name']) ? htmlspecialchars($_POST['first_name']) : '' ?>" />
-                <div class="invalid-feedback">
-                        Please provide a first name with at least 2 characters.
-                </div>
+    <div class="col-md-4">
+        <div class="form-outline">
+            <label class="form-label fw-bold" for="form3Example1">First name</label>
+            <input pattern="[^\s]{<?php echo $VAL_USER->min_first_name.','.$VAL_USER->max_first_name;?>}" required title="At least 2 not whitespace characters" name="first_name" type="text" id="form3Example1" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['first_name'])){echo 'border-danger';}?>"
+                placeholder="Jane" value="<?php echo isset($_POST['first_name']) ? htmlspecialchars($_POST['first_name']) : '' ?>" />
+            <div class="invalid-feedback">
+                Please provide a first name with at least 2 characters.
             </div>
         </div>
-        <div class="col-md-4">
-            <div class="form-outline">
-                <label class="form-label fs-4 fs-4 fw-bold" for="form3Example2">Last name</label>
-                <input pattern="[^\s]{<?php echo $VAL_USER->min_last_name.','.$VAL_USER->max_last_name;?>}" required
-                    title="At least 2 not whitespace characters" name="last_name" type="text" id="form3Example2"
-                    class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
-                    placeholder="Doe"
-                    value="<?php echo isset($_POST['last_name']) ? htmlspecialchars($_POST['last_name']) : '' ?>" />
-                <div class="invalid-feedback">
-                   Please provide a last name with at least 2 characters.
-                </div>
+    </div>
+    <div class="col-md-4">
+        <div class="form-outline">
+            <label class="form-label fs-4 fs-4 fw-bold" for="form3Example2">Last name</label>
+            <input pattern="[^\s]{<?php echo $VAL_USER->min_last_name.','.$VAL_USER->max_last_name;?>}" required title="At least 2 not whitespace characters" name="last_name" type="text" id="form3Example2" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
+                placeholder="Doe" value="<?php echo isset($_POST['last_name']) ? htmlspecialchars($_POST['last_name']) : '' ?>" />
+            <div class="invalid-feedback">
+                Please provide a last name with at least 2 characters.
             </div>
         </div>
+    </div>
 
     <div class="form-outline md-6">
         <label class="form-label fw-bold" for="organization">Affiliation</label>
-        <input required name="organization" type="text" id="organization"
-            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['organization'])){echo 'border-danger';}?>"
-            placeholder="Example University"
-            pattern=".{3,64}"
-            type="text"
-            value="<?php echo isset($_POST['organization']) ? htmlspecialchars($_POST['organization']) : '' ?>" />
-            <div class="invalid-feedback">
-                Please indicate the institution or organization you are affiliated with.
-            </div>
-            <?php if($CONFERENCE_REGISTRATION ): ?>
-            <div id="totalHelp" class="form-text fs-4">… as it will appear on your badge</div>
-            <?php endif; ?>
-     </div>
+        <input required name="organization" type="text" id="organization" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['organization'])){echo 'border-danger';}?>" placeholder="Example University" pattern=".{3,64}" type="text" value="<?php echo isset($_POST['organization']) ? htmlspecialchars($_POST['organization']) : '' ?>"
+        />
+        <div class="invalid-feedback">
+            Please indicate the institution or organization you are affiliated with.
+        </div>
+        <?php if($CONFERENCE_REGISTRATION ): ?>
+        <div id="totalHelp" class="form-text fs-4">… as it will appear on your badge</div>
+        <?php endif; ?>
+    </div>
 
     <!--
     <div class="form-outline col-md-6">
@@ -94,10 +81,7 @@
     <!-- Street -->
     <div class="form-outline col-md-12">
         <label for="street" class="form-label form-label fw-bold">Street</label>
-        <input name="street" type="text" class="form-control fs-4" id="street"
-        placeholder="1234 Main St"
-        value="<?php echo isset($_POST['street']) ? htmlspecialchars($_POST['street']) : '' ?>"
-        required/>
+        <input name="street" type="text" class="form-control fs-4" id="street" placeholder="1234 Main St" value="<?php echo isset($_POST['street']) ? htmlspecialchars($_POST['street']) : '' ?>" required/>
         <div class="invalid-feedback">
             Please provide a valid street.
         </div>
@@ -106,9 +90,7 @@
     <!-- Zip code -->
     <div class="form-outline col-md-3">
         <label for="zip-code" class="form-label form-label fw-bold">Zip</label>
-        <input name="zip" type="text" class="form-control fs-4" id="zip-code"
-        value="<?php echo isset($_POST['zip']) ? htmlspecialchars($_POST['zip']) : '' ?>"
-        required/>
+        <input name="zip" type="text" class="form-control fs-4" id="zip-code" placeholder="12345" value="<?php echo isset($_POST['zip']) ? htmlspecialchars($_POST['zip']) : '' ?>" required/>
         <div class="invalid-feedback">
             Please provide a valid zip or postal code.
         </div>
@@ -117,9 +99,7 @@
     <!-- City -->
     <div class="form-outline col-md-5">
         <label for="city" class="form-label form-label fw-bold">City</label>
-        <input name="city" type="text" class="form-control fs-4" id="city"
-        value="<?php echo isset($_POST['city']) ? htmlspecialchars($_POST['city']) : '' ?>"
-        required/>
+        <input name="city" type="text" class="form-control fs-4" id="city" placeholder="City" value="<?php echo isset($_POST['city']) ? htmlspecialchars($_POST['city']) : '' ?>" required/>
         <div class="invalid-feedback">
             Please provide a valid city.
         </div>
@@ -128,9 +108,7 @@
     <!-- Country -->
     <div class="form-outline col-md-6">
         <label for="country" class="form-label form-label fw-bold">Country</label>
-        <input class="form-control fs-4" list="countries" name="country" id="country" 
-        value="<?php echo isset($_POST['country']) ? htmlspecialchars($_POST['country']) : '' ?>"
-        required placeholder="Type to search your country...">
+        <input class="form-control fs-4" list="countries" name="country" id="country" value="<?php echo isset($_POST['country']) ? htmlspecialchars($_POST['country']) : '' ?>" required placeholder="Type to search your country...">
         <datalist id="countries">
             <option value="Afghanistan">
             <option value="Åland Islands">
@@ -390,41 +368,30 @@
     <!-- Email input -->
     <div class="form-outline md-6">
         <label class="form-label fw-bold" for="email">Email address</label>
-        <input required name="email" type="email" id="email"
-            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['email'])){echo 'border-danger';}?>"
-            type="email"
-            pattern="^[^\s@]+@[^\s@]+\.[^\s@]+$"
-            placeholder="myemail@example.org"
-            value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>" />
-            <div class="invalid-feedback">
-                Please provide a valid email address.
-            </div>
+        <input required name="email" type="email" id="email" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['email'])){echo 'border-danger';}?>" type="email" pattern="^[^\s@]+@[^\s@]+\.[^\s@]+$" placeholder="myemail@example.org" value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>"
+        />
+        <div class="invalid-feedback">
+            Please provide a valid email address.
+        </div>
     </div>
 
     <!-- Phone number -->
     <div class="form-outline md-6">
         <label class="form-label fw-bold" for="phone">Phone number</label>
-        <input required name="phone" type="tel" id="phone"
-            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['phone'])){echo 'border-danger';}?>"
-            pattern="\+\d[\s\d-]+$"
-            placeholder="+1 234 567 890"
-            value="<?php echo isset($_POST['phone']) ? htmlspecialchars($_POST['phone']) : '' ?>" 
+        <input required name="phone" type="tel" id="phone" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['phone'])){echo 'border-danger';}?>" pattern="\+\d[\s\d-]+$" placeholder="+1 234 567 890" value="<?php echo isset($_POST['phone']) ? htmlspecialchars($_POST['phone']) : '' ?>"
             required/>
-            <i class='bx bxs-phone'></i>
-            <div class="invalid-feedback">
-                Please provide a valid phone number.
-            </div>
+        <i class='bx bxs-phone'></i>
+        <div class="invalid-feedback">
+            Please provide a valid phone number.
+        </div>
     </div>
 
     <?php if(! $CONFERENCE_REGISTRATION ): ?>
     <!-- Password input -->
     <div id="password-div" class="col-md-8">
         <label class="form-label fw-bold" for="pw1">Password</label>
-        <input required
-            title="Combination of upper and lowercase letters, numbers, punctuation, and special symbols" name="password" type="password" id="pw1"
-            class="form-control fs-4"
-            placeholder="********"  oninput="check_password_match()"
-            value="<?php echo isset($_POST['password']) ? htmlspecialchars($_POST['password']) : '' ?>" />
+        <input required title="Combination of upper and lowercase letters, numbers, punctuation, and special symbols" name="password" type="password" id="pw1" class="form-control fs-4" placeholder="********" oninput="check_password_match()" value="<?php echo isset($_POST['password']) ? htmlspecialchars($_POST['password']) : '' ?>"
+        />
     </div>
     <div class="col-md-4">
         <label class="form-label" for="pwqinfo">Rating</label>
@@ -433,8 +400,7 @@
 
     <div class="col-md-12">
         <div class="progress mt-2">
-            <div class="progress-bar bg-danger" role="progressbar" id="pwqbar" aria-valuenow="0" aria-valuemin="0"
-                aria-valuemax="100"></div>
+            <div class="progress-bar bg-danger" role="progressbar" id="pwqbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
         </div>
 
     </div>
@@ -451,22 +417,16 @@
     <!-- Password confirmation input -->
     <div id="pwconfirm" class="form-outline col-md-8">
         <label class="form-label fw-bold" for="pw2">Confirm your Password</label>
-        <input  required
-            name="password_confirm" type="password" id="pw2"
-            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['password_confirm'])){echo 'border-danger';}?>"
-            placeholder="********" oninput="check_password_match()" 
-            value="<?php echo isset($_POST['password_confirm']) ? htmlspecialchars($_POST['password_confirm']) : '' ?>" />
-            <div class="invalid-feedback">
-                Passwords do not match.
-            </div>
+        <input required name="password_confirm" type="password" id="pw2" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['password_confirm'])){echo 'border-danger';}?>" placeholder="********" oninput="check_password_match()" value="<?php echo isset($_POST['password_confirm']) ? htmlspecialchars($_POST['password_confirm']) : '' ?>"
+        />
+        <div class="invalid-feedback">
+            Passwords do not match.
+        </div>
     </div>
     <div class="form-outline mb-3">
         <label class="form-label fw-bold" for="eula">End User License Agreement</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="eula_signed" id="eula" required
-                title="You need to agree to the EULA in order to proceed"
-                <?php echo isset($_POST['eula_signed']) ? 'checked' : '' ?>
-                value="eula">
+            <input type="checkbox" class="form-check-input" name="eula_signed" id="eula" required title="You need to agree to the EULA in order to proceed" <?php echo isset($_POST[ 'eula_signed']) ? 'checked' : '' ?> value="eula">
             <label class="form-check-label fs-4" for="eula">I have read and agree to to the
                 <?php echo $SERVICE_ACRONYM; ?> <a
                     href="https://www2.ids-mannheim.de/cosmas2/projekt/register/license_agreement.html">End User License
@@ -479,14 +439,11 @@
         </div>
     </div>
     <?php endif; ?>
-     <?php if( $CONFERENCE_REGISTRATION ): ?>
-     <div class="form-outline col-md-7">
+    <?php if( $CONFERENCE_REGISTRATION ): ?>
+    <div class="form-outline col-md-7">
         <label class="form-label fw-bold" for="author">Author Status</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="author" id="author"
-                <?php echo isset($_POST['author']) ? 'checked' : '' ?>
-                oninput="update_paper_id_field()"
-                value="author">
+            <input type="checkbox" class="form-check-input" name="author" id="author" <?php echo isset($_POST[ 'author']) ? 'checked' : '' ?> oninput="update_paper_id_field()" value="author">
             <label class="form-check-label fs-4" for="author">I am an author of a paper accepted for the conference.
             </label>
         </div>
@@ -494,29 +451,25 @@
 
     <div class="form-outline col-md-5">
         <label class="form-label fw-bold" for="paper_id">Paper ID</label>
-        <input type="text" class="form-control fs-4" name="accepted_paper_id" id="paper_id"
-            <?php echo isset($_POST['author']) ? 'placeholder="0000"' : 'disabled' ?>
-            value="<?php echo isset($_POST['paper_id']) ? htmlspecialchars($_POST['paper_id']) : '' ?>" />
-            <div class="invalid-feedback">
-                Please provide the 4 digits ID of your accepted paper.
-            </div>
+        <input type="text" class="form-control fs-4" name="accepted_paper_id" id="paper_id" <?php echo isset($_POST[ 'author']) ? 'placeholder="0000"' : 'disabled' ?> value="
+        <?php echo isset($_POST['paper_id']) ? htmlspecialchars($_POST['paper_id']) : '' ?>" />
+        <div class="invalid-feedback">
+            Please provide the 4 digits ID of your accepted paper.
+        </div>
     </div>
 
     <div class="form-outline mb-3">
         <label class="form-label fw-bold" for="participate">Confirmation of Participation</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="participation_confirmed" id="participate" required
-                <?php echo isset($_POST['participation_confirmed']) ? 'checked' : '' ?>
-                oninput="update_total_due()"
-                value="participation_confirmed">
+            <input type="checkbox" class="form-check-input" name="participation_confirmed" id="participate" required <?php echo isset($_POST[ 'participation_confirmed']) ? 'checked' : '' ?> oninput="update_total_due()" value="participation_confirmed">
             <label class="form-check-label fs-4" for="participation_confirmed">I confirm that I will be attending the <?php echo $SERVICE_ACRONYM; ?> conference. 
                 <?php if(new DateTimeImmutable("now") <= new DateTimeImmutable($EARLYBIRD_DEADLINE." 23:59:59 HST")) {
-                        echo "The early bird conference fee of <strong>€ <span id='conference_fee'>". $EARLYBIRD_CONFERENCE_FEE."</span></strong> is still valid until ".$EARLYBIRD_DEADLINE.".
-                     (afterwards the fee fee will be € <span id='conference_fee'>". $REGULAR_CONFERENCE_FEE.")";
+                        echo "The early bird conference fee of <strong>€&nbsp;<span id='conference_fee'>". $EARLYBIRD_CONFERENCE_FEE."</span></strong> is still valid until ".$EARLYBIRD_DEADLINE.".
+                     (afterwards the fee fee will be €&nbsp;<span id='conference_fee'>". $REGULAR_CONFERENCE_FEE.")";
                         echo '<input type="hidden" name="conference_fee" value="' . $EARLYBIRD_CONFERENCE_FEE . '">';
                         echo '<input type="hidden" name="earlybird_registration" value="earlybird_registration">';
                     } else {
-                        echo "The conference fee is <strong>€ <span id='conference_fee'>". $REGULAR_CONFERENCE_FEE."</span></strong>.";
+                        echo "The conference fee is <strong>€&nbsp;<span id='conference_fee'>". $REGULAR_CONFERENCE_FEE."</span></strong>.";
                         echo '<input type="hidden" name="conference_fee" value="' . $REGULAR_CONFERENCE_FEE . '">';
                         echo '<input type="hidden" name="earlybird_registration" value="">';
                     } ?>
@@ -528,14 +481,11 @@
     </div>
 
 
-     <div class="form-outline mb-3">
+    <div class="form-outline mb-3">
         <label class="form-label fw-bold" for="student">Student Discount</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="student" id="student"
-                <?php echo isset($_POST['student']) ? 'checked' : '' ?>
-                oninput="update_total_due()"
-                value="student">
-            <label class="form-check-label fs-4" for="student">I am student and will therefore benefit from student discount of <strong>€&nbsp;<span id="student_discount"><?php echo $STUDENT_DISCOUNT; ?></span></strong>.
+            <input type="checkbox" class="form-check-input" name="student" id="student" <?php echo isset($_POST[ 'student']) ? 'checked' : '' ?> oninput="update_total_due()" value="student">
+            <label class="form-check-label fs-4" for="student">I am student and will benefit from student discount of <strong>€&nbsp;<span id="student_discount"><?php echo $STUDENT_DISCOUNT; ?></span></strong>.
             </label>
         </div>
     </div>
@@ -543,31 +493,25 @@
     <div class="form-outline mb-3">
         <label class="form-label fw-bold" for="participate">Conference Dinner</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="conference_dinner" id="conference_dinner"
-                <?php echo isset($_POST['conference_dinner']) ? 'checked' : '' ?>
-                oninput="update_total_due()"
-                value="conference_dinner">
+            <input type="checkbox" class="form-check-input" name="conference_dinner" id="conference_dinner" <?php echo isset($_POST[ 'conference_dinner']) ? 'checked' : '' ?> oninput="update_total_due()" value="conference_dinner">
             <label class="form-check-label fs-4" for="conference_dinner">I will be attending the conference dinner on 20 July at 8pm at the Rheinterrassen for the price of <strong>€&#160;<span id="conference_dinner_price"><?php echo $CONFERENCE_DINNER; ?></span></strong>.
             </label>
         </div>
     </div>
     <div class="form-outline col-md-12">
-            <label class="form-label fw-bold" for="exampleInputAmount">Total Amount in Euro to be paid</label>
-            <div class="input-group">
-              <div class="input-group-text fs-3">€</div>
-              <input lang="en" name="total_due" id="total_due" class="form-control text-end fw-bold fs-3" readonly>
-            </div>
-            <div id="totalHelp" class="form-text fs-4">Please note that bank transfer is the only payment method. After submitting this form, you will be asked to confirm your email address. After that you will receive an invoice with all bank details.</div>
+        <label class="form-label fw-bold" for="exampleInputAmount">Total Amount in Euro to be paid</label>
+        <div class="input-group">
+            <div class="input-group-text fs-3">€</div>
+            <input lang="en" name="total_due" id="total_due" class="form-control text-end fw-bold fs-3" readonly>
+        </div>
+        <div id="totalHelp" class="form-text fs-4">Please note that bank transfer is the only payment method. After submitting this form, you will be asked to confirm your email address. After that you will receive an invoice with all bank details.</div>
     </div>
 
     <?php endif; ?>
     <div class="form-outline mb-3">
         <label class="form-label fw-bold" for="privacy_policy">Privacy Policy</label>
         <div class="form-group form-check">
-            <input type="checkbox" class="form-check-input" name="privacy_policy_signed" id="privacy_policy" required
-                title="You need to agree to the privacy policy in order to proceed"
-                <?php echo isset($_POST['privacy_policy_signed']) ? 'checked' : '' ?>
-                value="privacy_policy">
+            <input type="checkbox" class="form-check-input" name="privacy_policy_signed" id="privacy_policy" required title="You need to agree to the privacy policy in order to proceed" <?php echo isset($_POST[ 'privacy_policy_signed']) ? 'checked' : '' ?>            value="privacy_policy">
             <label class="form-check-label fs-4" for="privacy_policy">I have read and agree
                 to to the
                 <?php echo $SERVICE_ACRONYM; ?> <a
@@ -590,17 +534,16 @@
                         aria-hidden="true"></span></button>
             </div>
         </div>
-        <input pattern="[^\s]{<?php echo $CAPTCHA_LENGTH; ?>,}" required
-            title="Please fill the captcha. It has <?php echo $CAPTCHA_LENGTH; ?> characters" name="captcha" type="text" id="form3Example6"
-            class="form-control fs-4" placeholder="Type what you see on the image above" />
-            <div class="invalid-feedback">
-                Type what you see on the image above.
-            </div>
+        <input pattern="[^\s]{<?php echo $CAPTCHA_LENGTH; ?>,}" required title="Please fill the captcha. It has <?php echo $CAPTCHA_LENGTH; ?> characters" name="captcha" type="text" id="form3Example6" class="form-control fs-4" placeholder="Type what you see on the image above"
+        />
+        <div class="invalid-feedback">
+            Type what you see on the image above.
+        </div>
     </div>
     <?php endif; ?>
 
     <!-- Submit button -->
-    <button name="type" value="register" type="submit" class="btn btn-primary float-right fs-3 fw-bold" style="border: #42b23cff; background-color: #42b23cff;"">Register for <?php echo $SERVICE_ACRONYM; ?></button>
+    <button name="type" value="register" type="submit" class="btn btn-primary float-right fs-3 fw-bold" style="border: #42b23cff; background-color: #42b23cff;" ">Register for <?php echo $SERVICE_ACRONYM; ?></button>
 
 </form>
-</div>
+</div>
\ No newline at end of file
