diff --git a/config.php.example b/config.php.example
index db94b43..7d58bc2 100755
--- a/config.php.example
+++ b/config.php.example
@@ -14,6 +14,15 @@
 $ENCRYPT_PASSWORDS = false;
 
 $SERVICE_ACRONYM = "Test Service";
+#$CONFERENCE_REGISTRATION = true;
+$SERVICE_LOGO = "./static/Test_Logo.svg";
+$SERVICE_NAME = "International Test Corpus";
+
+$REGULAR_CONFERENCE_FEE = 280;
+$EARLYBIRD_CONFERENCE_FEE = 240;
+$CONFERENCE_DINNER = 60;
+$STUDENT_DISCOUNT = 80;
+$EARLYBIRD_DEADLINE = "15 May 2023"; // HAWAIAN TIME (HST) is used :)
 
 // Redis password
 $REDIS_PASS = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
diff --git a/static/main.js b/static/main.js
index e381ac6..a07eb52 100644
--- a/static/main.js
+++ b/static/main.js
@@ -2,6 +2,7 @@
 (function () {
     'use strict';
     window.addEventListener('load', function () {
+        update_total_costs();
         // 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
@@ -17,6 +18,37 @@
     }, false);
 })();
 
+function update_total_costs() {
+    var costs = 0;
+
+
+    if ($('#participate').is(":checked")) {
+        costs += parseInt($("#conference_fee").text(),10);
+        if ($('#student').is(":checked")) {
+            costs -= parseInt($("#student_discount").text(), 10);
+        }
+        if ($('#conference_dinner').is(":checked")) {
+            costs += parseInt($("#conference_dinner_price").text(), 10);
+        }
+    }
+    $("#total_costs").val(costs.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}));
+}
+
+function update_paper_id_field() {
+    var paper_id = $("#paper_id");
+    if ($('#author').is(":checked")) {
+        paper_id.removeAttr('disabled');
+        paper_id.attr('placeholder', '0000');
+        paper_id.attr('pattern', '\\d{4}');
+        paper_id.attr('required', 'required');
+    } else {
+        paper_id.val('');
+        paper_id.attr('disabled', 'disabled');
+        paper_id.removeAttr('placeholder');
+        paper_id.removeAttr('pattern');
+        paper_id.removeAttr('required');
+    }
+}
 
 function check_password_match() {
     pass = $("#pw1").val();
diff --git a/templates/register.htm b/templates/register.htm
index a295016..8645c1b 100644
--- a/templates/register.htm
+++ b/templates/register.htm
@@ -1,46 +1,53 @@
-<div class="container ml-0 pl-0">
-    <header class="d-flex flex-wrap py-340 mb-8 border-bottom">
-        <div class="col-md-12 justify-content-start pb-5 float-start">
-            <a href="/">
-                <img class="" width="340" src="<?php echo $SERVICE_LOGO;?>" alt="<?php echo $SERVICE_NAME; ?>" />
-            </a>
-        </div>
 
-        <div class="col-md-12 bold navbar-expand-lg mt-5 ml-5  pl-5 bg-primary" data-bs-theme="dark">
-            <ul class="nav nav-pills justify-content-start fs-4">
-                <li class="nav-item"><a href="https://korpus.cz/icc" class="nav-link">Home</a></li>
-                <li class="nav-item"><a href="#" class="nav-link active" aria-current="page">Sign up</a></li>
-                <li class="nav-item"><a href="#" class="nav-link">Query</a></li>
-            </ul>
-        </div>
-    </header>
-</div>
-
-  <h1>Sign up for 
-    <?php echo $SERVICE_ACRONYM;?>
-</h1>
+<header class="d-flex flex-wrap py-340 mb-8 pb-5">
+    <div class="col-md-2 justify-content-start align-self-center pb-1 float-start">
+        <a href="/">
+            <img class="" width="80" src="<?php echo $SERVICE_LOGO;?>" alt="<?php echo $SERVICE_NAME; ?>" />
+        </a>
+    </div>
+    <div class="col-md-10 justify-content-start pb-1 align-self-center float-start">
+        <h1 class=" fw-bold">
+            <?php echo $SERVICE_NAME; ?>
+        </h1>
+    </div>
+    
+            <div class="col-md-12 bold navbar-expand-lg mt-5 ml-5  pl-5 bg-primary" data-bs-theme="dark">
+                <ul class="nav nav-pills justify-content-start fs-4">
+                    <li class="nav-item"><a href="https://korpus.cz/icc" class="nav-link">Home</a></li>
+                    <li class="nav-item"><a href="#" class="nav-link active" aria-current="page">Sign up</a></li>
+                    <li class="nav-item"><a href="#" class="nav-link">Query</a></li>
+                </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>
+    </div>
+</header>
 
 <form class="row g-3 needs-validation" novalidate data-toggle="validator" action="" method="POST">
+    <?php if(! $CONFERENCE_REGISTRATION ): ?>
     <!-- Username input -->
     <div class="col-md-4">
-        <label class="form-label font-weight-bold" for="form3Example3">Username</label>
+        <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 <?php if(isset($error) && $error && !isset($_POST['username'])){echo 'border-danger';}?>"
+            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 font-weight-bold" for="form3Example1">First name</label>
+                <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 <?php if(isset($error) && $error && !isset($_POST['first_name'])){echo 'border-danger';}?>"
-                    placeholder="John"
+                    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.
@@ -49,10 +56,10 @@
         </div>
         <div class="col-md-4">
             <div class="form-outline">
-                <label class="form-label font-weight-bold" for="form3Example2">Last name</label>
+                <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 <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
+                    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">
@@ -62,9 +69,9 @@
         </div>
 
     <div class="form-outline md-6">
-        <label class="form-label font-weight-bold" for="organization">Institution / Organization</label>
+        <label class="form-label fw-bold" for="organization">Affiliation</label>
         <input required name="organization" type="text" id="organization"
-            class="form-control <?php if(isset($error) && $error && !isset($_POST['organization'])){echo 'border-danger';}?>"
+            class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['organization'])){echo 'border-danger';}?>"
             placeholder="Example University"
             pattern=".{3,64}"
             type="text"
