From 10f3f46fc48ac74a556a0f548a11a878a1dc71c3 Mon Sep 17 00:00:00 2001
From: osmala <ossi.laine@utu.fi>
Date: Wed, 14 Apr 2021 14:14:29 +0300
Subject: [PATCH] Experiments divided between user groups

---
 app/create/templates/create_experiment.html   |  303 ++-
 app/create/views.py                           |   23 +-
 app/experiment/templates/view_experiment.html |    5 +
 app/experiment/views.py                       |   13 +-
 app/models.py                                 |   71 +-
 app/routes.py                                 |   50 +-
 app/static/css/main.css                       |  122 +-
 app/static/css/style.css                      | 2195 +++++++++--------
 app/templates/index.html                      |   29 +-
 app/translations/el/LC_MESSAGES/messages.mo   |  Bin 6837 -> 6867 bytes
 app/translations/el/LC_MESSAGES/messages.po   |   20 +-
 app/translations/fa/LC_MESSAGES/messages.mo   |  Bin 6204 -> 6234 bytes
 app/translations/fa/LC_MESSAGES/messages.po   |   20 +-
 app/translations/fi/LC_MESSAGES/messages.mo   |  Bin 4630 -> 4686 bytes
 app/translations/fi/LC_MESSAGES/messages.po   |   20 +-
 app/translations/it/LC_MESSAGES/messages.mo   |  Bin 5089 -> 5119 bytes
 app/translations/it/LC_MESSAGES/messages.po   |   20 +-
 app/translations/zh/LC_MESSAGES/messages.mo   |  Bin 4409 -> 4439 bytes
 app/translations/zh/LC_MESSAGES/messages.po   |   20 +-
 db/create_rating_db.sql                       |   29 +
 20 files changed, 1592 insertions(+), 1348 deletions(-)

diff --git a/app/create/templates/create_experiment.html b/app/create/templates/create_experiment.html
index 2243a53..2c7908c 100644
--- a/app/create/templates/create_experiment.html
+++ b/app/create/templates/create_experiment.html
@@ -1,131 +1,188 @@
-{% extends "base.html" %}
-{% block content %}
- <h1 class="container mt-5 display-4 text-center"><br>Create new experiment: (1/4)</h1>
-  <br>  
-  <br>
-  <p class="lead">Please input the following information. All fields are required.
-  </p>
-  {% from "_formhelpers.html" import render_field %}
-    <div class=container"><br>
-    <div class="row align-items-center justify-content-center">
-    <div class="col-12">
-      <form  action="" method="post" role="form">
-        <div class="form-group">
-          <label for="name">Your name:</label>
-          <input required type="text" class="form-control" id="creator_name" name="creator_name" placeholder="Creator name?">
-            <br>
-          <label for="name">Name of the experiment:</label>
-          <input required type="text" class="form-control" id="name" name="name" placeholder="Experiment name?">
-            <br>
-
-  <div class="form-group">
-  <label for="language">Select a language for the experiment:</label>
-  <select class="form-control" id="language" name="language">
-  <option disabled selected value></option>
-  <option value="Afrikanns">Afrikanns</option>
-  <option value="Albanian">Albanian</option>
-  <option value="Arabic">Arabic</option>
-  <option value="Armenian">Armenian</option>
-  <option value="Basque">Basque</option>
-  <option value="Bengali">Bengali</option>
-  <option value="Bulgarian">Bulgarian</option>
-  <option value="Catalan">Catalan</option>
-  <option value="Cambodian">Cambodian</option>
-  <option value="Chinese">Chinese</option>
-  <option value="Croation">Croation</option>
-  <option value="Czech">Czech</option>
-  <option value="Danish">Danish</option>
-  <option value="Dutch">Dutch</option>
-  <option value="English">English</option>
-  <option value="Estonian">Estonian</option>
-  <option value="Fiji">Fiji</option>
-  <option value="Finnish">Finnish</option>
-  <option value="French">French</option>
-  <option value="Georgian">Georgian</option>
-  <option value="German">German</option>
-  <option value="Greek">Greek</option>
-  <option value="Gujarati">Gujarati</option>
-  <option value="Hebrew">Hebrew</option>
-  <option value="Hindi">Hindi</option>
-  <option value="Hungarian">Hungarian</option>
-  <option value="Icelandic">Icelandic</option>
-  <option value="Indonesian">Indonesian</option>
-  <option value="Irish">Irish</option>
-  <option value="Italian">Italian</option>
-  <option value="Japanese">Japanese</option>
-  <option value="Javanese">Javanese</option>
-  <option value="Korean">Korean</option>
-  <option value="Latin">Latin</option>
-  <option value="Latvian">Latvian</option>
-  <option value="Lithuanian">Lithuanian</option>
-  <option value="Macedonian">Macedonian</option>
-  <option value="Malay">Malay</option>
-  <option value="Malayalam">Malayalam</option>
-  <option value="Maltese">Maltese</option>
-  <option value="Maori">Maori</option>
-  <option value="Marathi">Marathi</option>
-  <option value="Mongolian">Mongolian</option>
-  <option value="Nepali">Nepali</option>
-  <option value="Norwegian">Norwegian</option>
-  <option value="Persian">Persian</option>
-  <option value="Polish">Polish</option>
-  <option value="Portuguese">Portuguese</option>
-  <option value="Punjabi">Punjabi</option>
-  <option value="Quechua">Quechua</option>
-  <option value="Romanian">Romanian</option>
-  <option value="Russian">Russian</option>
-  <option value="Samoan">Samoan</option>
-  <option value="Serbian">Serbian</option>
-  <option value="Slovak">Slovak</option>
-  <option value="Slovenian">Slovenian</option>
-  <option value="Spanish">Spanish</option>
-  <option value="Swahili">Swahili</option>
-  <option value="Swedish ">Swedish </option>
-  <option value="Tamil">Tamil</option>
-  <option value="Tatar">Tatar</option>
-  <option value="Telugu">Telugu</option>
-  <option value="Thai">Thai</option>
-  <option value="Tibetan">Tibetan</option>
-  <option value="Tonga">Tonga</option>
-  <option value="Turkish">Turkish</option>
-  <option value="Ukranian">Ukranian</option>
-  <option value="Urdu">Urdu</option>
-  <option value="Uzbek">Uzbek</option>
-  <option value="Vietnamese">Vietnamese</option>
-  <option value="Welsh">Welsh</option>
-  <option value="Xhosa">Xhosa</option>
-  </select>
+{% extends "base.html" %} {% block content %}
+<h1 class="container mt-5 display-4 text-center">
+  <br />Create new experiment: (1/4)
+</h1>
+<br />
+<br />
+<p class="lead">
+  Please input the following information. All fields are required.
+</p>
+{% from "_formhelpers.html" import render_field %} <div class=container"><br />
+<div class="row align-items-center justify-content-center">
+  <div class="col-12">
+    <form action="" method="post" role="form">
+      <div class="form-group">
+        <label for="name">Your name:</label>
+        <input
+          required
+          type="text"
+          class="form-control"
+          id="creator_name"
+          name="creator_name"
+          placeholder="Creator name?"
+        />
+        <br />
+        {% for group in groups %} {{ group }} {% endfor %}
+        <label for="research-group">Group:</label>
+        <select class="form-control" id="group" name="group">
+          {% for group in valid_groups %}
+          <option value="{{group.id}}">{{ group.name }}</option>
+          {% endfor %}
+        </select>
 
-<br>
-  <p>Instructions for the experiment come in three forms:
-  <br> (1) A single sentence instruction that is shown during the rating task above the sliders.
-  <br> (2) A short general description of the task that is shown on the experiment listing on Onni's front page and on the informed consent page. 
-  <br> (3) a longer detailed explanation of the instructions that is shown to the participant after the consent and before the rating task begins. 
-  <br> Please input all three types of instructions below:
-  </p>
-
-          <label for="single_sentence_instruction">(1) Single sentence:</label>
-          <input required type="text" class="form-control" id="single_sentence_instruction" name="single_sentence_instruction" placeholder="Input here" required>
-      	    <br>
-        <label for="short_instruction">(2) Short description:</label>
-          <textarea class="form-control" rows="5" id="short_instruction" name="short_instruction" placeholder="Input here" required></textarea>
-            <br>
+        <br />
+        <label for="name">Name of the experiment:</label>
+        <input
+          required
+          type="text"
+          class="form-control"
+          id="name"
+          name="name"
+          placeholder="Experiment name?"
+        />
+        <br />
 
+        <div class="form-group">
+          <label for="language">Select a language for the experiment:</label>
+          <select class="form-control" id="language" name="language">
+            <!--<option disabled selected value></option>-->
+            <option value="Afrikanns">Afrikanns</option>
+            <option value="Albanian">Albanian</option>
+            <option value="Arabic">Arabic</option>
+            <option value="Armenian">Armenian</option>
+            <option value="Basque">Basque</option>
+            <option value="Bengali">Bengali</option>
+            <option value="Bulgarian">Bulgarian</option>
+            <option value="Catalan">Catalan</option>
+            <option value="Cambodian">Cambodian</option>
+            <option value="Chinese">Chinese</option>
+            <option value="Croation">Croation</option>
+            <option value="Czech">Czech</option>
+            <option value="Danish">Danish</option>
+            <option value="Dutch">Dutch</option>
+            <option selected value="English">English</option>
+            <option value="Estonian">Estonian</option>
+            <option value="Fiji">Fiji</option>
+            <option value="Finnish">Finnish</option>
+            <option value="French">French</option>
+            <option value="Georgian">Georgian</option>
+            <option value="German">German</option>
+            <option value="Greek">Greek</option>
+            <option value="Gujarati">Gujarati</option>
+            <option value="Hebrew">Hebrew</option>
+            <option value="Hindi">Hindi</option>
+            <option value="Hungarian">Hungarian</option>
+            <option value="Icelandic">Icelandic</option>
+            <option value="Indonesian">Indonesian</option>
+            <option value="Irish">Irish</option>
+            <option value="Italian">Italian</option>
+            <option value="Japanese">Japanese</option>
+            <option value="Javanese">Javanese</option>
+            <option value="Korean">Korean</option>
+            <option value="Latin">Latin</option>
+            <option value="Latvian">Latvian</option>
+            <option value="Lithuanian">Lithuanian</option>
+            <option value="Macedonian">Macedonian</option>
+            <option value="Malay">Malay</option>
+            <option value="Malayalam">Malayalam</option>
+            <option value="Maltese">Maltese</option>
+            <option value="Maori">Maori</option>
+            <option value="Marathi">Marathi</option>
+            <option value="Mongolian">Mongolian</option>
+            <option value="Nepali">Nepali</option>
+            <option value="Norwegian">Norwegian</option>
+            <option value="Persian">Persian</option>
+            <option value="Polish">Polish</option>
+            <option value="Portuguese">Portuguese</option>
+            <option value="Punjabi">Punjabi</option>
+            <option value="Quechua">Quechua</option>
+            <option value="Romanian">Romanian</option>
+            <option value="Russian">Russian</option>
+            <option value="Samoan">Samoan</option>
+            <option value="Serbian">Serbian</option>
+            <option value="Slovak">Slovak</option>
+            <option value="Slovenian">Slovenian</option>
+            <option value="Spanish">Spanish</option>
+            <option value="Swahili">Swahili</option>
+            <option value="Swedish ">Swedish</option>
+            <option value="Tamil">Tamil</option>
+            <option value="Tatar">Tatar</option>
+            <option value="Telugu">Telugu</option>
+            <option value="Thai">Thai</option>
+            <option value="Tibetan">Tibetan</option>
+            <option value="Tonga">Tonga</option>
+            <option value="Turkish">Turkish</option>
+            <option value="Ukranian">Ukranian</option>
+            <option value="Urdu">Urdu</option>
+            <option value="Uzbek">Uzbek</option>
+            <option value="Vietnamese">Vietnamese</option>
+            <option value="Welsh">Welsh</option>
+            <option value="Xhosa">Xhosa</option>
+          </select>
 
-        <label for="instruction">(3) Longer version:</label>
-          <textarea class="form-control" rows="15" id="instruction" name="instruction" placeholder="Input here" required></textarea>
-            <br>
-
+          <br />
+          <p>
+            Instructions for the experiment come in three forms: <br />
+            (1) A single sentence instruction that is shown during the rating
+            task above the sliders. <br />
+            (2) A short general description of the task that is shown on the
+            experiment listing on Onni's front page and on the informed consent
+            page. <br />
+            (3) a longer detailed explanation of the instructions that is shown
+            to the participant after the consent and before the rating task
+            begins. <br />
+            Please input all three types of instructions below:
+          </p>
 
-        <label for="instruction">Please input consent form text</label>
-          <textarea class="form-control" rows="15" id="consent_text" name="consent_text" placeholder="Input here" required></textarea>
-            <br>
+          <label for="single_sentence_instruction">(1) Single sentence:</label>
+          <input
+            required
+            type="text"
+            class="form-control"
+            id="single_sentence_instruction"
+            name="single_sentence_instruction"
+            placeholder="Input here"
+            required
+          />
+          <br />
+          <label for="short_instruction">(2) Short description:</label>
+          <textarea
+            class="form-control"
+            rows="5"
+            id="short_instruction"
+            name="short_instruction"
+            placeholder="Input here"
+            required
+          ></textarea>
+          <br />
 
+          <label for="instruction">(3) Longer version:</label>
+          <textarea
+            class="form-control"
+            rows="15"
+            id="instruction"
+            name="instruction"
+            placeholder="Input here"
+            required
+          ></textarea>
+          <br />
 
+          <label for="instruction">Please input consent form text</label>
+          <textarea
+            class="form-control"
+            rows="15"
+            id="consent_text"
+            name="consent_text"
+            placeholder="Input here"
+            required
+          ></textarea>
+          <br />
+        </div>
       </div>
-    	</div>
-        <br>													   
-          <button type="submit" class="btn btn-primary">Submit</button>
-      </form>
+      <br />
+      <button type="submit" class="btn btn-primary">Submit</button>
+    </form>
 
-{% endblock %}
\ No newline at end of file
+    {% endblock %}
+  </div>
+</div>
diff --git a/app/create/views.py b/app/create/views.py
index a9ab7c3..9ad2692 100644
--- a/app/create/views.py
+++ b/app/create/views.py
@@ -16,12 +16,7 @@ from flask_login import login_required
 
 from app.routes import APP_ROOT
 from app import app, db
-from app.models import background_question, experiment
-from app.models import background_question_answer
-from app.models import page, question
-from app.models import background_question_option
-from app.models import answer_set, answer, forced_id
-from app.models import user, trial_randomization
+from app.models import background_question, experiment, background_question_answer, page, question, background_question_option, answer_set, answer, forced_id, user, trial_randomization, research_group, user_in_group
 from app.forms import (
     CreateExperimentForm, CreateBackgroundQuestionForm,
     CreateQuestionForm, UploadStimuliForm
@@ -39,20 +34,32 @@ def create_experiment():
 
     form = CreateExperimentForm(request.form)
 
+    user_groups = user_in_group.query.filter_by(
+        iduser=session['user_id']).all()
+
+    if user_groups:
+        user_groups = [ug.idgroup for ug in user_groups]
+
+        valid_groups = research_group.query.filter(
+            research_group.id.in_(user_groups)).all()
+
+    else:
+        valid_groups = []
+
     if request.method == 'POST' and form.validate():
 
         the_time = datetime.now()
         the_time = the_time.replace(microsecond=0)
 
         new_exp = experiment(name=request.form['name'], instruction=request.form['instruction'], language=request.form['language'], status='Hidden', randomization='Off', single_sentence_instruction=request.form['single_sentence_instruction'],
-                             short_instruction=request.form['short_instruction'], creator_name=request.form['creator_name'], is_archived='False', creation_time=the_time, stimulus_size='7', consent_text=request.form['consent_text'], use_forced_id='Off')
+                             short_instruction=request.form['short_instruction'], creator_name=request.form['creator_name'], is_archived='False', creation_time=the_time, stimulus_size='7', consent_text=request.form['consent_text'], use_forced_id='Off', group_id=request.form['group'])
         db.session.add(new_exp)
         db.session.commit()
         exp_id = new_exp.idexperiment
 
         return redirect(url_for('create.experiment_bgquestions', exp_id=exp_id))
 
-    return render_template('create_experiment.html', form=form)
+    return render_template('create_experiment.html', form=form, valid_groups=valid_groups)
 
 
 @create_blueprint.route('/experiment_bgquestions', methods=['GET', 'POST'])
