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 29d35b9..6668d73 100644
--- a/templates/register.htm
+++ b/templates/register.htm
@@ -19,9 +19,9 @@
             </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