@@ -76,15 +83,15 @@
 
     <!--
     <div class="form-outline col-md-6">
-        <label for="address-line-1" class="form-label form-label font-weight-bold">Address line 1</label>
-        <input name="address-line-1" type="text" class="form-control" id="address-line-1"/>
+        <label for="address-line-1" class="form-label form-label fw-bold">Address line 1</label>
+        <input name="address-line-1" type="text" class="form-control fs-4" id="address-line-1"/>
     </div>
     Address line 1-->
 
     <!-- Street -->
     <div class="form-outline col-md-12">
-        <label for="street" class="form-label form-label font-weight-bold">Street</label>
-        <input name="street" type="text" class="form-control" id="street"
+        <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/>
@@ -95,8 +102,8 @@
 
     <!-- Zip code -->
     <div class="form-outline col-md-3">
-        <label for="zip-code" class="form-label form-label font-weight-bold">Zip</label>
-        <input name="zip" type="text" class="form-control" id="zip-code"
+        <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/>
         <div class="invalid-feedback">
@@ -106,8 +113,8 @@
 
     <!-- City -->
     <div class="form-outline col-md-5">
-        <label for="city" class="form-label form-label font-weight-bold">City</label>
-        <input name="city" type="text" class="form-control" id="city"
+        <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/>
         <div class="invalid-feedback">
@@ -117,8 +124,8 @@
 
     <!-- Country -->
     <div class="form-outline col-md-6">
-        <label for="country" class="form-label form-label font-weight-bold">Country</label>
-        <input class="form-control" list="countries" name="country" id="country" 
+        <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...">
         <datalist id="countries">
@@ -379,9 +386,9 @@
 
     <!-- Email input -->
     <div class="form-outline md-6">
-        <label class="form-label font-weight-bold" for="email">Email address</label>
+        <label class="form-label fw-bold" for="email">Email address</label>
         <input required name="email" type="email" id="email"
-            class="form-control <?php if(isset($error) && $error && !isset($_POST['email'])){echo 'border-danger';}?>"
+            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"
@@ -393,9 +400,9 @@
 
     <!-- Phone number -->
     <div class="form-outline md-6">
-        <label class="form-label font-weight-bold" for="phone">Phone number</label>
+        <label class="form-label fw-bold" for="phone">Phone number</label>
         <input required name="phone" type="tel" id="phone"
-            class="form-control <?php if(isset($error) && $error && !isset($_POST['phone'])){echo 'border-danger';}?>"
+            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']) : '' ?>" 
@@ -406,18 +413,19 @@
             </div>
     </div>
 
+    <?php if(! $CONFERENCE_REGISTRATION ): ?>
     <!-- Password input -->
     <div id="password-div" class="col-md-8">
-        <label class="form-label font-weight-bold" for="pw1">Password</label>
+        <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"
+            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>
-        <input class="form-control" type="text" id="pwqinfo" readonly />
+        <input class="form-control fs-4" type="text" id="pwqinfo" readonly />
     </div>
 
     <div class="col-md-12">