diff --git a/app/experiment/templates/view_experiment.html b/app/experiment/templates/view_experiment.html
index c0aee71..d4bd878 100644
--- a/app/experiment/templates/view_experiment.html
+++ b/app/experiment/templates/view_experiment.html
@@ -58,6 +58,11 @@
       <td>{{ exp.creator_name }} - {{ exp.creation_time }}</td>
       <td nowrap></td>
     </tr>
+    <tr>
+      <td nowrap>Group:</td>
+      <td>{{ group_info.name }}</td>
+      <td nowrap></td>
+    </tr>
     <tr>
       <td nowrap>Language:</td>
       <td>{{ exp.language }}</td>
diff --git a/app/experiment/views.py b/app/experiment/views.py
index 3bf8aeb..b375ea3 100644
--- a/app/experiment/views.py
+++ b/app/experiment/views.py
@@ -20,13 +20,7 @@ from flask import (
 
 from app import app, db, socketio
 from app.routes import APP_ROOT
-from app.models import background_question, experiment
-from app.models import background_question_answer
-from app.models import page, question
-from app.models import background_question_option
-from app.models import answer_set, answer, forced_id
-from app.models import trial_randomization
-from app.models import embody_answer, embody_question
+from app.models import background_question, experiment, background_question_answer, page, question, background_question_option, answer_set, answer, forced_id, trial_randomization, embody_answer, embody_question, research_group
 from app.forms import (
     CreateBackgroundQuestionForm,
     CreateQuestionForm, UploadStimuliForm, EditBackgroundQuestionForm,
@@ -62,6 +56,9 @@ def view():
     # experiment info
     experiment_info = experiment.query.filter_by(idexperiment=exp_id).all()
 
+    group_info = research_group.query.filter_by(
+        id=experiment_info[0].group_id).first()
+
     # background questions
     questions_and_options = {}
     questions = background_question.query.filter_by(
@@ -93,7 +90,7 @@ def view():
     embody_pictures = embody_question.query.filter_by(
         experiment_idexperiment=exp_id).all()
 
-    return render_template('view_experiment.html', exp_id=exp_id, media=media, mtype=mtype, experiment_info=experiment_info, categories1=categories1, questions1=questions1, embody_pictures=embody_pictures)
+    return render_template('view_experiment.html', exp_id=exp_id, media=media, mtype=mtype, experiment_info=experiment_info, categories1=categories1, questions1=questions1, embody_pictures=embody_pictures, group_info=group_info)
 
 
 # Experiment info:
diff --git a/app/models.py b/app/models.py
index 96af1a0..1dee1ba 100644
--- a/app/models.py
+++ b/app/models.py
@@ -10,6 +10,52 @@ from app import login
 from datetime import datetime
 
 
+class user(UserMixin, db.Model):
+    __tablename__ = "user"
+    id = db.Column(db.Integer, primary_key=True)
+    username = db.Column(db.String(64), index=True, unique=True)
+    email = db.Column(db.String(120), index=True, unique=True)
+    password_hash = db.Column(db.String(128))
+
+    def __repr__(self):
+        return '<user {}>'.format(self.username)
+
+    def set_password(self, password):
+        self.password_hash = generate_password_hash(password)
+
+    def check_password(self, password):
+        return check_password_hash(self.password_hash, password)
+
+
+@login.user_loader
+def load_user(id):
+    return user.query.get(int(id))
+
+
+class research_group(db.Model):
+    __tablename__ = "research_group"
+    id = db.Column(db.Integer, primary_key=True)
+    name = db.Column(db.Text)
+    tag = db.Column(db.Text)
+    description = db.Column(db.Text)
+
+    def __repr__(self):
+        return "<id= '%s', name= '%s', tag= '%s', description= '%s' >" % (self.id, self.name, self.tag, self.description)
+
+
+class user_in_group (db.Model):
+    __tablename__ = "user_in_group"
+    __table_args__ = (
+        db.PrimaryKeyConstraint('idgroup', 'iduser'),
+    )
+
+    idgroup = db.Column(
+        db.Integer, db.ForeignKey('research_group.id'))
+    iduser = db.Column(
+        db.Integer, db.ForeignKey('user.id'))
+    role = db.Column(db.Text)
+
+
 class background_question(db.Model):
     __tablename__ = "background_question"
     idbackground_question = db.Column(db.Integer, primary_key=True)
@@ -53,6 +99,9 @@ class experiment (db.Model):
     use_forced_id = db.Column(db.String(120))
     embody_enabled = db.Column(db.Boolean, unique=False, default=False)
 
+    group_id = db.Column(
+        db.Integer, db.ForeignKey('research_group.id'))
+
     def __repr__(self):
         return "<idexperiment = '%s', name='%s', instruction='%s', directoryname='%s', language='%s', status='%s', randomization='%s', short_instruction='%s', single_sentence_instruction='%s', is_archived='%s', creator_name='%s', research_notification_filename='%s', creation_time='%s', stimulus_size='%s', consent_text='%s', use_forced_id='%s', embody_enabled='%s'>" % (self.idexperiment, self.name, self.instruction, self.directoryname, self.language, self.status, self.randomization, self.short_instruction, self.single_sentence_instruction, self.is_archived, self.creator_name, self.research_notification_filename, self.creation_time, self.stimulus_size, self.consent_text, self.use_forced_id, self.embody_enabled)
 
@@ -207,25 +256,3 @@ class forced_id (db.Model):
 
     def __repr__(self):
         return "<idforced_id = '%s', experiment_idexperiment = '%s', pregenerated_id = '%s'>" % (self.idforced_id, self.experiment_idexperiment, self.pregenerated_id)
-
-
-class user(UserMixin, db.Model):
-    __tablename__ = "user"
-    id = db.Column(db.Integer, primary_key=True)
-    username = db.Column(db.String(64), index=True, unique=True)
-    email = db.Column(db.String(120), index=True, unique=True)
-    password_hash = db.Column(db.String(128))
-
-    def __repr__(self):
-        return '<user {}>'.format(self.username)
-
-    def set_password(self, password):
-        self.password_hash = generate_password_hash(password)
-
-    def check_password(self, password):
-        return check_password_hash(self.password_hash, password)
-
-
-@login.user_loader
-def load_user(id):
-    return user.query.get(int(id))
diff --git a/app/routes.py b/app/routes.py
index 5e951f9..95f25cb 100644
--- a/app/routes.py
+++ b/app/routes.py
@@ -3,22 +3,13 @@ import random
 import secrets
 from datetime import datetime
 
-from flask import (render_template,
-                   request,
-                   session,
-                   flash,
-                   redirect,
-                   url_for)
+from flask import render_template, request, session, flash, redirect, url_for
 from sqlalchemy import and_
 from flask_login import current_user, login_user, logout_user, login_required
 
 from app import app, db
-from app.models import background_question, experiment
-from app.models import background_question_answer
-from app.models import page
-from app.models import background_question_option
-from app.models import answer_set, forced_id
-from app.models import user, trial_randomization
+from app.models import (background_question, experiment, background_question_answer, page,
+                        background_question_option, answer_set, forced_id, user, trial_randomization, research_group)
 from app.forms import LoginForm, RegisterForm, StartWithIdForm
 
 # Stimuli upload folder setting
@@ -28,15 +19,33 @@ APP_ROOT = os.path.dirname(os.path.abspath(__file__))
 @app.route('/')
 @app.route('/index')
 def index():
-    experiments = experiment.query.all()
+    groups = research_group.query.all()
+
+    session['group'] = None
+
+    if not session:
+        session['language'] = "English"
+
+    return render_template('home.html', title='Home', groups=groups)
+
+
+@app.route('/<group_tag>')
+def group_page(group_tag):
+    #experiments = experiment.query.all()
 
-    if session:
-        flash("")
+    group = research_group.query.filter_by(tag=group_tag).first()
+
+    if not group:
+        flash("Group not found")
+        experiments = []
     else:
-        #flash("sessio ei voimassa")
+        experiments = experiment.query.filter_by(group_id=group.id).all()
+        session['group'] = group_tag
+
+    if not session:
         session['language'] = "English"
 
-    return render_template('index.html', title='Home', experiments=experiments)
+    return render_template('index.html', title='Home', experiments=experiments, group=group)
 
 
 @app.route('/consent')
@@ -62,9 +71,14 @@ def consent():
 
 @app.route('/set_language')
 def set_language():
+
     session['language'] = request.args.get('language', None)
     lang = request.args.get('lang', None)
-    return redirect(url_for('index', lang=lang))
+
+    if session['group']:
+        return redirect(url_for('group_page', lang=lang, group_tag=session['group']))
+    else:
+        return redirect(url_for('index', lang=lang))
 
 
 @app.route('/remove_language')
diff --git a/app/static/css/main.css b/app/static/css/main.css
index 54685cd..5a8a13d 100644
--- a/app/static/css/main.css
+++ b/app/static/css/main.css
@@ -1,94 +1,108 @@
 body {
-    font-family: Helvetica, Arial, sans-serif;
+  font-family: Helvetica, Arial, sans-serif;
 }
 
-#header{
-    background-color: darkslategrey;
-    color: white;
-    text-align: center;
-    
+#header {
+  background-color: darkslategrey;
+  color: white;
+  text-align: center;
 }
 
-
 #embody-canvas {
-    display: block;
-    margin: 0 auto;
-    margin-bottom: 30px;
-    max-width: 100%; 
+  display: block;
+  margin: 0 auto;
+  margin-bottom: 30px;
+  max-width: 100%;
 }
 
 .clear-button {
-    margin:10px;
+  margin: 10px;
 }
 
-.crosshair {cursor: crosshair;}
-
+.crosshair {
+  cursor: crosshair;
+}
 
 @keyframes spinner-border {
-    to { 
-        transform: rotate(360deg); 
-    }
-} 
-.spinner-border{
-    display: inline-block;
-    width: 2rem;
-    height: 2rem;
-    vertical-align: text-bottom;
-    border: .25em solid currentColor;
-    border-right-color: transparent;
-    border-radius: 50%;
-    -webkit-animation: spinner-border .75s linear infinite;
-    animation: spinner-border .75s linear infinite;width: 1rem;
-}
-.spinner-border-sm{
-    height: 1rem;
-    border-width: .2em;
+  to {
+    transform: rotate(360deg);
+  }
+}
+.spinner-border {
+  display: inline-block;
+  width: 2rem;
+  height: 2rem;
+  vertical-align: text-bottom;
+  border: 0.25em solid currentColor;
+  border-right-color: transparent;
+  border-radius: 50%;
+  -webkit-animation: spinner-border 0.75s linear infinite;
+  animation: spinner-border 0.75s linear infinite;
+  width: 1rem;
+}
+.spinner-border-sm {
+  height: 1rem;
+  border-width: 0.2em;
 }
 
 .hidden {
-    display: none;
+  display: none;
 }
 
 .progress-bar {
-    height:2em;
+  height: 2em;
 }
 .progress {
-    height:2em;
-    background-color:rgb(248, 249, 250);
-    -webkit-box-shadow: none;
-    box-shadow: none;
+  height: 2em;
+  background-color: rgb(248, 249, 250);
+  -webkit-box-shadow: none;
+  box-shadow: none;
 }
 
-
 .thumbnail {
-    max-height: 100px;
+  max-height: 100px;
 }
 
 .embody-question {
-    text-align: center;
+  text-align: center;
 }
 
-
 @media (max-width: 600px) {
-  
-    .stimulus {
-        max-width: 90%;
-    }
-  
+  .stimulus {
+    max-width: 90%;
+  }
 }
 
 .stimulus img {
-    height: 100%;
-    object-fit: contain;
+  height: 100%;
+  object-fit: contain;
 }
 
-
 #export-link-container {
-    margin-top: 20px;
-    padding: 10px;
+  margin-top: 20px;
+  padding: 10px;
 }
 
 #export-error {
-    float:right;
-    color:red;
+  float: right;
+  color: red;
+}
+
+.squares {
+  display: flex;
+  justify-content: center;
+}
+.boxed-link {
+  display: inline-block;
+  padding: 20px 30px;
+  background: #f8f9fa;
+  margin: 20px;
+  color: black;
+}
+
+.boxed-link:hover,
+.boxed-link:focus {
+  background: hsl(208, 12%, 78%);
+  text-decoration: none;
+  color: black;
 }
diff --git a/app/static/css/style.css b/app/static/css/style.css
index cebb222..543072a 100644
--- a/app/static/css/style.css
+++ b/app/static/css/style.css
@@ -1,62 +1,122 @@
-@import url('css/prettyPhoto.css');
+@import url("css/prettyPhoto.css");
 
 /*-----------------------------------------------------------------------------------*
 /* = Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
 /*-----------------------------------------------------------------------------------*/
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
-	border: 0;
-	font-family: inherit;
-	font-size: 100%;
-	font-style: inherit;
-	font-weight: inherit;
-	margin: 0;
-	outline: 0;
-	padding: 0;
-	vertical-align: baseline;
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+font,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td {
+  border: 0;
+  font-family: inherit;
+  font-size: 100%;
+  font-style: inherit;
+  font-weight: inherit;
+  margin: 0;
+  outline: 0;
+  padding: 0;
+  vertical-align: baseline;
 }
 
 /* remember to define focus styles! */
 :focus {
-	outline: 0;
+  outline: 0;
 }
 body {
-	background: #fff;
-	line-height: 1;
+  background: #fff;
+  line-height: 1;
 }
-ol, ul {
-	list-style: none;
+ol,
+ul {
+  list-style: none;
 }
 
 /* tables still need 'cellspacing="0"' in the markup */
 table {
-	border-collapse: separate;
-	border-spacing: 0;
+  border-collapse: separate;
+  border-spacing: 0;
 }
-caption, th, td {
-	font-weight: normal;
-	text-align: left;
+caption,
+th,
+td {
+  font-weight: normal;
+  text-align: left;
 }
-blockquote:before, blockquote:after,
-q:before, q:after {
-	content: "";
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+  content: "";
 }
-blockquote, q {
-	quotes: "" "";
+blockquote,
+q {
+  quotes: "" "";
 }
 a img {
-	border: 0;
+  border: 0;
 }
 
 /* Block elements */
-header, hgroup, footer, section, article, aside {
-	display: block;
+header,
+hgroup,
+footer,
+section,
+article,
+aside {
+  display: block;
 }
 
 /*-----------------------------------------------------------------------------------*
@@ -64,64 +124,78 @@ header, hgroup, footer, section, article, aside {
 /*-----------------------------------------------------------------------------------*/
 
 body {
-	background: #212121;
-    font-size: 12px;
-    line-height: 1.5em;
-    color: #444;
-    font-family: 'Helvetica Nue', Arial, Helvetica, sans-serif;
+  background: #212121;
+  font-size: 12px;
+  line-height: 1.5em;
+  color: #444;
+  font-family: "Helvetica Nue", Arial, Helvetica, sans-serif;
 }
 a {
-    text-decoration: none;
-    color: #7da1bc;
+  text-decoration: none;
+  color: #7da1bc;
 }
 a:hover {
-    text-decoration: none;
-	color: #ef4034;
-}
-p { margin: 0 0 1em }
-strong { font-weight: 700 }
-em { font-style: italic }
-pre{
-	margin: 20px 0;
-	background: #eee;
-	border: 1px solid #ddd;
-	padding: 10px;
-	white-space: pre-wrap;       /* css-3 */
-	white-space: -moz-pre-wrap;  /* Mozilla */
-	white-space: -pre-wrap;      /* Opera 4-6 */
-	white-space: -o-pre-wrap;    /* Opera 7 */
-	word-wrap: break-word;       /* Internet Explorer 5.5+ */
-}
-blockquote{
-	border-left: 4px solid #ccc;
-	padding-left: 20px;
-    margin: 30px 0px;
-}
-.clear { clear: both }
+  text-decoration: none;
+  color: #ef4034;
+}
+p {
+  margin: 0 0 1em;
+}
+strong {
+  font-weight: 700;
+}
+em {
+  font-style: italic;
+}
+pre {
+  margin: 20px 0;
+  background: #eee;
+  border: 1px solid #ddd;
+  padding: 10px;
+  white-space: pre-wrap; /* css-3 */
+  white-space: -moz-pre-wrap; /* Mozilla */
+  white-space: -pre-wrap; /* Opera 4-6 */
+  white-space: -o-pre-wrap; /* Opera 7 */
+  word-wrap: break-word; /* Internet Explorer 5.5+ */
+}
+blockquote {
+  border-left: 4px solid #ccc;
+  padding-left: 20px;
+  margin: 30px 0px;
+}
+.clear {
+  clear: both;
+}
 .clearfix:after {
-	visibility: hidden;
-	display: block;
-	font-size: 0;
-	content: " ";
-	clear: both;
-	height: 0;
-}
-* html .clearfix{ zoom: 1; } /* IE6 */
-*:first-child+html .clearfix { zoom: 1; } /* IE7 */
-.remove-margin { margin-right: 0 !important }
+  visibility: hidden;
+  display: block;
+  font-size: 0;
+  content: " ";
+  clear: both;
+  height: 0;
+}
+* html .clearfix {
+  zoom: 1;
+} /* IE6 */
+*:first-child + html .clearfix {
+  zoom: 1;
+} /* IE7 */
+.remove-margin {
+  margin-right: 0 !important;
+}
 
 /*-----------------------------------------------------------------------------------*
 /* = Structure
 /*-----------------------------------------------------------------------------------*/
 
-#wrap{
-	overflow: hidden;
-	background:#fff;
-	margin: 0 auto;
-	margin-bottom: 30px;
-	width: 920px;
-	padding: 30px 30px 0;
-	/*
+#wrap {
+  overflow: hidden;
+  background: #fff;
+  margin: 0 auto;
+  margin-bottom: 30px;
+  width: 920px;
+  padding: 30px 30px 0;
+  /*
 	-moz-box-shadow: 0px 0px 8px rgb(0,0,0);
 	-webkit-box-shadow: 0px 0px 8px rgb(0,0,0);
 	box-shadow: 0px 0px 8px rgb(0,0,0);
@@ -136,782 +210,861 @@ h1,
 h2,
 h3,
 h4 {
-    color: #333;
-    line-height: 1.5em;
-	font-weight: bold;
+  color: #333;
+  line-height: 1.5em;
+  font-weight: bold;
 }
 h1 {
-    font-size: 24px;
-    margin-bottom: 20px;
-    line-height: 1.2em;
+  font-size: 24px;
+  margin-bottom: 20px;
+  line-height: 1.2em;
+}
+h2 {
+  font-size: 18px;
+}
+h3 {
+  font-size: 16px;
+}
+h4 {
+  font-size: 14px;
 }
-h2 { font-size: 18px }
-h3 { font-size: 16px }
-h4 { font-size: 14px; }
 h2,
 h3,
 h4 {
-    margin-top: 30px;
-    margin-bottom: 20px;
+  margin-top: 30px;
+  margin-bottom: 20px;
 }
 h1 a,
 h2 a,
 h3 a,
-h4 a { color: #333 }
+h4 a {
+  color: #333;
+}
 h2 a:hover,
 h3 a:hover,
-h4 a:hover { color: #ef4034; text-decoration: none; }
+h4 a:hover {
+  color: #ef4034;
+  text-decoration: none;
+}
 
-.single-title{ margin-bottom: 5px; }
+.single-title {
+  margin-bottom: 5px;
+}
 
 /*-----------------------------------------------------------------------------------*
 /* = WordPress Styles
 /*-----------------------------------------------------------------------------------*/
 
 /*sticky*/
-.sticky{}
+.sticky {
+}
 
 /*gallery captio*/
 .gallery-caption
 
 /*by post author*/
-.bypostauthor{}
+.bypostauthor {
+}
 
 /*aligns*/
-.aligncenter{ display:block;  margin:0 auto}
-.alignright{ float:right;  margin:10px 0 10px 10px}
-.alignleft{ float:left;  margin:10px 10px 10px 0}
+.aligncenter {
+  display: block;
+  margin: 0 auto;
+}
+.alignright {
+  float: right;
+  margin: 10px 0 10px 10px;
+}
+.alignleft {
+  float: left;
+  margin: 10px 10px 10px 0;
+}
 
 /*floats*/
-.floatleft{ float:left}
-.floatright{ float:right}
+.floatleft {
+  float: left;
+}
+.floatright {
+  float: right;
+}
 
 /*text style*/
-.textcenter{ text-align:center}
-.textright{ text-align:right}
-.textleft{ text-align:left}
+.textcenter {
+  text-align: center;
+}
+.textright {
+  text-align: right;
+}
+.textleft {
+  text-align: left;
+}
 
 /*captions*/
-.wp-caption{
-	border:1px solid #ddd; 
-	text-align:center; 
-	background-color:#f3f3f3; 
-	padding-top:4px; 
-	margin:10px; 
-	-moz-border-radius:3px; 
-	-khtml-border-radius:3px; 
-	-webkit-border-radius:3px; 
-	border-radius:3px;
-}
-.wp-caption img{
-	margin:0; 
-	padding:0; 
-	border:0 none;
-}
-.wp-caption p.wp-caption-text{
-	font-size:11px; 
-	line-height:17px; 
-	padding:0 4px 5px; 
-	margin:0;
+.wp-caption {
+  border: 1px solid #ddd;
+  text-align: center;
+  background-color: #f3f3f3;
+  padding-top: 4px;
+  margin: 10px;
+  -moz-border-radius: 3px;
+  -khtml-border-radius: 3px;
+  -webkit-border-radius: 3px;
+  border-radius: 3px;
+}
+.wp-caption img {
+  margin: 0;
+  padding: 0;
+  border: 0 none;
+}
+.wp-caption p.wp-caption-text {
+  font-size: 11px;
+  line-height: 17px;
+  padding: 0 4px 5px;
+  margin: 0;
 }
 
 /*smiley reset*/
-.wp-smiley{
-	margin:0 !important;
-	max-height:1em;
+.wp-smiley {
+  margin: 0 !important;
+  max-height: 1em;
 }
 
 /*blockquote*/
-blockquote.left{
-	margin-right:20px;
-	text-align:right;
-	margin-left:0;
-	width:33%;
-	float:left;
-}
-blockquote.right{
-	margin-left:20px;
-	text-align:left;
-	margin-right:0;
-	width:33%;
-	float:right;
+blockquote.left {
+  margin-right: 20px;
+  text-align: right;
+  margin-left: 0;
+  width: 33%;
+  float: left;
+}
+blockquote.right {
+  margin-left: 20px;
+  text-align: left;
+  margin-right: 0;
+  width: 33%;
+  float: right;
 }
 
 /* tag-cloud widget */
 .tagcloud a {
-	float: left;
-	display: block;
-    margin-right: 5px;
-	margin-bottom: 5px;
-    padding: 4px 7px;
-	line-height: 1.3em;
-	color: #fff !important;
-    background: #ef4034;
-	font-weight: bold;
-	-webkit-border-radius: 3px;
-	-moz-border-radius: 3px;
-	border-radius: 3px;
-	-webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-}
-.tagcloud a:hover{
-	background: #eee;
-	color: #333 !important;
-	text-decoration: none;
+  float: left;
+  display: block;
+  margin-right: 5px;
+  margin-bottom: 5px;
+  padding: 4px 7px;
+  line-height: 1.3em;
+  color: #fff !important;
+  background: #ef4034;
+  font-weight: bold;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -webkit-transition: all 0.2s ease-in-out;
+  -moz-transition: all 0.2s ease-in-out;
+  -o-transition: all 0.2s ease-in-out;
+  -ms-transition: all 0.2s ease-in-out;
+  transition: all 0.2s ease-in-out;
+}
+.tagcloud a:hover {
+  background: #eee;
+  color: #333 !important;
+  text-decoration: none;
 }
 /* calendar widget */
-.widget_calendar {float: left;}
-#wp-calendar {width: 100%; }
+.widget_calendar {
+  float: left;
+}
+#wp-calendar {
+  width: 100%;
+}
 #wp-calendar caption {
-	text-align: right;
-	color: #333;
-	font-size: 12px;
-	margin-top: 10px;
-	margin-bottom: 15px;
-}
-#wp-calendar thead { font-size: 12px; }
-#wp-calendar thead th { padding-bottom: 10px; }
-#wp-calendar tbody { color: #aaa; }
-#wp-calendar tbody td { background: #f5f5f5; border: 1px solid #fff; text-align: center; padding:8px;}
-#wp-calendar tbody td:hover { background: #fff; }
-#wp-calendar tbody .pad { background: none; }
-#wp-calendar tfoot #next { font-size: 12px; text-transform: uppercase; text-align: right; }
-#wp-calendar tfoot #prev { font-size: 12px; text-transform: uppercase; padding-top: 10px; }
+  text-align: right;
+  color: #333;
+  font-size: 12px;
+  margin-top: 10px;
+  margin-bottom: 15px;
+}
+#wp-calendar thead {
+  font-size: 12px;
+}
+#wp-calendar thead th {
+  padding-bottom: 10px;
+}
+#wp-calendar tbody {
+  color: #aaa;
+}
+#wp-calendar tbody td {
+  background: #f5f5f5;
+  border: 1px solid #fff;
+  text-align: center;
+  padding: 8px;
+}
+#wp-calendar tbody td:hover {
+  background: #fff;
+}
+#wp-calendar tbody .pad {
+  background: none;
+}
+#wp-calendar tfoot #next {
+  font-size: 12px;
+  text-transform: uppercase;
+  text-align: right;
+}
+#wp-calendar tfoot #prev {
+  font-size: 12px;
+  text-transform: uppercase;
+  padding-top: 10px;
+}
 
 /*-----------------------------------------------------------------------------------*
 /* = Headings
 /*-----------------------------------------------------------------------------------*/
 #logo h2,
 #logo h1 {
-    margin: 0 !important;
-    font-size: 36px;
-	font-weight: 800;
-	line-height: 1em !important;
+  margin: 0 !important;
+  font-size: 36px;
+  font-weight: 800;
+  line-height: 1em !important;
 }
 #logo h2 a,
 #logo h1 a {
-    color: #000;
-    text-decoration: none;
+  color: #000;
+  text-decoration: none;
 }
 #logo h2 a:hover,
-#logo h1 a:hover { color: #999 }
+#logo h1 a:hover {
+  color: #999;
+}
 
-#page-heading{
-	margin: -30px -30px 30px;
-	padding: 0px 30px;
-	height: 65px;
-	background: #eee;
-	border-bottom: 1px solid #ddd;
-	position: relative;
+#page-heading {
+  margin: -30px -30px 30px;
+  padding: 0px 30px;
+  height: 65px;
+  background: #eee;
+  border-bottom: 1px solid #ddd;
+  position: relative;
 }
 #page-heading h1,
-#page-heading h2{
-	font-size: 21px;
-	line-height: 65px;
-	color: #000;
-	text-shadow: 0px 0px 0px #fff;
-	margin: 0px !important;
+#page-heading h2 {
+  font-size: 21px;
+  line-height: 65px;
+  color: #000;
+  text-shadow: 0px 0px 0px #fff;
+  margin: 0px !important;
 }
 
 /*-------------------------------------------------*
 /* = Header
 /*-------------------------------------------------*/
 #header {
-	margin: 0 auto;
-	position: relative;
-	width: 980px;
-	padding: 30px 0px;
-}
-#logo a{
-	font-size: 24px;
-    font-weight: normal;
-    color: #E8E8E8;
-	letter-spacing: -1px;
-	line-height: 0em;
-	padding: 0px;
-	margin: 0px;
-    text-decoration: none;
-}
-#logo a:hover { color: #FFF; }
-
+  margin: 0 auto;
+  position: relative;
+  width: 980px;
+  padding: 30px 0px;
+}
+#logo a {
+  font-size: 24px;
+  font-weight: normal;
+  color: #e8e8e8;
+  letter-spacing: -1px;
+  line-height: 0em;
+  padding: 0px;
+  margin: 0px;
+  text-decoration: none;
+}
+#logo a:hover {
+  color: #fff;
+}
 
 /*-------------------------------------------------*
 /* =  Navigation
 /*-------------------------------------------------*/
 #navigation {
-	position: absolute;
-	right: 0px;
-	top: 30px;
+  position: absolute;
+  right: 0px;
+  top: 30px;
 }
 /*** ESSENTIAL Navigation Style ***/
 .sf-menu,
 .sf-menu * {
-    margin: 0;
-    padding: 0;
-    list-style: none;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.sf-menu {
+  line-height: 1;
 }
-.sf-menu { line-height: 1.0 }
 .sf-menu ul {
-    position: absolute;
-    top: -999em;
-    width: 160px; /* left offset of submenus need to match (see below) */
+  position: absolute;
+  top: -999em;
+  width: 160px; /* left offset of submenus need to match (see below) */
+}
+.sf-menu ul li {
+  width: 100%;
 }
-.sf-menu ul li { width: 100% }
 .sf-menu li:hover {
-    visibility: inherit; /* fixes IE7 'sticky bug' */
+  visibility: inherit; /* fixes IE7 'sticky bug' */
 }
 .sf-menu li {
-    float: left;
-    position: relative;
+  float: left;
+  position: relative;
 }
 .sf-menu a {
-    display: block;
-    position: relative;
+  display: block;
+  position: relative;
 }
 .sf-menu li:hover ul,
 .sf-menu li.sfHover ul {
-    left: 0;
-    top: 48px; /* match top ul list item height */
-    z-index: 99;
+  left: 0;
+  top: 48px; /* match top ul list item height */
+  z-index: 99;
 }
 ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul { top: -999em }
+ul.sf-menu li.sfHover li ul {
+  top: -999em;
+}
 ul.sf-menu li li:hover ul,
 ul.sf-menu li li.sfHover ul {
-    left: 180px; /* match ul width */
-    top: 0;
+  left: 180px; /* match ul width */
+  top: 0;
 }
 /*** navigation skin ***/
 .sf-menu {
-    float: left;
-    margin-bottom: 1em;
+  float: left;
+  margin-bottom: 1em;
 }
 .sf-menu a {
-	font-size: 12px;
-	font-weight: bold;
-    color: #999;
-	border-bottom: 1px solid #333;
-    padding: 0 10px 10px;
-    text-decoration: none;
-	-webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
+  font-size: 12px;
+  font-weight: bold;
+  color: #999;
+  border-bottom: 1px solid #333;
+  padding: 0 10px 10px;
+  text-decoration: none;
+  -webkit-transition: all 0.2s ease-in-out;
+  -moz-transition: all 0.2s ease-in-out;
+  -o-transition: all 0.2s ease-in-out;
+  -ms-transition: all 0.2s ease-in-out;
+  transition: all 0.2s ease-in-out;
 }
 .sf-menu a:focus,
 .sf-menu a:hover,
 .sf-menu a:active {
-    color: #FFF;
-	border-bottom: 1px solid #fee825 !important;
+  color: #fff;
+  border-bottom: 1px solid #fee825 !important;
 }
 #navigation .current-menu-item > a:first-child {
-    color: #FFF;
-	border-bottom: 1px solid #fee825;
+  color: #fff;
+  border-bottom: 1px solid #fee825;
 }
 /*Subs*/
-.sf-menu ul{
-	background: #212121;
-	padding: 10px 10px 20px;
-    -moz-opacity: 0.98;
-    -khtml-opacity: 0.98;
-    opacity: 0.98;
+.sf-menu ul {
+  background: #212121;
+  padding: 10px 10px 20px;
+  -moz-opacity: 0.98;
+  -khtml-opacity: 0.98;
+  opacity: 0.98;
 }
-.sf-menu ul a{
-	padding: 10px 0px;
-	border-bottom: 1px solid #333;
+.sf-menu ul a {
+  padding: 10px 0px;
+  border-bottom: 1px solid #333;
 }
 .sf-menu ul a:focus,
 .sf-menu ul a:hover,
 .sf-menu ul a:active {
-	border-bottom: 1px solid #333 !important;
+  border-bottom: 1px solid #333 !important;
 }
-.sf-menu ul .current-menu-item a{
-	border-bottom: 1px solid #333 !important;
+.sf-menu ul .current-menu-item a {
+  border-bottom: 1px solid #333 !important;
 }
 
 /*-----------------------------------------------------------------------------------*/
 /* = Home
 /*-----------------------------------------------------------------------------------*/
 
-.home-wrap{
-	margin: -30px;
+.home-wrap {
+  margin: -30px;
 }
 
-#home-tagline{
-	padding: 20px 30px;
-	background:#eee;
-	color: #666;
-	border-bottom: 1px solid #ddd;
-	margin-bottom: 30px;
-	margin-top: -30px;
-	font-size: 16px;
-	line-height: 1.4em;
-	font-weight: bold;
-	text-shadow: 1px 1px 1px #fff;
-}
-#home-tagline a{
-	color: #ef4034;
-}
-#home-tagline a:hover{
-	border-bottom: 1px dotted #ef4034;
+#home-tagline {
+  padding: 20px 30px;
+  background: #eee;
+  color: #666;
+  border-bottom: 1px solid #ddd;
+  margin-bottom: 30px;
+  margin-top: -30px;
+  font-size: 16px;
+  line-height: 1.4em;
+  font-weight: bold;
+  text-shadow: 1px 1px 1px #fff;
+}
+#home-tagline a {
+  color: #ef4034;
+}
+#home-tagline a:hover {
+  border-bottom: 1px dotted #ef4034;
 }
 #home-projects {