@@ -430,7 +438,7 @@
     <!--
     <div class="form-group">
         <label for="pwqinfo">Password rating</label>
-        <input class="form-control" type="text" name="pwqinfo" id="pwqinfo" readonly>
+        <input class="form-control fs-4" type="text" name="pwqinfo" id="pwqinfo" readonly>
         <div class="progress mt-2">
             <div class="progress-bar bg-danger" role="progressbar" id="pwqbar2" aria-valuenow="0" aria-valuemin="0"
                 aria-valuemax="100"></div>
@@ -439,42 +447,121 @@
     -->
     <!-- Password confirmation input -->
     <div id="pwconfirm" class="form-outline col-md-8">
-        <label class="form-label font-weight-bold" for="pw2">Confirm your Password</label>
+        <label class="form-label fw-bold" for="pw2">Confirm your Password</label>
         <input  required
             name="password_confirm" type="password" id="pw2"
-            class="form-control <?php if(isset($error) && $error && !isset($_POST['password_confirm'])){echo 'border-danger';}?>"
+            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>
     <div class="form-outline mb-3">
-        <label class="form-label font-weight-bold" for="eula">End User License Agreement</label>
+        <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">
-            <label class="form-check-label" for="eula">I have read and agree to to the
+            <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
-                    Agreement</a> and will use
-                <?php echo $SERVICE_ACRONYM; ?> only for academic and non-commercial purposes.
+                    Agreement</a> and will use the
+                <?php echo $SERVICE_ACRONYM; ?> services only for academic and non-commercial purposes.
             </label>
             <div class="invalid-feedback">
                 You need to agree to the EULA in order to proceed.
             </div>
         </div>
     </div>
+    <?php endif; ?>
+     <?php if( $CONFERENCE_REGISTRATION ): ?>
+     <div class="form-outline col-md-7">
+        <label class="form-label fw-bold" for="student">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">
+            <label class="form-check-label fs-4" for="author">I am an author of a paper accepted for the conference.
+            </label>
+        </div>
+    </div>
+
+    <div class="form-outline col-md-5">
+        <label class="form-label fw-bold" for="student">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>
+    </div>
+
     <div class="form-outline mb-3">
-        <label class="form-label font-weight-bold" for="privacy_policy">Privacy Policy</label>
+        <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_costs()"
+                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.")";
+                    } else {
+                        echo "The conference fee is <strong>€ <span id='conference_fee'>". $REGULAR_CONFERENCE_FEE."</span></strong>.";
+                    } ?>
+            </label>
+            <div class="invalid-feedback">
+                You need to confirm your participation in order to proceed.
+            </div>
+        </div>
+    </div>
+
+
+     <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_costs()"
+                value="student">
+            <label class="form-check-label fs-4" for="student">I am student and will therefore benefit from student discount of <strong>€ <span id="student_discount"><?php echo $STUDENT_DISCOUNT; ?></span></strong>.
+            </label>
+        </div>
+    </div>
+
+    <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_costs()"
+                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>€ <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_costs" id="total_costs" class="form-control text-end fw-bold fs-3" readonly>
+            </div>
+            <div id="totalHelp" class="form-text">Only bank transfer is available as a payment method. After submitting the form, you will be asked to confirm your e-mail address. After you have confirmed it, you will receive an invoice and the 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">
-            <label class="form-check-label" for="privacy_policy">I have read and agree
+            <label class="form-check-label fs-4" for="privacy_policy">I have read and agree
                 to to the
                 <?php echo $SERVICE_ACRONYM; ?> <a
                     href="https://www2.ids-mannheim.de/cosmas2/web-app/datenschutz.html">Privacy Policy</a>.
@@ -488,7 +575,7 @@
     <?php if($CAPTCHA_LENGTH > 0): ?>
     <!--captcha here-->
     <div class="form-outline mb-3">
-        <label class="form-label font-weight-bold" for="form3Example4">Captcha</label>
+        <label class="form-label fw-bold" for="form3Example4">Captcha</label>
         <div class="container mb-2 offset-md-2">
             <img id="captcha" src="<?php echo $BASE_URL.'/captcha.php?token='.$_SESSION['captcha_token']; ?>" />
             <div id="reload_captcha">
@@ -498,7 +585,7 @@
         </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" placeholder="Type what you see on the image above" />
+            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>
@@ -506,9 +593,7 @@
     <?php endif; ?>
 
     <!-- Submit button -->
-    <div class="container mt-2 text-right">
-    <button name="type" value="register" type="submit" class="btn btn-primary font-weight-bold fs-4">Sign up</button>
-        </div>
+    <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>