-	margin: 0px 30px 0px;
+  margin: 0px 30px 0px;
 }
-h2.home-projects-heading{
-	font-size: 14px;
-	font-weight: bold;
-	border-bottom: double #eee;
-	padding-bottom: 5px;
+h2.home-projects-heading {
+  font-size: 14px;
+  font-weight: bold;
+  border-bottom: double #eee;
+  padding-bottom: 5px;
 }
 
 /*-----------------------------------------------------------------------------------*/
 /* = NivoSlider
 /*-----------------------------------------------------------------------------------*/
 #slider_nivo {
-    position: relative;
-    width: 980px;
-    height: 400px;
-    overflow: hidden;
-	margin-bottom: 30px;
+  position: relative;
+  width: 980px;
+  height: 400px;
+  overflow: hidden;
+  margin-bottom: 30px;
 }
 .nivoSlider {
-	position: relative;
-	width: 980px;
-	height: 400px;
-	background: #fff url(images/nivo-loader.gif) no-repeat 50% 50%;
+  position: relative;
+  width: 980px;
+  height: 400px;
+  background: #fff url(images/nivo-loader.gif) no-repeat 50% 50%;
 }
 .nivoSlider img {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-	z-index: 6;
-	display:none;
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  z-index: 6;
+  display: none;
 }
 .nivoSlider a.nivo-imageLink {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    width: 980px;
-    height: 100%;
-    border: 0;
-    padding: 0;
-    margin: 0;
-    z-index: 6;
-    display: none;
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  width: 980px;
+  height: 100%;
+  border: 0;
+  padding: 0;
+  margin: 0;
+  z-index: 6;
+  display: none;
 }
 .nivo-slice {
-    display: block;
-    position: absolute;
-    z-index: 5;
-    height: 100%;
+  display: block;
+  position: absolute;
+  z-index: 5;
+  height: 100%;
 }
 .nivo-box {
-    display: block;
-    position: absolute;
-    z-index: 5;
+  display: block;
+  position: absolute;
+  z-index: 5;
 }
 .nivo-directionNav a {
-    width: 48px;
-    height: 48px;
-    position: absolute;
-    z-index: 1000;
-    top: 178px;
-    cursor: pointer;
+  width: 48px;
+  height: 48px;
+  position: absolute;
+  z-index: 1000;
+  top: 178px;
+  cursor: pointer;
 }
 .nivo-prevNav,
 .nivo-nextNav {
-    -moz-opacity: 0.4;
-    -khtml-opacity: 0.4;
-    opacity: 0.4;
-	text-indent: -9999px;
-    -webkit-transition: opacity 0.2s ease-in-out;
-    -moz-transition: opacity 0.2s ease-in-out;
-    -o-transition: opacity 0.2s ease-in-out;
-    -ms-transition: opacity 0.2s ease-in-out;
-    transition: opacity 0.2s ease-in-out;
+  -moz-opacity: 0.4;
+  -khtml-opacity: 0.4;
+  opacity: 0.4;
+  text-indent: -9999px;
+  -webkit-transition: opacity 0.2s ease-in-out;
+  -moz-transition: opacity 0.2s ease-in-out;
+  -o-transition: opacity 0.2s ease-in-out;
+  -ms-transition: opacity 0.2s ease-in-out;
+  transition: opacity 0.2s ease-in-out;
 }
 .nivo-prevNav:hover,
 .nivo-nextNav:hover {
-    -moz-opacity: 1.0;
-    -khtml-opacity: 1.0;
-    opacity: 1.0;
+  -moz-opacity: 1;
+  -khtml-opacity: 1;
+  opacity: 1;
 }
 .nivo-nextNav {
-    background: url('images/sliders/nivo-right-arrow.png');
-    right: 20px;
+  background: url("images/sliders/nivo-right-arrow.png");
+  right: 20px;
 }
 .nivo-prevNav {
-    background: url('images/sliders/nivo-left-arrow.png');
-    left: 20px;
+  background: url("images/sliders/nivo-left-arrow.png");
+  left: 20px;
+}
+.nivo-controlNav a.active {
+  font-weight: bold;
 }
-.nivo-controlNav a.active { font-weight: bold }
 .nivo-controlNav {
-    position: absolute;
-    z-index: 1000;
-    list-style: none;
-    bottom: 10px;
-    right: 10px;
-    padding: 0;
+  position: absolute;
+  z-index: 1000;
+  list-style: none;
+  bottom: 10px;
+  right: 10px;
+  padding: 0;
 }
 .nivo-controlNav a {
-    float: left;
-    margin-left: 5px;
-    cursor: pointer;
-    color: #999;
-    text-indent: -9999px;
-    background: url('images/sliders/bullets.png') no-repeat 4px 0;
-    width: 13px;
-    height: 12px;
-    overflow: hidden;
+  float: left;
+  margin-left: 5px;
+  cursor: pointer;
+  color: #999;
+  text-indent: -9999px;
+  background: url("images/sliders/bullets.png") no-repeat 4px 0;
+  width: 13px;
+  height: 12px;
+  overflow: hidden;
 }
 .nivo-controlNav a.active {
-    background-position: -8px 0;
-    margin-right: -1px;
-    margin-left: 6px;
+  background-position: -8px 0;
+  margin-right: -1px;
+  margin-left: 6px;
 }
 
-
 /*-----------------------------------------------------------------------------------*
 /* = HP Highlights
 /*-----------------------------------------------------------------------------------*/
 
-#home-highlights{
-	margin: 0px 30px;
+#home-highlights {
+  margin: 0px 30px;
 }
-.hp-highlight{
-	float: left;
-	width: 215px;
-	margin-right: 20px;
-	margin-bottom: 20px;
+.hp-highlight {
+  float: left;
+  width: 215px;
+  margin-right: 20px;
+  margin-bottom: 20px;
 }
-.hp-highlight p:last-child{
-	margin-bottom: 0px;
+.hp-highlight p:last-child {
+  margin-bottom: 0px;
 }
 .hp-highlight h2,
-.hp-highlight h3{
-	font-weight: bold;
-	font-size: 14px;
-	margin-top: 0px;
-	margin-bottom: 15px;
+.hp-highlight h3 {
+  font-weight: bold;
+  font-size: 14px;
+  margin-top: 0px;
+  margin-bottom: 15px;
 }
 
 /*-----------------------------------------------------------------------------------*
 /* = Portfolio
 /*-----------------------------------------------------------------------------------*/
-.no-margin{
-	margin-right: 0px !important;
+.no-margin {
+  margin-right: 0px !important;
 }
 
-ul.filter{
-	list-style: none;
-	margin: 40px 0px 15px;
+ul.filter {
+  list-style: none;
+  margin: 40px 0px 15px;
 }
-ul.filter a{
-	display: block;
-	float: left;
-	margin-right: 5px;
-	margin-left: 0px;
+ul.filter a {
+  display: block;
+  float: left;
+  margin-right: 5px;
+  margin-left: 0px;
 }
 
 /*filter links design*/
-ul.filter a, ul.filter a span {
-	display: inline-block;
-	-webkit-border-radius: 3px;
-	-moz-border-radius: 3px;
-	border-radius: 3px;
+ul.filter a,
+ul.filter a span {
+  display: inline-block;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
 }
 ul.filter a {
-	white-space: nowrap;
-	line-height:1em;
-	position:relative;
-	outline: none;
-	overflow: visible; /* removes extra side padding in IE */
-	cursor: pointer;
-	border: 1px solid #999;/* IE */
-	border: rgba(0, 0, 0, .2) 1px solid;/* Saf4+, Chrome, FF3.6 */
-	border-bottom:rgba(0, 0, 0, .4) 1px solid;
-	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	background: -moz-linear-gradient(
-		center top,
-		rgba(255, 255, 255, .1) 0%,
-		rgba(0, 0, 0, .1) 100%
-	);/* FF3.6 */
-	background: -webkit-gradient(
-		linear,
-		center bottom,
-		center top,
-		from(rgba(0, 0, 0, .1)),
-		to(rgba(255, 255, 255, .1))
-	);/* Saf4+, Chrome */
-	filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000'); /* IE6,IE7 */
-	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000')"; /* IE8 */
-	-moz-user-select: none;
-	-webkit-user-select:none;
-	-khtml-user-select: none;
-	user-select: none;
-	margin-bottom:10px;
-}
-ul.filter a:hover, ul.filter a.hover {
-    -moz-opacity: 0.8;
-    -khtml-opacity: 0.8;
-    opacity: 0.8;
-}
-ul.filter a:active, ul.filter a.active {
-	top:1px;
+  white-space: nowrap;
+  line-height: 1em;
+  position: relative;
+  outline: none;
+  overflow: visible; /* removes extra side padding in IE */
+  cursor: pointer;
+  border: 1px solid #999; /* IE */
+  border: rgba(0, 0, 0, 0.2) 1px solid; /* Saf4+, Chrome, FF3.6 */
+  border-bottom: rgba(0, 0, 0, 0.4) 1px solid;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  background: -moz-linear-gradient(
+    center top,
+    rgba(255, 255, 255, 0.1) 0%,
+    rgba(0, 0, 0, 0.1) 100%
+  ); /* FF3.6 */
+  background: -webkit-gradient(
+    linear,
+    center bottom,
+    center top,
+    from(rgba(0, 0, 0, 0.1)),
+    to(rgba(255, 255, 255, 0.1))
+  ); /* Saf4+, Chrome */
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000'); /* IE6,IE7 */
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000')"; /* IE8 */
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  user-select: none;
+  margin-bottom: 10px;
+}
+ul.filter a:hover,
+ul.filter a.hover {
+  -moz-opacity: 0.8;
+  -khtml-opacity: 0.8;
+  opacity: 0.8;
+}
+ul.filter a:active,
+ul.filter a.active {
+  top: 1px;
 }
 ul.filter a span {
-	position: relative;
-	color:#fff;
-	font-weight: bold;
-	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-	border-top: rgba(255, 255, 255, .3) 1px solid;
-	padding:0.8em 1.3em;
-	line-height:1em;
-	text-decoration:none;
-	text-align:center;
-	white-space: nowrap;
+  position: relative;
+  color: #fff;
+  font-weight: bold;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  border-top: rgba(255, 255, 255, 0.3) 1px solid;
+  padding: 0.8em 1.3em;
+  line-height: 1em;
+  text-decoration: none;
+  text-align: center;
+  white-space: nowrap;
 }
 
-
 /*filter-colors*/
 ul.filter a {
-	background-color: #666666;
+  background-color: #666666;
 }
 ul.filter a {
-	background-color: #D5D2D2;
-	text-shadow: 1px 1px 0px #FFF;
+  background-color: #d5d2d2;
+  text-shadow: 1px 1px 0px #fff;
 }
-ul.filter a span{
-	color: #242424;
-	text-shadow: 1px 1px 0px #e7e7e7;
-	border-top: rgba(255, 255, 255, .6) 1px solid;
+ul.filter a span {
+  color: #242424;
+  text-shadow: 1px 1px 0px #e7e7e7;
+  border-top: rgba(255, 255, 255, 0.6) 1px solid;
 }
-ul.filter .active a{
-	background-color: #333333;
-	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+ul.filter .active a {
+  background-color: #333333;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
 }
-ul.filter .active a span{
-	color: #fff;
-	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-	border-top: rgba(255, 255, 255, .3) 1px solid;
+ul.filter .active a span {
+  color: #fff;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  border-top: rgba(255, 255, 255, 0.3) 1px solid;
 }
 ul.filter .active a:hover {
-    -moz-opacity: 1 !important;
-    -khtml-opacity: 1 !important;
-    opacity: 1 !important;
+  -moz-opacity: 1 !important;
+  -khtml-opacity: 1 !important;
+  opacity: 1 !important;
 }
 
-
 /*portfolio items*/
-.portfolio-item{
-	position: relative;
-	float: left;
-	width: 300px;
-	margin-right: 10px;
-	margin-bottom: 10px;
-}
-.portfolio-item img{
-	padding: 4px;
-	border: 1px solid #ddd;
-}
-.portfolio-item-details{
-	text-align: center;
-	margin-bottom: 10px;
-}
-.portfolio-item-details h2{
-	font-size: 12px;
-	margin-top: 0px;
-	margin-bottom: 5px;
+.portfolio-item {
+  position: relative;
+  float: left;
+  width: 300px;
+  margin-right: 10px;
+  margin-bottom: 10px;
 }
-
-#portfolio-wrap{
-	overflow: hidden;
-	margin-bottom: -15px;
-	margin-right: -10px;
+.portfolio-item img {
+  padding: 4px;
+  border: 1px solid #ddd;
 }
-
-
-/*single portfolio*/
-#single-portfolio{
-	margin-bottom: 20px;
-}
-#single-portfolio-left{
-	float: left;
-	width: 510px;
-}
-#single-portfolio-left img{
-	margin-bottom: 20px;
-	padding: 4px;
-	border: 1px solid #ddd;
-	-webkit-transition: opacity 0.2s ease-in-out;
-    -moz-transition: opacity 0.2s ease-in-out;
-    -o-transition: opacity 0.2s ease-in-out;
-    -ms-transition: opacity 0.2s ease-in-out;
-    transition: opacity 0.2s ease-in-out;
-}
-#single-portfolio-left a:hover img{
-	-moz-opacity: 0.8;
-    -khtml-opacity: 0.8;
-    opacity: 0.8;
+.portfolio-item-details {
+  text-align: center;
+  margin-bottom: 10px;
 }
-
-#single-portfolio-left img:last-child{
-	margin-bottom: 0px;
+.portfolio-item-details h2 {
+  font-size: 12px;
+  margin-top: 0px;
+  margin-bottom: 5px;
 }
-#single-portfolio-right{
-	float: right;
-	width: 380px;
+
+#portfolio-wrap {
+  overflow: hidden;
+  margin-bottom: -15px;
+  margin-right: -10px;
 }
-#single-portfolio-meta{
-	margin-top: -10px;
-	margin-bottom: 20px;
-	font-style: italic;
-	font-weight: bold;
-	color: #666;
+
+/*single portfolio*/
+#single-portfolio {
+  margin-bottom: 20px;
 }
-#single-portfolio-meta a{
-	margin-right: 5px;
+#single-portfolio-left {
+  float: left;
+  width: 510px;
 }
-#single-portfolio-nav{
-	margin-top: 20px;
+#single-portfolio-left img {
+  margin-bottom: 20px;
+  padding: 4px;
+  border: 1px solid #ddd;
+  -webkit-transition: opacity 0.2s ease-in-out;
+  -moz-transition: opacity 0.2s ease-in-out;
+  -o-transition: opacity 0.2s ease-in-out;
+  -ms-transition: opacity 0.2s ease-in-out;
+  transition: opacity 0.2s ease-in-out;
 }
-#single-portfolio-nav a{
-	float: left;
-	margin-right: 10px;
+#single-portfolio-left a:hover img {
+  -moz-opacity: 0.8;
+  -khtml-opacity: 0.8;
+  opacity: 0.8;
 }
 
-
-/*-----------------------------------------------------------------------------------*
-/* = Posts & Pages
-/*-----------------------------------------------------------------------------------*/
-.post{
-	float: left;
-	width: 670px;
-	overflow: hidden;
+#single-portfolio-left img:last-child {
+  margin-bottom: 0px;
 }
-.full-width{
-	float: none !important;
-	width: 100% !important;
+#single-portfolio-right {
+  float: right;
+  width: 380px;
 }
-.loop-entry{
-	margin-bottom: 30px;
-	padding-bottom: 30px;
-	border-bottom: 1px dotted #ccc;
+#single-portfolio-meta {
+  margin-top: -10px;
+  margin-bottom: 20px;
+  font-style: italic;
+  font-weight: bold;
+  color: #666;
 }
-.loop-entry-left{
-	float: left;
-	width: 150px;
+#single-portfolio-meta a {
+  margin-right: 5px;
 }
-.loop-entry-right{
-	float: right;
-	width: 490px;
+#single-portfolio-nav {
+  margin-top: 20px;
 }
-
-.loop-entry-thumbnail{
-	margin-bottom: 20px;
-	padding: 4px;
-	border: 1px solid #ddd;
-}
-.loop-entry-thumbnail img{
-	display: block;
-	margin: 0px;
-	-webkit-transition: opacity 0.2s ease-in-out;
-    -moz-transition: opacity 0.2s ease-in-out;
-    -o-transition: opacity 0.2s ease-in-out;
-    -ms-transition: opacity 0.2s ease-in-out;
-    transition: opacity 0.2s ease-in-out;
-}
-.loop-entry-thumbnail:hover img{
-	-moz-opacity: 0.8;
-    -khtml-opacity: 0.8;
-    opacity: 0.8;
-}
-.loop-entry h2{
-	margin-top: -5px;
-	margin-bottom: 10px;
-	font-size: 16px;
+#single-portfolio-nav a {
+  float: left;
+  margin-right: 10px;
 }
 
-.loop-entry-date{
-	text-align: center;
-	border: 1px solid #ddd;
-	background: #eee;
-	font-size: 14px;
-	padding: 5px;
-	font-weight: bold;
-	margin-bottom: 10px;
+/*-----------------------------------------------------------------------------------*
+/* = Posts & Pages
+/*-----------------------------------------------------------------------------------*/
+.post {
+  float: left;
+  width: 670px;
+  overflow: hidden;
+}
+.full-width {
+  float: none !important;
+  width: 100% !important;
+}
+.loop-entry {
+  margin-bottom: 30px;
+  padding-bottom: 30px;
+  border-bottom: 1px dotted #ccc;
+}
+.loop-entry-left {
+  float: left;
+  width: 150px;
+}
+.loop-entry-right {
+  float: right;
+  width: 490px;
+}
+
+.loop-entry-thumbnail {
+  margin-bottom: 20px;
+  padding: 4px;
+  border: 1px solid #ddd;
+}
+.loop-entry-thumbnail img {
+  display: block;
+  margin: 0px;
+  -webkit-transition: opacity 0.2s ease-in-out;
+  -moz-transition: opacity 0.2s ease-in-out;
+  -o-transition: opacity 0.2s ease-in-out;
+  -ms-transition: opacity 0.2s ease-in-out;
+  transition: opacity 0.2s ease-in-out;
+}
+.loop-entry-thumbnail:hover img {
+  -moz-opacity: 0.8;
+  -khtml-opacity: 0.8;
+  opacity: 0.8;
+}
+.loop-entry h2 {
+  margin-top: -5px;
+  margin-bottom: 10px;
+  font-size: 16px;
+}
+
+.loop-entry-date {
+  text-align: center;
+  border: 1px solid #ddd;
+  background: #eee;
+  font-size: 14px;
+  padding: 5px;
+  font-weight: bold;
+  margin-bottom: 10px;
 }
 
 .loop-entry-author,
-.loop-entry-cat{
-	text-align: right;
-	color: #999;
-	font-style: italic;
+.loop-entry-cat {
+  text-align: right;
+  color: #999;
+  font-style: italic;
 }
 
 .loop-entry-author a,
-.loop-entry-cat a{
-	font-weight: bold;
-	color: #999;
+.loop-entry-cat a {
+  font-weight: bold;
+  color: #999;
 }
 .loop-entry-author a:hover,
-.loop-entry-cat a:hover{
-	color: #666;
+.loop-entry-cat a:hover {
+  color: #666;
 }
 
 .entry {
-	margin-bottom: 20px;
+  margin-bottom: 20px;
 }
 .entry ul,
 .entry ol {
-    margin-left: 30px;
-    margin-bottom: 10px;
-	list-style: inherit;
+  margin-left: 30px;
+  margin-bottom: 10px;
+  list-style: inherit;
 }
-.entry ol{
-	list-style: decimal;
+.entry ol {
+  list-style: decimal;
 }
 /*thumbnail*/
-.post-thumbnail{
-	margin-top: -10px;
-	margin-bottom: 10px;
+.post-thumbnail {
+  margin-top: -10px;
+  margin-bottom: 10px;
 }
 /*post meta*/
-.post-meta{
-    color: #999;
-	font-style: italic;
-	padding-bottom: 10px;
-	border-bottom: 1px dotted #ccc;
-	margin-bottom: 30px;
-}
-.post-meta span{
-	margin-right: 10px;
-}
-.post-meta a{
-	font-weight: bold;
-	color: #999;
-}
-.post-meta a:hover{
-	color:#666;
-}
-.meta-date{ background: url(images/date.png) left no-repeat; padding-left: 17px; }
-.meta-category{ background: url(images/category.png) left no-repeat; padding-left: 17px; }
-.meta-author{ background: url(images/author.png) left no-repeat; padding-left: 17px; }
+.post-meta {
+  color: #999;
+  font-style: italic;
+  padding-bottom: 10px;
+  border-bottom: 1px dotted #ccc;
+  margin-bottom: 30px;
+}
+.post-meta span {
+  margin-right: 10px;
+}
+.post-meta a {
+  font-weight: bold;
+  color: #999;
+}
+.post-meta a:hover {
+  color: #666;
+}
+.meta-date {
+  background: url(images/date.png) left no-repeat;
+  padding-left: 17px;
+}
+.meta-category {
+  background: url(images/category.png) left no-repeat;
+  padding-left: 17px;
+}
+.meta-author {
+  background: url(images/author.png) left no-repeat;
+  padding-left: 17px;
+}
 .post-meta-single {
-	margin-bottom: 20px;
+  margin-bottom: 20px;
 }
 /*post tags*/
 .post-tags {
-    margin-right: 10px;
-    margin-top: 30px;
-    font-size: 12px;
+  margin-right: 10px;
+  margin-top: 30px;
+  font-size: 12px;
 }
 .post-tags a {
 }
@@ -919,332 +1072,355 @@ ul.filter .active a:hover {
 /*-----------------------------------------------------------------------------------*
 /* = Pagination
 /*-----------------------------------------------------------------------------------*/
-.pagination
-{
-	font-family: Arial, Helvetica, sans-serif;
+.pagination {
+  font-family: Arial, Helvetica, sans-serif;
 }
 .pagination a,
-.pagination span
-{
-	font-size: 11px;
-    line-height: 20px;
-    height: 20px;
-    width: 20px;
-    text-align: center;
-    margin-right: 5px;
-    display: block;
-    float: left;
-	background: #FFF;
-	color: #666;
-	border-bottom: 1px solid #cdcdcd;
-	border-right: 1px solid #cdcdcd;
+.pagination span {
+  font-size: 11px;
+  line-height: 20px;
+  height: 20px;
+  width: 20px;
+  text-align: center;
+  margin-right: 5px;
+  display: block;
+  float: left;
+  background: #fff;
+  color: #666;
+  border-bottom: 1px solid #cdcdcd;
+  border-right: 1px solid #cdcdcd;
 }
 .pagination a:hover,
-.pagination span.current
-{
-    text-decoration: none;
-	color: #FFF;
-	background: #333;
+.pagination span.current {
+  text-decoration: none;
+  color: #fff;
+  background: #333;
 }
 
 /*-----------------------------------------------------------------------------------*
 /* = Comments
 /*-----------------------------------------------------------------------------------*/
 #commentsbox {
-	width: 100%;
-	overflow: hidden;
-	margin-top: 30px;
-}
-#comments{
-	text-transform: none;
-	font-weight: bold;
-	color: #333;
-	font-size: 13px;
-	margin-top: 20px;
-	margin-bottom: 30px;
-	padding-bottom: 10px;
-	border-bottom: 1px dotted #d6d6d6;
+  width: 100%;
+  overflow: hidden;
+  margin-top: 30px;
+}
+#comments {
+  text-transform: none;
+  font-weight: bold;
+  color: #333;
+  font-size: 13px;
+  margin-top: 20px;
+  margin-bottom: 30px;
+  padding-bottom: 10px;
+  border-bottom: 1px dotted #d6d6d6;
 }
 #commentsbox ol,
 #commentsbox ul {
-    list-style: none;
-    margin: 0 !important;
+  list-style: none;
+  margin: 0 !important;
+}
+#commentsbox li {
 }
-#commentsbox li { }
 .children {
-    list-style: none;
-    margin: 30px 0 0;
-    text-indent: 0;
-}
-.children li.depth-2 { margin: 0 0 0px 65px }
-.children li.depth-3 { margin: 0 0 0px 65px }
-.children li.depth-4 { margin: 0 0 0px 65px }
-.children li.depth-5 { margin: 0 0 0px 65px }
-.children li.depth-6 { margin: 0 0 0px 65px }
-.children li.depth-7 { margin: 0 0 0px 65px }
-.children li.depth-8 { margin: 0 0 0px 65px }
-.children li.depth-9 { margin: 0 0 0px 65px }
-.children li.depth-10 { margin: 0 0 0px 65px }
+  list-style: none;
+  margin: 30px 0 0;
+  text-indent: 0;
+}
+.children li.depth-2 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-3 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-4 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-5 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-6 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-7 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-8 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-9 {
+  margin: 0 0 0px 65px;
+}
+.children li.depth-10 {
+  margin: 0 0 0px 65px;
+}
 .comment-body {
-    position: relative;
-    padding: 15px 15px 0;
-	margin-left: 65px;
-	margin-bottom: 30px;
-	background: #ffffff;
-	border: 1px solid #EBEBEB;
-	-webkit-border-radius: 4px;
-	-moz-border-radius: 4px;
-	border-radius: 4px;
-	transition: all 0.4s ease;
-    -webkit-transition: all 0.4s ease;
-    -o-transition: all 0.4s ease;
-    -moz-transition: all 0.4s ease;
-}
-.comment-body p{
-	margin-bottom: 15px !important;
+  position: relative;
+  padding: 15px 15px 0;
+  margin-left: 65px;
+  margin-bottom: 30px;
+  background: #ffffff;
+  border: 1px solid #ebebeb;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  transition: all 0.4s ease;
+  -webkit-transition: all 0.4s ease;
+  -o-transition: all 0.4s ease;
+  -moz-transition: all 0.4s ease;
+}
+.comment-body p {
+  margin-bottom: 15px !important;
 }
 .comment-body:after {
-    content: '';
-    position: absolute;
-    top: 10px;
-    left: -12px;
-    width: 12px;
-    height: 20px;
-    background: url("images/comment-arrow.png") no-repeat;
-}
-.comment-body:hover{
-}
-.reply{
-	display: none;
-	position: absolute;
-	top: 10px;
-	right: 10px;
+  content: "";
+  position: absolute;
+  top: 10px;
+  left: -12px;
+  width: 12px;
+  height: 20px;
+  background: url("images/comment-arrow.png") no-repeat;
+}
+.comment-body:hover {
+}
+.reply {
+  display: none;
+  position: absolute;
+  top: 10px;
+  right: 10px;
 }
 .comment-reply-link {
-	font-size: 10px;
+  font-size: 10px;
 }
-.comment-reply-link:hover{
+.comment-reply-link:hover {
 }
-.comment-body:hover .reply{
-	display: block;
+.comment-body:hover .reply {
+  display: block;
 }
 #commentsbox .avatar {
-	position: absolute;
-	top: 0px;
-	left: -65px;
-	height: 40px;
-	width: 40px;
-	padding: 2px;
-	border: 1px solid #eee;
-	-webkit-border-radius: 4px;
-	-moz-border-radius: 4px;
-	border-radius: 4px;
+  position: absolute;
+  top: 0px;
+  left: -65px;
+  height: 40px;
+  width: 40px;
+  padding: 2px;
+  border: 1px solid #eee;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
 }
 .comment-author {
-	font-weight: bold;
-    color: #000;
+  font-weight: bold;
+  color: #000;
+}
+.says {
+  display: none;
 }
-.says { display: none }
-.comment-meta{
-	margin-bottom: 10px;
+.comment-meta {
+  margin-bottom: 10px;
 }
 .comment-meta a {
-    font-size: 11px;
-    font-style: italic;
-    color: #666;
+  font-size: 11px;
+  font-style: italic;
+  color: #666;
 }
 .cancel-comment-reply {
-	margin-top: -10px;
+  margin-top: -10px;
 }
 .cancel-comment-reply a {
-    color: #F00;
-    line-height: 20px;
-    height: 20px;
+  color: #f00;
+  line-height: 20px;
+  height: 20px;
 }
-.cancel-comment-reply a:hover{
-	text-decoration: underline;
+.cancel-comment-reply a:hover {
+  text-decoration: underline;
 }
 #comments-respond {
-	clear: left;
-	text-transform: none;
-	font-weight: bold;
-	color: #333;
-	font-size: 13px;
-	margin-top: 0px;
-	margin-bottom: 15px;
+  clear: left;
+  text-transform: none;
+  font-weight: bold;
+  color: #333;
+  font-size: 13px;
+  margin-top: 0px;
+  margin-bottom: 15px;
 }
-#comments-respond-meta{
-	font-size: 11px;
+#comments-respond-meta {
+  font-size: 11px;
 }
 #commentform label {
-    display: block;
+  display: block;
 }
 #commentform input#author,
 #commentform input#email,
 #commentform input#url {
-	width: 45%;
-	color: #666;
-	text-shadow: 1px 1px 0px #FFF;
-    border: 1px solid #cecece;
-    outline: none;
-	padding: 10px 5px;
-	margin-bottom: 10px;
-	-webkit-border-radius: 1px;
-	-moz-border-radius: 1px;
-	border-radius: 1px;
-	background-color: #fff;
-	-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);
-	-moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1); 
-	box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);  
+  width: 45%;
+  color: #666;
+  text-shadow: 1px 1px 0px #fff;
+  border: 1px solid #cecece;
+  outline: none;
+  padding: 10px 5px;
+  margin-bottom: 10px;
+  -webkit-border-radius: 1px;
+  -moz-border-radius: 1px;
+  border-radius: 1px;
+  background-color: #fff;
+  -webkit-box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
 }
 #commentform textarea {
-    display: block;
-	padding: 10px;
-	width: 95%;
-	color: #666;
-	text-shadow: 1px 1px 0px #FFF;
-    border: 1px solid #cecece;
-	background-color: #fff;
-	-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);
-	-moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1); 
-	box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1); 
-	-webkit-transition: all 0.1s ease-in-out;
-    -moz-transition: all 0.1s ease-in-out;
-    -o-transition: all 0.1s ease-in-out;
-    -ms-transition: all 0.1s ease-in-out;
-    transition: all 0.1s ease-in-out;
+  display: block;
+  padding: 10px;
+  width: 95%;
+  color: #666;
+  text-shadow: 1px 1px 0px #fff;
+  border: 1px solid #cecece;
+  background-color: #fff;
+  -webkit-box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.1);
+  -webkit-transition: all 0.1s ease-in-out;
+  -moz-transition: all 0.1s ease-in-out;
+  -o-transition: all 0.1s ease-in-out;
+  -ms-transition: all 0.1s ease-in-out;
+  transition: all 0.1s ease-in-out;
 }
 #commentform input#author:focus,
 #commentform input#email:focus,
 #commentform input#url:focus,
 #commentform textarea:focus {
-	border-color: #acacac !important;
+  border-color: #acacac !important;
 }
 #commentSubmit {
-	font-size: 12px;
-	margin-top: -5px;
-	margin-bottom: 20px;
-	outline: none;
+  font-size: 12px;
+  margin-top: -5px;
+  margin-bottom: 20px;
+  outline: none;
 }
-#commentSubmit::-moz-focus-inner, #commentSubmit::-moz-focus-inner { border: 0; padding: 0; }
-#commentSubmit span{
-	display: block;
-	margin: 0px;
-	padding: 10px 15px !important;
+#commentSubmit::-moz-focus-inner,
+#commentSubmit::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+#commentSubmit span {
+  display: block;
+  margin: 0px;
+  padding: 10px 15px !important;
 }
 
 /*-----------------------------------------------------------------------------------*
 /* = Sidebar
 /*-----------------------------------------------------------------------------------*/
 #sidebar {
-	width: 220px;
-	float: right;
+  width: 220px;
+  float: right;
 }
 .sidebar-box {
-	padding-bottom: 20px;
-	margin-bottom: 20px;
-	border-bottom: 1px dotted #ccc;
+  padding-bottom: 20px;
+  margin-bottom: 20px;
+  border-bottom: 1px dotted #ccc;
 }
 .sidebar-box h4 {
-    margin-top: 0px !important;
-    margin-bottom: 15px;
-	text-transform: uppercase;
-	font-size: 12px;
+  margin-top: 0px !important;
+  margin-bottom: 15px;
+  text-transform: uppercase;
+  font-size: 12px;
 }
 .sidebar-box ul {
-    list-style: none;
+  list-style: none;
 }
-.sidebar-box li{
-	margin-bottom: 5px;
+.sidebar-box li {
+  margin-bottom: 5px;
 }
-.sidebar-box a{
-	color: #666;
+.sidebar-box a {
+  color: #666;
 }
-.sidebar-box a:hover{
-	color:#ef4034;
+.sidebar-box a:hover {
+  color: #ef4034;
 }
 
 /*-----------------------------------------------------------------------------------*
 /* = Copyright
 /*-----------------------------------------------------------------------------------*/
-#footer{
-	background:#000;
-	padding: 20px 30px;
-	margin-top: 30px;
-	margin-left: -30px;
-	margin-right: -30px;
+#footer {
+  background: #000;
+  padding: 20px 30px;
+  margin-top: 30px;
+  margin-left: -30px;
+  margin-right: -30px;
 }
-#footer a{
-	color: #ccc;
-	border-bottom: 1px dotted #ccc;
-	text-decoration: none;
+#footer a {
+  color: #ccc;
+  border-bottom: 1px dotted #ccc;
+  text-decoration: none;
 }
-#footer a:hover{
-	color: #fee825;
+#footer a:hover {
+  color: #fee825;
 }
 #copyright {
-	float: left;
-	width: 820px;
-    font-size: 10px;
-	color:#666;
-	text-transform: uppercase;
+  float: left;
+  width: 820px;
+  font-size: 10px;
+  color: #666;
+  text-transform: uppercase;
 }
-#back-to-top{
-	width: 100px;
-	float: right;
-	text-align: right;
+#back-to-top {
+  width: 100px;
+  float: right;
+  text-align: right;
 }
 
 /*-----------------------------------------------------------------------------------*
 /* = Search Bar
 /*-----------------------------------------------------------------------------------*/
 #searchbar {
-    display: block;
-    position: relative;
-	width: 220px;
+  display: block;
+  position: relative;
+  width: 220px;
 }
 #search {
-    position: relative;
-    width: 180px;
-    padding: 10px 30px 10px 10px;
-    outline: none;
-    border: 1px solid #ddd;
-	color: #666;
-}
-#search:focus { }
-#searchsubmit {
-    position: absolute;
-    right: 10px;
-    top: 12px;
-    background: url(images/search.png) no-repeat;
-    text-indent: -9999px;
-    border: none;
-    outline: none;
-    width: 15px;
-    height: 15px;
-	cursor: pointer;
+  position: relative;
+  width: 180px;
+  padding: 10px 30px 10px 10px;
+  outline: none;
+  border: 1px solid #ddd;
+  color: #666;
 }
-
-.search-portfolio-thumb{
-	float: left;
-	margin-right: 20px;
-	padding: 4px;
-	border: 1px solid #ddd;
-}
-.search-portfolio-thumb img{
-	margin: 0px;
-	padding: 0px;
-	display: block;
-	-webkit-transition: opacity 0.2s ease-in-out;
-    -moz-transition: opacity 0.2s ease-in-out;
-    -o-transition: opacity 0.2s ease-in-out;
-    -ms-transition: opacity 0.2s ease-in-out;
-    transition: opacity 0.2s ease-in-out;
-}
-.search-portfolio-thumb:hover img{
-	-moz-opacity: 0.8;
-    -khtml-opacity: 0.8;
-    opacity: 0.8;
+#search:focus {
+}
+#searchsubmit {
+  position: absolute;
+  right: 10px;
+  top: 12px;
+  background: url(images/search.png) no-repeat;
+  text-indent: -9999px;
+  border: none;
+  outline: none;
+  width: 15px;
+  height: 15px;
+  cursor: pointer;
+}
+
+.search-portfolio-thumb {
+  float: left;
+  margin-right: 20px;
+  padding: 4px;
+  border: 1px solid #ddd;
+}
+.search-portfolio-thumb img {
+  margin: 0px;
+  padding: 0px;
+  display: block;
+  -webkit-transition: opacity 0.2s ease-in-out;
+  -moz-transition: opacity 0.2s ease-in-out;
+  -o-transition: opacity 0.2s ease-in-out;
+  -ms-transition: opacity 0.2s ease-in-out;
+  transition: opacity 0.2s ease-in-out;
+}
+.search-portfolio-thumb:hover img {
+  -moz-opacity: 0.8;
+  -khtml-opacity: 0.8;
+  opacity: 0.8;
 }
 
 /*-----------------------------------------------------------------------------------*
@@ -1252,204 +1428,235 @@ ul.filter .active a:hover {
 /*-----------------------------------------------------------------------------------*/
 
 /*columns*/
-.one-half{ width:48%; }
-.one-third{ width:30.66%; }
-.two-third{ width:65.33%; }
-.one-fourth{ width:22%; }
-.three-fourth{ width:74%; }
-.one-fifth{ width:16.8%; }
-.one-sixth{ width:13.33%; }
-.one-half, .one-third, .two-third, .one-fourth, .three-fourth, .one-fifth, .one-sixth {
-	position:relative; margin-right:4%; float:left;
+.one-half {
+  width: 48%;
+}
+.one-third {
+  width: 30.66%;
+}
+.two-third {
+  width: 65.33%;
+}
+.one-fourth {
+  width: 22%;
+}
+.three-fourth {
+  width: 74%;
+}
+.one-fifth {
+  width: 16.8%;
+}
+.one-sixth {
+  width: 13.33%;
+}
+.one-half,
+.one-third,
+.two-third,
+.one-fourth,
+.three-fourth,
+.one-fifth,
+.one-sixth {
+  position: relative;
+  margin-right: 4%;
+  float: left;
 }
 
-
-.column-last{margin-right: 0px;}
-.column-first{margin-left: 0px;}
+.column-last {
+  margin-right: 0px;
+}
+.column-first {
+  margin-left: 0px;
+}
 
 /*box shortcodes*/
 .box-shortcode {
-    margin: 5px 0px;
-    padding: 10px;
-	color: #fff;
-	font-size: 13px;
-	font-weight: bold;
+  margin: 5px 0px;
+  padding: 10px;
+  color: #fff;
+  font-size: 13px;
+  font-weight: bold;
 }
 .box-black {
-    background-color: #000;
+  background-color: #000;
 }
 .box-red {
-    background-color: #e62727;
+  background-color: #e62727;
 }
 .box-green {
-    background-color: #91bd09;
+  background-color: #91bd09;
 }
 .box-blue {
-    background-color: #00ADEE;
+  background-color: #00adee;
 }
 /*highlights*/
-.text-highlight { padding: 2px }
+.text-highlight {
+  padding: 2px;
+}
 .highlight-yellow,
 .highlight-yellow a {
-    background-color: #FFF7A8;
-    color: #695D43;
+  background-color: #fff7a8;
+  color: #695d43;
 }
 .highlight-pink,
 .highlight-pink a {
-    background-color: #F7DEEB;
-    color: #724473;
+  background-color: #f7deeb;
+  color: #724473;
 }
 .highlight-purple,
 .highlight-purple a {
-    background-color: #E0DBF6;
-    color: #5C5577;
+  background-color: #e0dbf6;
+  color: #5c5577;
 }
 .highlight-blue,
 .highlight-blue a {
-    background-color: #D7F0FF;
-    color: #2A67A4;
+  background-color: #d7f0ff;
+  color: #2a67a4;
 }
 .highlight-green,
 .highlight-green a {
-    background-color: #E7FFCE;
-    color: #47630A;
+  background-color: #e7ffce;
+  color: #47630a;
 }
 .highlight-red,
 .highlight-red a {
-    background: #FFCEBE;
-    color: #A22121;
+  background: #ffcebe;
+  color: #a22121;
 }
 .highlight-gray,
 .highlight-gray a {
-    background-color: #EBEBEB;
-    color: #787777;
+  background-color: #ebebeb;
+  color: #787777;
 }
 
 /*Other buttons*/
-.button{
-	margin-right: 5px;
+.button {
+  margin-right: 5px;
 }
-.button, .button span {
-	display: inline-block;
-	-webkit-border-radius: 3px;
-	-moz-border-radius: 3px;
-	border-radius: 3px;
+.button,
+.button span {
+  display: inline-block;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
 }
 .button {
-	white-space: nowrap;
-	line-height:1em;
-	position:relative;
-	outline: none;
-	overflow: visible; /* removes extra side padding in IE */
-	cursor: pointer;
-	border: 1px solid #999;/* IE */
-	border: rgba(0, 0, 0, .2) 1px solid;/* Saf4+, Chrome, FF3.6 */
-	border-bottom:rgba(0, 0, 0, .4) 1px solid;
-	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	box-shadow: 0 1px 2px rgba(0,0,0,.2);
-	background: -moz-linear-gradient(
-		center top,
-		rgba(255, 255, 255, .1) 0%,
-		rgba(0, 0, 0, .1) 100%
-	);/* FF3.6 */
-	background: -webkit-gradient(
-		linear,
-		center bottom,
-		center top,
-		from(rgba(0, 0, 0, .1)),
-		to(rgba(255, 255, 255, .1))
-	);/* Saf4+, Chrome */
-	filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000'); /* IE6,IE7 */
-	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000')"; /* IE8 */
-	-moz-user-select: none;
-	-webkit-user-select:none;
-	-khtml-user-select: none;
-	user-select: none;
-	margin-bottom:10px;
-}
-.button.full, .button.full span {
-	display: block;
-}
-.button:hover, .button.hover {
-	background: -moz-linear-gradient(
-		center top,
-		rgba(255, 255, 255, .2) 0%,
-		rgba(255, 255, 255, .1) 100%
-	);/* FF3.6 */
-	background: -webkit-gradient(
-		linear,
-		center bottom,
-		center top,
-		from(rgba(255, 255, 255, .1)),
-		to(rgba(255, 255, 255, .2))
-	);/* Saf4+, Chrome */
-	filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF'); /* IE6,IE7 */
-	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF')"; /* IE8 */
-}
-.button:active, .button.active {
-	top:1px;
+  white-space: nowrap;
+  line-height: 1em;
+  position: relative;
+  outline: none;
+  overflow: visible; /* removes extra side padding in IE */
+  cursor: pointer;
+  border: 1px solid #999; /* IE */
+  border: rgba(0, 0, 0, 0.2) 1px solid; /* Saf4+, Chrome, FF3.6 */
+  border-bottom: rgba(0, 0, 0, 0.4) 1px solid;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+  background: -moz-linear-gradient(
+    center top,
+    rgba(255, 255, 255, 0.1) 0%,
+    rgba(0, 0, 0, 0.1) 100%
+  ); /* FF3.6 */
+  background: -webkit-gradient(
+    linear,
+    center bottom,
+    center top,
+    from(rgba(0, 0, 0, 0.1)),
+    to(rgba(255, 255, 255, 0.1))
+  ); /* Saf4+, Chrome */
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000'); /* IE6,IE7 */
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000')"; /* IE8 */
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  user-select: none;
+  margin-bottom: 10px;
+}
+.button.full,
+.button.full span {
+  display: block;
+}
+.button:hover,
+.button.hover {
+  background: -moz-linear-gradient(
+    center top,
+    rgba(255, 255, 255, 0.2) 0%,
+    rgba(255, 255, 255, 0.1) 100%
+  ); /* FF3.6 */
+  background: -webkit-gradient(
+    linear,
+    center bottom,
+    center top,
+    from(rgba(255, 255, 255, 0.1)),
+    to(rgba(255, 255, 255, 0.2))
+  ); /* Saf4+, Chrome */
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF'); /* IE6,IE7 */
+  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF')"; /* IE8 */
+}
+.button:active,
+.button.active {
+  top: 1px;
 }
 .button span {
-	position: relative;
-	color:#fff;
-	font-weight: bold;
-	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
-	border-top: rgba(255, 255, 255, .3) 1px solid;
-	padding:0.8em 1.3em;
-	line-height:1em;
-	text-decoration:none;
-	text-align:center;
-	white-space: nowrap;
+  position: relative;
+  color: #fff;
+  font-weight: bold;
+  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
+  border-top: rgba(255, 255, 255, 0.3) 1px solid;
+  padding: 0.8em 1.3em;
+  line-height: 1em;
+  text-decoration: none;
+  text-align: center;
+  white-space: nowrap;
 }
 .button.black {
-	background-color: #333333;
+  background-color: #333333;
 }
 .button.gray {
-	background-color: #666666;
+  background-color: #666666;
 }
 .button.light-gray {
-	background-color: #D5D2D2;
-	text-shadow: 1px 1px 0px #FFF;
+  background-color: #d5d2d2;
+  text-shadow: 1px 1px 0px #fff;
 }
-.button.light-gray span{
-	color: #242424;
-	text-shadow: 1px 1px 0px #e7e7e7;
-	border-top: rgba(255, 255, 255, .6) 1px solid;
+.button.light-gray span {
+  color: #242424;
+  text-shadow: 1px 1px 0px #e7e7e7;
+  border-top: rgba(255, 255, 255, 0.6) 1px solid;
 }
 .button.red {
-	background-color: #e62727;
+  background-color: #e62727;
 }
 .button.orange {
-	background-color: #f24919;
+  background-color: #f24919;
 }
 .button.magenta {
-	background-color: #A9014B;
+  background-color: #a9014b;
 }
 .button.yellow {
-	background-color: #ffb515;
+  background-color: #ffb515;
 }
 .button.blue {
-	background-color: #00ADEE;
+  background-color: #00adee;
 }
 .button.pink {
-	background-color: #e22092;
+  background-color: #e22092;
 }
 .button.green {
-	background-color: #91bd09;
+  background-color: #91bd09;
 }
 .button.rosy {
-	background-color: #F16C7C;
+  background-color: #f16c7c;
 }
 .button.brown {
-	background-color: #804000;
+  background-color: #804000;
 }
 .button.purple {
-	background-color: #800080;
+  background-color: #800080;
 }
 .button.cyan {
-	background-color: #46C7C7;
+  background-color: #46c7c7;
 }
 .button.gold {
-	background-color: #D4A017;
-}
\ No newline at end of file
+  background-color: #d4a017;
+}
diff --git a/app/templates/index.html b/app/templates/index.html
index e8480f8..eefc3e6 100644
--- a/app/templates/index.html
+++ b/app/templates/index.html
@@ -8,15 +8,9 @@
       <img class="img-fluid" src="/static/img/onni_LOGO-RGB-transparent_bg_cut.png" alt="Logo">
       
       </div>
-      
-      
-      
-      
-      
-      
 
-      <p class="lead text-center mt-5 font-weight-bold">{{ _('Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below -
-       you can participate for as many experiments you want.') }}</p>
+      <p class="lead text-center mt-5 font-weight-bold">{{_(group.description)}}</p>
+
       <p class="lead text-center mt-5">{{ _('If you are participating for a study for the first time, click on the "Begin task" -button. If you are returning to continue 
       a previously started task, click on the "Continue task" button.') }}</p>
 
@@ -203,24 +197,7 @@
                     
                     
                     
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
+
                     
                     
                     
diff --git a/app/translations/el/LC_MESSAGES/messages.mo b/app/translations/el/LC_MESSAGES/messages.mo
index 2bc1396a866c90deb8c0e9897093ef49ea56d91d..748f1ef3f67ccc69c3aafdc0d4ae7a7d5eeaa0d3 100644
GIT binary patch
delta 978
zcmdmLdfBx8o)F7a1_lNOO$G)A83qQ16h;OHYX$~}HB2B;28J2T3=FIc3=A`w85p=2
z7#QX=GcfQlFfgoQW?+zFU|`tJ%)r3Uz`$^cnSp_qfq~%>GXnz$0|UbcW(Ed91_p+o
z%nS^N85kJ2Sr`~zF)%QkXJKFnWME*}#R@j3o`HuAqEV8KfkA|UfkB-OVxbKi0|O@m
z1A`MA1A`I+1A`A60|Pq)14BL=1A{gL14B6*149}E1H)oA1_mz%1_my61_nh228K{}
zi28DNh`F=a85klN7#LQtL(F61fSAw2!N9=BP|v_1!~xNu$icwC&A`Cm!U1*}LjVT@
z0~-SaLo5fxhbdqU3=Ab43=DD%3=GX23=Df17#J3DFfhb1Ffhb(GBAWOFfi=nWMFV*
zU|<mCVqg$wU|@*mf`n=@7sx^eh8x@r3<?Yk49~e47}V++7#KKs7#Iv07#Q?<7#JKG
z7#I?H7#K7_KI4ICIK#uhV8Fn@aGQsLA&8NIfrpoYL6(VuA)b$cp^t%qp;iFmQyxJG
zEhPxiuOSHWNT47CgERvJL!2N3LjeN=LzN)JL$3uH80tYm^IMRC;UOsKgculRFfcHf
z3o|e{GcYh*5N2QqVPIeo5rG74rU(PWF9rsNZV?6s9R>!5Hc<$@S(Jf6pMinlfhYq*
zC<6n7fEXl-(!?O*lf)n%IRq8ID8|4b&%nU&SB#;a!GwW<K~|iB!H<!FAxNBoVFd#N
z!$JuLhK&pi3|^8946_*+82(5yFjz4#FwBr*U|@u#OK=c^n4okDN|+!vD1CrvNe}_W
zAfJQM5h#(WK*g9rb~1n*Q4dM=P;mwU1_lN-21t4U<p@xM1j+F+FffQQFfa&#I1G?@
z6$T|%1_lNes2GR><p>E7g8>p1pq!%00ErHeFeoR1a)&YlBzJIwf<cr4lF&e@7o-T3
zxIi=rPyWi3xH*+Mm1Xi(c9+Sj9BrF7aZF|0T)-vGxOoaUGvnrEJkL2N&k&oi*+jgN
F833g3ShxTH

delta 949
zcmca?y4AG)o)F7a1_lNOT?PgQ83qQ17Df;cf!{DOFmNz1FuY}AU|?lnVED$wz`(`8
z!0?BOfq{pCfq|WwfkBFafkA|sfq|cafkB^{fq|ESfx(^`qR*F^fq{>Kfgy~UfkBXg
zfgzQdf#EO%14B781H&r@hI$5T76yhu1_lN-R)~QWtPlfQSs55a7#J8PvqCIh!OFnE
z$-uy{j+KEyiGhJ(2P*>uI|Bp5ZB_;bZ3YI0$E*wtX$%Yu{A>&iUJMKjWo!%#iVO@4
z2iYL%AG1NsWn*Vxhy*#99b{fT14AA=#DWTTh)e6(AsTww85p=37#KFNLmak;9pdwo
z><kQS3=9lc*dac?4b}IWoq<7)fq~%{RG%aV#HXqp3=DA$3=A(h7#PAB7#KV_85mp{
z7#QYrGBAkOGcYhb<z!&!Wn^IZ%LxgxZf=M}rf@SbC@?TEEaqllP-9?VIKs`qV93D0
z@S2-}!I6Q1L6(PsL4$#TA)W`Kz5_~6=V4$lU|?Wa#>2o6#K^#Kori%zmWhEui;sb!
z599y=NJv~4U|^^R#nn>*h(VtPAU>55WMGhHU|`S`WMC*@U|?_+g!puuASCFH2{JG|
zWME)W5Mp4M!N9=4B+S6z%)r1fTbO|%gn@zKzAz-{O+*+Neu3g%gn>bafq@}V6hhaD
zGBD^fFfgnZWvFKe1;wE#Bn}P5AQG`+kf81rgZONQ7({-#7z2Ym0|UclF$M+`1_p-D
zVvs1(5NBZUV`N}35ocgn!N9=KEWyCAk%56hN0NbIHUk60JxK-zD+UIJDo{#wOv%m6
z3o6ZHa7-^sojjL0hR-cCCsn~OzeK?;zcepp^AF}U7S58ylFZ_g%;e(9F&u8(VVSAr
z3i=AJDVZgc7jm?-b18tqW)04%jA|je&PAz-C7Jnox-N+&sa6U`28I^8hDN$Zh6;v;
vRwkC(21W)3n|E=^F>=5x-+Y~$g%RE2TRbl~xq=Zk9~7I2Z1d(o@g`;ft;UNc

diff --git a/app/translations/el/LC_MESSAGES/messages.po b/app/translations/el/LC_MESSAGES/messages.po
index 4af4364..27041a0 100644
--- a/app/translations/el/LC_MESSAGES/messages.po
+++ b/app/translations/el/LC_MESSAGES/messages.po
@@ -91,10 +91,7 @@ msgid "Please insert your participant ID:"
 msgstr "Παρακαλώ εισάγετε τον  κωδικό αναγνώρισης σας"
 
 #: app/templates/index.html:18
-msgid ""
-"Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! "
-"The experiments that are currently underway are listed below -\n"
-"       you can participate for as many experiments you want."
+msgid "Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want."
 msgstr "Καλώς ήρθατε στο εργαστήριο συστημάτων των ανθρώπινων συναισθημάτων! Τα πειράματα που βρίσκονται σε εξέλιξη αναφέρονται παρακάτω - μπορείτε να συμμετάσχετε σε όσα πειράματα θέλετε."
 
 #: app/templates/index.html:20
@@ -276,21 +273,6 @@ msgstr ""
 #~ msgid "List of experiments in database:"
 #~ msgstr "Λίστα των πειραμάτων"
 
-#~ msgid "Name:"
-#~ msgstr ""
-
-#~ msgid "Instruction:"
-#~ msgstr ""
-
-#~ msgid "Participation ID is required for this task."
-#~ msgstr ""
-
-#~ msgid "Begin task"
-#~ msgstr ""
-
-#~ msgid "Continue task"
-#~ msgstr ""
-
 #~ msgid "Research bulletin can be read"
 #~ msgstr ""
 
diff --git a/app/translations/fa/LC_MESSAGES/messages.mo b/app/translations/fa/LC_MESSAGES/messages.mo
index a2d5c96d7e279ddc626a202e8d5310f2f51aecc0..4cf662f746466a4d704bd750ef09b69a4a83cb03 100644
GIT binary patch
delta 977
zcmdmEaLb_no)F7a1_lNOO$G)A83qQ16h;OHYX$~}HB2B;28J2T3=FIc3=A`w85p=2
z7#QX=GcfQlFfgoQW?+zFU|`tJ%)r3Uz`$^cnSp_qfq~%>GXnz$0|UbcW(Ed91_p+o
z%nS^N85kJ2Sr`~zF)%QkXJKFnWME*}#R@j3o`HuAqEV8KfkA|UfkB-OVxbKi0|O@m
z1A`MA1A`I+1A`A60|Pq)14BL=1A{gL14B6*149}E1H)oA1_mz%1_my61_nh228K{}
zi28DNh`F=a85klN7#LQtL(F61fSAw2!N9=BP|v_1!~xNu$icwC&A`Cm!U1*}LjVT@
z0~-SaLo5fxhbdqU3=Ab43=DD%3=GX23=Df17#J3DFfhb1Ffhb(GBAWOFfi=nWMFV*
zU|<mCVqg$wU|@*mVql16WMC-ff|z@en}I=@fq~&3Hv@xUJp%&+6Awf{golAamVtr6
zf(N28jE8|il!1XEkB5Q5gMopeg@=JbhmnEdEDr<2T1EzjU%U(q6(FDSL)0k>KxlIT
z1_oya1_oaNNQg}ofOuf003_&F3P3{Qw*Uh}J;>#(f(#6|L2)n0z!1;Cz~CUnz+lV3
zz_0*H-xGrPSVowEVL1Z>gS9Xu?jH+7;`*O31A`s|0|UDV14B3i1B00e#6x`|5b;eS
zkhJqqgn>byfq~(T2qdayL>cNC#26SD3`H3j92glGJVY57CNeNEbc!)BY+_(wkQQfP
zC}3b<I42IV&|ZRpff14}85E#2D4l{5CWs44A0S#1L_o1L1H`wWM5+Q6V`hMav^*&O
zL8%@p&LF_Rz@WweNe`eL0ZNb{IX(skutSAF90o}A2!j$U0|NsKR18Fca)bnk!2n5o
zpq!%0z`&pZ6$9lYQ0@T5KPY!_%YzaM10<n=QZGmyC~<*k5T5*%DRFZub1KW^tL!e5
lRXN%=Z{nEBxVeB!gmH2&_vX$1Jh2>;w~M52))EzB1^_<`RayW5

delta 948
zcmca*u*abOo)F7a1_lNOT?PgQ83qQ17Df;cf!{DOFmNz1FuY}AU|?lnVED$wz`(`8
z!0?BOfq{pCfq|WwfkBFafkA|sfq|cafkB^{fq|ESfx(^`qR*F^fq{>Kfgy~UfkBXg
zfgzQdf#EO%14B781H&r@hI$5T76yhu1_lN-R)~QWtPlfQSs55a7#J8PvqCIh!OFnE
z$-uy{j+KEyiGhJ(2P*>uI|Bp5ZB_;bZ3YI0$E*wtX$%Yu{A>&iUJMKjWo!%#iVO@4
z2iYL%AG1NsWn*Vxhy*#99b{fT14AA=#DWTTh)e6(AsTww85p=37#KFNLmak;9pdwo
z><kQS3=9lc*dac?4b}IWoq<7)fq~%{RG%aV#HXqp3=DA$3=A(h7#PAB7#KV_85mp{
z7#QYrGBAkOGcYhb<z!%JV`O0X%Lxgx7H)`zz1$28$_xw)v$!Eaw-3s{z|FuQ%fP_!
zg`0svoPmKsh=+kel!1XkiwEKX2Ob6n4+aJXe;x(~9YzL*89WROYZ)0Bj`A`vR4_0w
z6!SyWzu{+Ks0V3e5@29(W?*2D5P$?}i~z)EDFTqFDG>k#6$8UD0f<j72rw|*2F0}?
z14BFm0|U1Z1A{FC14A~HUMU0#iRVHL49gi97}$g%X=I%+#Dgb=85r~!7#J=IGt@JL
zGcYhPia>lCDFTtG6@dix8YsP8gn>byfq~(W2qaB>5@BEv10_CDNEFG5GB7wWGB9X~
zGB8X8IYf+sVG{!b!(TB5h5}F&ibEWrD8azM;Fyw|nHN-=$KaS=lsb7Xa}1wbW=^Vt
zUw(;#TYhO?%H|);X)K&2i6xoEC7H>^lVdpCxWh72%N6t$TvIYjCNJb@XXjD?gUuS8
zQyJAlbe)S*6H7Al^K@MjOH!>Aj0_AdbPbJkjSLkG4XsQpwGE663^woL5@+OqSw8s!
b_ZD<}n|b0mxPlQDKM=`4ws^C<s4z1Cg8+wn

diff --git a/app/translations/fa/LC_MESSAGES/messages.po b/app/translations/fa/LC_MESSAGES/messages.po
index e19b138..8807c1d 100644
--- a/app/translations/fa/LC_MESSAGES/messages.po
+++ b/app/translations/fa/LC_MESSAGES/messages.po
@@ -91,10 +91,7 @@ msgid "Please insert your participant ID:"
 msgstr "لطفا شناسه خود را اینجا وارد کنید:"
 
 #: app/templates/index.html:18
-msgid ""
-"Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! "
-"The experiments that are currently underway are listed below -\n"
-"       you can participate for as many experiments you want."
+msgid "Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want."
 msgstr "به تحقیق ...از گروه تحقیقاتی احساسات انسانها خوش آمدید. تحقیقاتی که در حال حاضرقابل انجام هستند در زیر ذکر شده است. شما می توانید درهر تعداد ازاین تحقیقات که مایل هستید شرکت کنید."
 
 #: app/templates/index.html:20
@@ -271,21 +268,6 @@ msgstr ""
 #~ msgid "List of experiments in database:"
 #~ msgstr "لیست تحقیقات موجود در بانک اطلاعاتی::"
 
-#~ msgid "Name:"
-#~ msgstr ""
-
-#~ msgid "Instruction:"
-#~ msgstr ""
-
-#~ msgid "Participation ID is required for this task."
-#~ msgstr ""
-
-#~ msgid "Begin task"
-#~ msgstr ""
-
-#~ msgid "Continue task"
-#~ msgstr ""
-
 #~ msgid "Research bulletin can be read"
 #~ msgstr "تحریریه تحقیقاتی را می توان در اینجا مطالعه کرد."
 
diff --git a/app/translations/fi/LC_MESSAGES/messages.mo b/app/translations/fi/LC_MESSAGES/messages.mo
index 405d930bafd9be2894b1fb3b27267e47b53d92da..8c2a5506fec8c2ea49cd9da8db3a566c243ad67f 100644
GIT binary patch
delta 995
zcmbQHa!#fGo)F7a1_lNOZ3YGg83qQ15=I6FYX$~}GfW^+28JEX3=A9$3=BJ&85md@
z7#I#QGca&5Ffg28W?<l9U|_h+%)lVUz`*c;nSp_yfq~&SGXn!J0|Ns$3q+qJ3j>27
z0|SE+3j@Pp1_lNb76yh_3=9lESQr=r85rsr9<xFWGG&8kbYf#*5Mf|o2w;O)n99b$
zz{$YCkj=)xpv1tyP|C)@z|O$HFoO-^=ml&H3~3+-voSDuF)%O~vokO#GB7aIu|w1^
zV27A{n4N(kl7WHYB0I!9Z4Qw6^$ZNA91IM63=9m`91INH3=9lj91sVEaX@^U%)!9G
z#=yXk#{uzSDO7zc2Lpo~0|UbpsJ_h{3=Df17#Q|*Ffhb1Ffi0`GBAWOFfiQaWMFV*
zU|=xfVqg$wU|^`=Vqi#NWMG)U#lXN(&%nU&l^f!tf7}p@*myuLV_@LrVPKGEU|<mD
zfdrvGRNRpV;sbXc1_oIM28KW$28JaJ3=H`^3=Df27#Ku&85o=x7#J?`Ld+HAgV3^k
z3=EPC3=FD#5cBQ%7#Qk7aqG$li9<iAL?#~tgBi#`J_d$V1_p*@d<+Z@3=9lB{16}e
z@-r}qF)%RX@Iwr4=4W6?VPIhB=7)IT162GwKg7rX`571l7#JAD1t9Vo0+5i^7htFd
zCn_reNSr$eKs1C3Ffa%)Ffil_K%%5UfPrBb0|P^k03;~g1sNF985kIP1sNDTKp`jy
zi5fd01_nk*x@Ay+(#)X5$iTp$$pA@^AYo8~RRb{?>LIBfl%hc{R0Rt%Ft9K{d@9cX
z31X-)I3;T^Ffb@XbBrid0+jMWaVrevOMs$*fq?;(i9opqDh!TJP!xdppfty8%fP^(
z&cMK+1rlL^1P>^+t1v)90F=c*K@Cdrpwtgl22SA&43l3m<!nx6)?%5wiT&s1O&n7h
UHy3b~Gj9IIeT;eYeSUK$0Jro}u>b%7

delta 950
zcmX@7GEJrao)F7a1_lNOT?PgQ83qQ17Df;cf!{DOFmNz1FuY}AU|?lnVED$wz`(`8
z!0?BOfq{pCfq|WwfkBFafkA|sfq|cafkB^{fq|ESfx(^`qR*F^fq{>Kfgy~UfkBXg
zfgzQdf#EO%14B781H&r@hI$5T76yhu1_lN-R)~QWtPlfQSs55a7#J8PvqCIh!OFnE
z$-uy{j+KEyiGhJ(2P*>uI|Bp5ZB_;bZ3YI0$E*wtX$%Yu{A>&iUJMKjWo!%#iVO@4
z2iYL%AG1NsWn*Vxhy*#99b{fT14AA=#DWTTh)e6(AsTww85p=37#KFNLmak;9pdwo
z><kQS3=9lc*dac?4b}IWoq<7)fq~%{RG%aV#HXqp3=DA$3=A(h7#PAB7#KV_85mp{
z7#QYrGBAkOGcYhb<z!&!Wn^IZ%LxgxZf=Orrf@?nn!^oo;9_nD25ANchLzlqpgal{
zzs?Qv2?N7jZiok-b2Bi=f})C>fnf>Ar#uV{dl?uQcJeSVIDvwm7h?V{UIvDGP!JyC
zWnhqGU|=}K3$f@4FT^3Qcp-8787j`l$G~6)GLVmfA(erF!JChP!GVE+VIv>J=b!i(
z7{nMD7zFtt7HIG@Fr+XrFc|PdJTet3K8K%yL7ahsVF^D&Jvc7+@G~$7FfcIOhbsKQ
z4+-k;{168*2|&^UhX6#QtN;Up5Ca2)sQ@I3JOmgRb}=w8ga|-_mS2#8A)SGNAyklo
z!GnQ;VXq)0s@Oo998+>L^MXqA7#!1!QYRl{j^T65%t=-7%P&!I%P-AK*{sN-&7x48
znpl*ap^#LXlapGKnWvDPn5U4Gs!)`gn4*x8T9i83lj9FNmjW1UcIBMPs1~B@T$Gwv
zl9`{U>ylWKYNcRgU}&LhXryaos9<PlWn!sqU}Rvh`8rn>Bf5<NJja=pf>H_DxmirW
Gf(ZbjvxX4>

diff --git a/app/translations/fi/LC_MESSAGES/messages.po b/app/translations/fi/LC_MESSAGES/messages.po
index c3301ad..8526a38 100644
--- a/app/translations/fi/LC_MESSAGES/messages.po
+++ b/app/translations/fi/LC_MESSAGES/messages.po
@@ -91,10 +91,7 @@ msgid "Please insert your participant ID:"
 msgstr "Syötä ID-tunnuksesi:"
 
 #: app/templates/index.html:18
-msgid ""
-"Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! "
-"The experiments that are currently underway are listed below -\n"
-"       you can participate for as many experiments you want."
+msgid "Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want."
 msgstr ""
 "Tervetuloa Human Emotion Systems –laboratorion Onni-nettilaboratorioon! "
 "Alla on listattuna tällä hetkellä käynnissä olevat kokeet – voit "
@@ -265,21 +262,6 @@ msgstr ""
 #~ msgid "List of experiments in database:"
 #~ msgstr "Tietokannassa olevat kokeet:"
 
-#~ msgid "Name:"
-#~ msgstr "Nimi:"
-
-#~ msgid "Instruction:"
-#~ msgstr "Ohjeet:"
-
-#~ msgid "Participation ID is required for this task."
-#~ msgstr "Tähän kokeeseen osallistumiseen tarvitaan koehenkilötunnus"
-
-#~ msgid "Begin task"
-#~ msgstr "Aloita"
-
-#~ msgid "Continue task"
-#~ msgstr "Jatka"
-
 #~ msgid "Research bulletin can be read"
 #~ msgstr "Tutkimustiedote on luettavissa"
 
diff --git a/app/translations/it/LC_MESSAGES/messages.mo b/app/translations/it/LC_MESSAGES/messages.mo
index 3cae4a0828bd1482dfa48fe4e689d3528520ca55..b4e7865f180c9b8a39860899442e2bb2e96668b5 100644
GIT binary patch
delta 977
zcmaE;{$IWRo)F7a1_lNOO$G)A83qQ16h;OHYX$~}HB2B;28J2T3=FIc3=A`w85p=2
z7#QX=GcfQlFfgoQW?+zFU|`tJ%)r3Uz`$^cnSp_qfq~%>GXnz$0|UbcW(Ed91_p+o
z%nS^N85kJ2Sr`~zF)%QkXJKFnWME*}#R@j3o`HuAqEV8KfkA|UfkB-OVxbKi0|O@m
z1A`MA1A`I+1A`A60|Pq)14BL=1A{gL14B6*149}E1H)oA1_mz%1_my61_nh228K{}
zi28DNh`F=a85klN7#LQtL(F61fSAw2!N9=BP|v_1!~xNu$icwC&A`Cm!U1*}LjVT@
z0~-SaLo5fxhbdqU3=Ab43=DD%3=GX23=Df17#J3DFfhb1Ffhb(GBAWOFfi=nWMFV*
zU|<mCVqg$wU|@*mf`n=@7bIkEa5FH7F)%PZ<Yr(HtY=_g_`%J<AP@2Z4+DcJ0|SE=
z4@7|j55ytiJRp}cFr@G>Fq~vyU?>KuV`N~k<z--SWME(j=7TtVDjy_@7V<GLNPwb{
z58~6Kd=L+u=3`*cVqjpn4OP#^&%jV`!N9;E#LvJ`$H2hg%@0Wjr}!Bd)EO8UzVI_J
z7=qG;0K`Fl0t^fd3=9mZ0+6_UCIGSEhX4bE00RTVKLG{?BL)TrenAEXVNlcwGB8Lo
zFffD(GB7AJFfbGdLZWzzAS7f~3Nq9)s4y@v928_=c)-BG@Jx__A%cN{;kXb3LlFZ5
zgMu&vgEs>M!(?Gd2;CQEU|@u#O9llf4N9k=gbCt;(g%nJSqh>-SegM6@1R5qvI``}
z%)r1P%K$R79+K)of*=g?g&G4SJ%DlqC_#e6`4}J}AOzwtKwJ;<At;nspkg2jlp{bv
z4`PFI11P7cGB7Y`fCLyIp#{nvpwIy24sKAqgW?>N&_Jmdqz;t0Kr{$X{>qfNIh8q;
rW%5;am&vLeZJRf7Ol90$z$MK%c?x&WW_=zW*2!*yWt&e3N-_Zee2rAb

delta 948
zcmeyb{!qRCo)F7a1_lNOT?PgQ83qQ17Df;cf!{DOFmNz1FuY}AU|?lnVED$wz`(`8
z!0?BOfq{pCfq|WwfkBFafkA|sfq|cafkB^{fq|ESfx(^`qR*F^fq{>Kfgy~UfkBXg
zfgzQdf#EO%14B781H&r@hI$5T76yhu1_lN-R)~QWtPlfQSs55a7#J8PvqCIh!OFnE
z$-uy{j+KEyiGhJ(2P*>uI|Bp5ZB_;bZ3YI0$E*wtX$%Yu{A>&iUJMKjWo!%#iVO@4
z2iYL%AG1NsWn*Vxhy*#99b{fT14AA=#DWTTh)e6(AsTww85p=37#KFNLmak;9pdwo
z><kQS3=9lc*dac?4b}IWoq<7)fq~%{RG%aV#HXqp3=DA$3=A(h7#PAB7#KV_85mp{
z7#QYrGBAkOGcYhb<z!&!Wn^IZ%LxgxZf*!Yg`0svjDdk+E;l6Tws12r$TKi79OGtS
z5M^Lscm|dK!wqquFb~873Q$^~hk@ZF0|SE{4+DcJBLf2mF9U-k0|SE`AH-t`d<+cr
zpt#K8V_=W~#R(rIBqs1dd^U}bfkBIbfnga`!$m#@1`7rThP!+W40Q|)3}XBY44MoK
z3{&|T7}OaU820lsFc>m0Fg)jnI9yVIfuVtcfx$ok;(?6<5c3ZUFfa%(Ffg1HV5ny>
zVqjpnCBVQS%)r3FE6Bhg$-uy%C<qB^Ye5DEWd;TYH$g~R$P#2=5NBXus25~lP+?$T
zm@WwM$sR!lh6fA`3?~E`7$O)L7*+}~FcdK`Ffa)-FnBXCFq8^ILhc~Q633L>%)Fq|
zJO;<~qSVQAnPd3eGILTD{PIf_-11BFQa1l!PGjLLNi4}MF3C(To*cvB#vPWKTCSk4
z;F^+IGI=3KJ3E&G7;M(yoXV&cqU&6gnpl#VpQr1RSdwa`U}Ruup=)TQYh<WkXlP|(
rscm3nV6b@?mmDJp%<{?CxqH#=P3GZc<qAevoG)08Z1Lu&f>KNXjBSMW

diff --git a/app/translations/it/LC_MESSAGES/messages.po b/app/translations/it/LC_MESSAGES/messages.po
index b8adfb3..05d9146 100644
--- a/app/translations/it/LC_MESSAGES/messages.po
+++ b/app/translations/it/LC_MESSAGES/messages.po
@@ -89,10 +89,7 @@ msgid "Please insert your participant ID:"
 msgstr "Per favore inserisca il suo ID di partecipazione:"
 
 #: app/templates/index.html:18
-msgid ""
-"Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! "
-"The experiments that are currently underway are listed below -\n"
-"       you can participate for as many experiments you want."
+msgid "Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want."
 msgstr "Benvenuto al laboratorio Onni-net del laboratorio di sistemi di emozioni umane (Human Emotion Systems)! Gli esperimenti che sono attivi al momento sono listati qui sotto - può partecipare a quanti e quali esperimenti vuole."
 
 #: app/templates/index.html:20
@@ -250,21 +247,6 @@ msgstr ""
 #~ msgid "List of experiments in database:"
 #~ msgstr ""
 
-#~ msgid "Name:"
-#~ msgstr ""
-
-#~ msgid "Instruction:"
-#~ msgstr ""
-
-#~ msgid "Participation ID is required for this task."
-#~ msgstr ""
-
-#~ msgid "Begin task"
-#~ msgstr ""
-
-#~ msgid "Continue task"
-#~ msgstr ""
-
 #~ msgid "Research bulletin can be read"
 #~ msgstr ""
 
diff --git a/app/translations/zh/LC_MESSAGES/messages.mo b/app/translations/zh/LC_MESSAGES/messages.mo
index 8bb0c4c3791602e08f7bb0e3ebfab09d9c388cb4..f7c6f996fc45c87abe992e4803f94d00bfb4262c 100644
GIT binary patch
delta 977
zcmdm~bX}?bo)F7a1_lNOO$G)A83qQ16h;OHYX$~}HB2B;28J2T3=FIc3=A`w85p=2
z7#QX=GcfQlFfgoQW?+zFU|`tJ%)r3Uz`$^cnSp_qfq~%>GXnz$0|UbcW(Ed91_p+o
z%nS^N85kJ2Sr`~zF)%QkXJKFnWME*}#R@j3o`HuAqEV8KfkA|UfkB-OVxbKi0|O@m
z1A`MA1A`I+1A`A60|Pq)14BL=1A{gL14B6*149}E1H)oA1_mz%1_my61_nh228K{}
zi28DNh`F=a85klN7#LQtL(F61fSAw2!N9=BP|v_1!~xNu$icwC&A`Cm!U1*}LjVT@
z0~-SaLo5fxhbdqU3=Ab43=DD%3=GX23=Df17#J3DFfhb1Ffhb(GBAWOFfi=nWMFV*
zU|<mCVqg$wU|@*mVql16WMC-ff|z%a8)E(q5M9r}!0;5rU|?YQ1f~B&X&xSkizRs&
z7(^Ku7?gP!7`hl37%X`h7%nm}FdX4wV6bFhV3@`WQFj4K-{OTh_z9H%1xo+pg*cpp
z529Y3kAb0Hnt_4AkPqTwUp@u~Lk0$h$$Sh9vJ4CiN1^m%K8TAM`574885kJ&_#yl-
zeu$5f`57357#J9`_#qb5LgnW`#aBYr?Sb+S^FthXjh~?&?6YV544{}`_`}b@;Kabd
zP$R&=;K{(iuwQ_I!IXi4fm09?l=gxQ42+O;$)EtGLFp8fFhN{U`T)_AAOea(9t5Q$
zP$E@<iZL@lJSY#c6_o0s;tT=|3=C=vkn{k`5ugMKlH+4wU=U+~_!7hi#j7wVu`)0)
zuz&=h7?dL<plncX0Ob@_1_lNVs2C_GfpUj310;8F%YzaM10)zhsTZUUl(;}N2v7dX
xl(;#SIhAGdRd$!jsvK>bH*rj5++4sV!Z^8?J81Je?wQP!C-FOMzQ-TU2mpz*RUZHV

delta 948
zcmcbvv{R}6o)F7a1_lNOT?PgQ83qQ17Df;cf!{DOFmNz1FuY}AU|?lnVED$wz`(`8
z!0?BOfq{pCfq|WwfkBFafkA|sfq|cafkB^{fq|ESfx(^`qR*F^fq{>Kfgy~UfkBXg
zfgzQdf#EO%14B781H&r@hI$5T76yhu1_lN-R)~QWtPlfQSs55a7#J8PvqCIh!OFnE
z$-uy{j+KEyiGhJ(2P*>uI|Bp5ZB_;bZ3YI0$E*wtX$%Yu{A>&iUJMKjWo!%#iVO@4
z2iYL%AG1NsWn*Vxhy*#99b{fT14AA=#DWTTh)e6(AsTww85p=37#KFNLmak;9pdwo
z><kQS3=9lc*dac?4b}IWoq<7)fq~%{RG%aV#HXqp3=DA$3=A(h7#PAB7#KV_85mp{
z7#QYrGBAkOGcYhb<z!%JV`O0X%Lxgx7H)_Iz1$Fsr$Fh2P<kDd-VLQsaD#lpz;Klt
z;(`0z3=E<S3=HqM85p`47#LW17#J=xFfjD<Ffdp$Ffb(YLe$UZWnicW1?f^=h)>o-
zCH6z<le`cgU54^M@iH(-gW{eS;sXgj1_nb028K931_oIM28IbxdL19c;b-_57~B~c
z7;ZxOiu@3d>G3l#2r)1)nDR5!gM-Y2AEF^0DpA4@3F>yJhDlKInfwrkuHlFHa1TEu
ziZ1bkQW68hJ$?oTCy;{#7#KVm7#J1`Fff=hFfhCpU|<kuU|>)Lr9j7&+|0b7(mV#o
z^rF<sbD3lK+%j`g75wr`6x{Ml^HMhdU`}J<EJ-ZMEH24RE}k62;l>@7nOd%(ui%=J
zSu%McM>{*00vK%8;GD{+7NYB1l$uzQnV+ZYl30>zrC?-WXrXIpq-$iTU}$J%VySIl
pWMHs)7ne9A2h8%x7r2Ab?N#EL#mp6quy{AWBeKPtfAhyM0szcVhhqQ$

diff --git a/app/translations/zh/LC_MESSAGES/messages.po b/app/translations/zh/LC_MESSAGES/messages.po
index dfb48af..875f8fe 100644
--- a/app/translations/zh/LC_MESSAGES/messages.po
+++ b/app/translations/zh/LC_MESSAGES/messages.po
@@ -89,10 +89,7 @@ msgid "Please insert your participant ID:"
 msgstr "请输入您的参与者ID:"
 
 #: app/templates/index.html:18
-msgid ""
-"Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! "
-"The experiments that are currently underway are listed below -\n"
-"       you can participate for as many experiments you want."
+msgid "Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want."
 msgstr "欢迎来到人类情感系统实验室。可以参加的实验项目被列在以下。 你可以随心所欲参加任何实验"
 
 #: app/templates/index.html:20
@@ -250,21 +247,6 @@ msgstr ""
 #~ msgid "List of experiments in database:"
 #~ msgstr "数据库中的实验列表:"
 
-#~ msgid "Name:"
-#~ msgstr ""
-
-#~ msgid "Instruction:"
-#~ msgstr ""
-
-#~ msgid "Participation ID is required for this task."
-#~ msgstr ""
-
-#~ msgid "Begin task"
-#~ msgstr ""
-
-#~ msgid "Continue task"
-#~ msgstr ""
-
 #~ msgid "Research bulletin can be read"
 #~ msgstr ""
 
diff --git a/db/create_rating_db.sql b/db/create_rating_db.sql
index ed3f430..e74b890 100644
--- a/db/create_rating_db.sql
+++ b/db/create_rating_db.sql
@@ -194,3 +194,32 @@ ALTER TABLE experiment ADD COLUMN (embody_enabled BOOLEAN DEFAULT 0);
 ALTER TABLE answer_set ADD COLUMN (answer_type VARCHAR(120));
 
 INSERT INTO user VALUES(1,'admin',NULL,'pbkdf2:sha256:50000$6Cc6Mjmo$3fe413a88db1bacfc4d617f7c1547bd1ea4cbd6c5d675a58e78332201f6befc6');
+
+/* eyelabs */
+INSERT INTO user VALUES(1,'eyelabs',NULL,'pbkdf2:sha256:50000$sdBu3Rjm$7ab97c6d2686460b85a2a20517b7012c15ffb341ba3fef5b0f17ed8354fc38d9');
+
+
+CREATE TABLE research_group (
+	id INTEGER NOT NULL AUTO_INCREMENT,
+	name TEXT, 
+	tag TEXT, 
+	description TEXT,
+	PRIMARY KEY (id)
+);
+
+INSERT INTO research_group(id, name, tag, description) VALUES(1, 'Human Emotion Systems', 'emotion', 'Welcome to the Human Emotion Systems -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want.');
+INSERT INTO research_group(id, name, tag, description) VALUES(2, 'Turku Eye-tracking', 'eyelabs', 'Welcome to the Turku Eyelabs -laboratory`s Onni-net laboratory! The experiments that are currently underway are listed below - you can participate for as many experiments you want.');
+
+CREATE TABLE user_in_group (
+	idgroup INTEGER,
+	iduser INTEGER,
+	role TEXT,
+	FOREIGN KEY(idgroup) REFERENCES research_group (id), 
+	FOREIGN KEY(iduser) REFERENCES user (id)
+);
+
+INSERT INTO user_in_group VALUES (1,1);
+INSERT INTO user_in_group VALUES (2,1);
+
+ALTER TABLE experiment ADD COLUMN (group_id INTEGER), ADD FOREIGN KEY(group_id) REFERENCES research_group(id);
+
-- 
GitLab