/* 
   #############################################
   #   Base of GO. CSS Framework               #
   #   - can be used as example or as a base   #
   #     for new applications                  #
   #   -------------------------------------   #
   #   Author: PP, 5 sept 2016                 #
   #############################################
*/
/* ######################### */
/* #   Include framework   # */
/* ######################### */
/* Reset */
* {
  margin: 0px;
  padding: 0px; }

/* Fonts */
/*
##############################
#   Include standard fonts   #
##############################
*/
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local("Open Sans Light"), local("OpenSans-Light"), url("../fonts/OpenSans/OpenSans-Light.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local("Open Sans"), local("OpenSans-Regular"), url("../fonts/OpenSans/OpenSans-Regular.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local("Open Sans Semibold"), local("OpenSans-Semibold"), url("../fonts/OpenSans/OpenSans-Semibold.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url("../fonts/OpenSans/OpenSans-Bold.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"), url("../fonts/OpenSans/OpenSans-Extrabold.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"), url("../fonts/OpenSans/OpenSansLight-Italic.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local("Open Sans Italic"), local("OpenSans-Italic"), url("../fonts/OpenSans/OpenSans-Italic.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"), url("../fonts/OpenSans/OpenSans-SemiboldItalic.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"), url("../fonts/OpenSans/OpenSans-BoldItalic.woff2") format("woff2"); }
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"), url("../fonts/OpenSans/OpenSans-ExtraboldItalic.woff2") format("woff2"); }
/* Base HTML tags */
/*
#####################
#   Base style      #
#   Text elements   #
#####################
*/
html {
  font-size: 87.5%;
  /* 14px */
  overflow-y: scroll; }

body {
  font-size: 1rem;
  font-family: "Open Sans",Arial,sans-serif;
  line-height: 1.6; }

html, body {
  height: 100%;
  color: #5D6773; }

html {
  background-color: #FFFFFF; }

/* Links */
a {
  color: #F47721; }

a:active, a:hover, a:focus {
  text-decoration: none; }

img {
  max-width: 100%; }

p {
  line-height: 1.8; }

p + p {
  margin-bottom: 10px; }

/* Headers */
h1, h2, h3, h4, h5, caption, .title, caption {
  font-weight: normal;
  margin-bottom: 3px;
  line-height: 1.3; }

h1 {
  font-size: 3rem; }

h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #A0AFB0; }

h3, caption {
  font-size: 1.4rem; }

h4 {
  font-size: 1.2rem; }

h5 {
  font-size: 1rem;
  font-weight: bold; }

h2 a, h3 a, h4 a, h5 a {
  text-decoration: none; }

ul, ol {
  margin-left: 0px;
  margin-bottom: 10px; }

address > span, address > a {
  font-style: normal;
  display: block; }

address div {
  margin-bottom: 15px; }

/*
######################
#   Base style       #
#   table elements   #
######################
*/
table {
  background: #FFFFFF;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0px;
  margin: 20px 0px; }

caption {
  text-align: left; }

td, th {
  text-align: left;
  padding: 5px 7px; }

td {
  vertical-align: top;
  border-bottom: 1px solid #E4E4E4; }

th, thead, tfoot {
  font-weight: bold;
  vertical-align: bottom; }

td p {
  margin-bottom: 0px; }

tr:nth-child(even) {
  background: #F7F7F7; }

tr:nth-child(odd), tfoot tr:nth-child(even) {
  background: #FFFFFF; }

tbody tr.selected {
  background-color: #FFEDDB; }

tbody tr.selected td {
  border-bottom: 1px solid #E5D1BD; }

tbody tr.selected:nth-child(odd) {
  background-color: #FCE6D1; }

tbody tr:hover {
  background-color: #E9F8FE; }

tbody tr.selected:hover {
  background-color: #FDE9D6; }

tbody tr.selected:nth-child(odd):hover {
  background-color: #F8E0C9; }

tbody tr.inactive {
  color: #A0AFB0; }

thead td, thead th, th {
  background: #F1F5F6;
  font-weight: normal;
  border: 0px;
  position: relative; }

thead {
  outline: 1px solid #CDD6DE; }

td + td, th + th {
  border-left: 1px dotted #A6B4B5; }

tfoot td, tfoot th {
  font-size: 0.8rem;
  color: #A0AFB0;
  border: 0px; }

th.sortable {
  padding-right: 30px;
  cursor: pointer; }

th.sortable:after {
  content: "\f0dc";
  font-family: "FontAwesome";
  width: 20px;
  position: absolute;
  right: 0px;
  font-size: 0.8rem;
  color: #A0AFB0;
  line-height: 22px; }

th.sorting, th.sorting:after {
  color: #F47721; }

th.sortable.asc:after {
  content: "\f0d8"; }

th.sortable.desc:after {
  content: "\f0d7"; }

/*
#####################
#   Base style      #
#   form elements   #
#####################
*/
form, fieldset {
  position: relative;
  border: 0px;
  clear: both; }

fieldset {
  margin: 0px; }

fieldset:last-of-type {
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 10px; }

legend {
  clear: both;
  font-size: 1.2rem;
  width: 100%;
  box-sizing: border-box;
  color: #A0AFB0;
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 20px;
  margin-top: 40px;
  line-height: 1;
  padding-bottom: 7px; }

.field {
  position: relative;
  margin-bottom: 10px;
  clear: both; }

.answers {
  position: relative; }

.field:after, .answers:after {
  content: " ";
  clear: both;
  display: block; }

input, button, select, textarea, .answers {
  font-size: 1rem;
  color: #4C5461;
  font-family: "Open Sans",Arial,sans-serif;
  outline: 0px; }

input[type="text"], input[type="password"], input[type="date"], input[type="time"], label, .question, select, textarea, .select {
  margin-bottom: 10px; }

input[type="text"], input[type="password"], textarea, input[type="date"], input[type="time"], input[type="number"], .answers {
  border: 1px solid #CDD6DE;
  background: #FFFFFF;
  padding: 0px 10px;
  border-radius: 2px;
  min-height: 30px;
  box-sizing: border-box;
  width: 100%;
  -webkit-appearance: none;
  appearance: none; }

/* Fix for Chrome */
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button {
  margin: 3px; }

input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="number"]:focus, textarea:focus {
  color: #4B7181;
  border-color: #F47721; }

input[type="checkbox"], input[type="radio"] {
  display: inline-block;
  margin-right: 10px; }

label {
  cursor: pointer;
  margin-bottom: 0px; }

.question {
  margin-bottom: 0px; }

/* Correct padding for HTML5 fancy input types */
input[type="date"], input[type="time"], input[type="number"] {
  padding-right: 0px; }

label, .question {
  font-size: 1.1rem;
  display: block;
  padding: 6px 0px;
  margin-right: 10px;
  width: 190px;
  line-height: 1.2; }

input[type=checkbox] + label, input[type=radio] + label {
  display: inline-block; }

.answers {
  border: 0px;
  padding: 0px;
  display: inline-block; }

.answers input[type=checkbox],
.answers input[type=radio] {
  clear: left;
  display: block;
  width: 20px;
  float: left;
  margin-top: 9px; }

.answers input[type=checkbox] + label,
.answers input[type=radio] + label {
  clear: right;
  display: block;
  width: 90%;
  width: calc(100% - 30px);
  margin-right: 0px;
  float: left; }

textarea {
  min-height: 160px;
  min-width: 100px;
  max-width: 100%;
  padding: 10px 15px;
  line-height: 1.6;
  margin-bottom: 0px;
  font-size: 0.9rem; }

.field .counter {
  font-size: 0.8rem;
  color: #A0AFB1;
  text-align: left;
  margin-bottom: 5px;
  position: relative;
  margin-top: -2px; }

@media (min-width: 768px) {
  .field .counter {
    padding-left: 210px; } }
.select {
  display: inline-block;
  position: relative; }

.select:not(.multi):after {
  content: " ";
  display: block;
  position: absolute;
  border: 5px solid #F47721;
  border-color: #F47721 transparent transparent transparent;
  right: 10px;
  top: 50%;
  margin-top: -3px;
  pointer-events: none; }

select {
  position: relative;
  box-sizing: border-box;
  border: 1px solid #CDD6DE;
  background-color: #FFFFFF;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: field;
  padding: 0px 30px 0px 7px;
  min-height: 30px;
  margin-bottom: 0px;
  cursor: pointer;
  width: 100%; }

/* Fix IE */
select::-ms-expand {
  display: none; }

option {
  padding: 7px; }

/* Multiple | TODO: Make it fancy and create options */
.select.multi {
  clear: both;
  float: none;
  width: 100%;
  margin-bottom: 20px; }

select[multiple] {
  min-height: 80px;
  font-size: 0.8rem;
  padding: 0px; }

/* hidden select */
.hiddenSelect select {
  border: 0px; }

.select.hiddenSelect:after {
  display: none; }

label + input[type="text"], label + input[type="password"], label + input[type="date"], label + input[type="time"], label + input[type="number"] {
  clear: right; }

@media (min-width: 768px) {
  label, .question {
    width: 190px;
    float: left; }

  input[type=checkbox] + label, input[type=radio] + label {
    display: inline-block;
    float: none; }

  input[type="text"], input[type="password"], textarea, input[type="date"], input[type="time"], input[type="number"], .answers, select[multiple] {
    width: 70%;
    width: calc( 100% - 200px );
    /* 100% - width of label */ }

  fieldset.centered legend {
    text-align: center; }

  fieldset.centered .field > label, fieldset.centered .field > .question {
    text-align: right; } }
label input[type=checkbox], label input[type=radio] {
  position: absolute;
  left: 0px;
  top: 5px; }

form .content:after {
  content: " ";
  display: block;
  clear: both; }

/* Multi columns */
@media (min-width: 768px) {
  fieldset > .col, .twoColumns > .col {
    width: 48%;
    width: calc( 50% - 10px );
    margin-right: 20px;
    float: left;
    clear: none; }

  fieldset > .col + .col, .twoColumns > .col + .col {
    margin-right: 0px; } }
/* Icons in fields */
.field .iconLeft, .field .iconRight {
  position: absolute;
  width: 20px;
  text-align: center;
  bottom: 19px; }

.field .iconLeft.bg, .field .iconRight.bg {
  background: #F5F5F5;
  padding: 0px 7px 0px 7px;
  bottom: 11px;
  line-height: 28px;
  box-sizing: border-box;
  width: 34px; }

.field .iconLeft {
  left: 7px; }

.field .iconRight {
  right: 7px;
  left: auto; }

.field .iconLeft + input {
  padding-left: 30px; }

.field .iconRight + input {
  padding-right: 30px; }

.field .iconLeft.bg {
  left: 1px;
  border-radius: 2px 0px 0px 2px;
  border-right: 1px dotted #CDD6DE; }

.field .iconRight.bg {
  left: auto;
  right: 1px;
  border-radius: 0px 2px 2px 0px;
  border: 0px;
  border-left: 1px dotted #CDD6DE; }

.field .iconLeft.bg + input {
  padding-left: 40px; }

.field .iconRight.bg + input {
  padding-right: 40px; }

@media (min-width: 768px) {
  .field .iconLeft, .field .iconRight {
    top: 7px;
    bottom: auto; }

  .field .iconLeft {
    left: 207px; }

  .field .iconLeft.bg, .field .iconRight.bg {
    top: 1px;
    bottom: auto; }

  .field .iconLeft.bg {
    left: 201px; } }
/* Exta css for help box below input */
.field .help {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #E4E4E4;
  border-radius: 3px;
  position: relative;
  width: 100%;
  display: none; }

.field .help:target, .field .help.active {
  display: block; }

.field .help:before {
  width: 20px;
  height: 20px;
  content: " ";
  border: 1px solid #E4E4E4;
  border-color: #E4E4E4 #E4E4E4  transparent transparent;
  transform: rotate(-45deg);
  background-color: #FFFFFF;
  top: -11px;
  left: 50%;
  margin-left: -11px;
  display: block;
  position: absolute; }

.field .help .cross {
  color: #A0AFB0;
  position: absolute;
  right: 10px;
  top: 10px;
  line-height: 1; }

.field .help .cross:hover {
  color: #AFBBBC; }

@media (min-width: 768px) {
  .field .help {
    left: 210px;
    width: 70%;
    width: calc( 100% - 210px ); } }
/* Variantion field label and input over seperate lines */
.field.break label, .field.break > input, .field.break .question, .field.break .answers, .field.break textarea {
  clear: both;
  float: none;
  width: 100%; }

.field.break .iconLeft, .field.break .iconRight {
  bottom: 19px;
  top: auto; }

.field.break .iconLeft {
  left: 7px; }

.field.break .iconLeft.bg, .field.break .iconRight.bg {
  bottom: 11px;
  top: auto; }

.field.break .iconLeft.bg {
  left: 1px; }

.field.break .counter {
  padding-left: 0px; }

/* Field sizes : @bottom to overwrite previous setted width's */
.field input.large, input.large {
  width: 75%; }

.field input.medium, input.medium {
  width: 50%; }

.field input.small, input.small {
  width: 25%; }

.field input.smaller, input.smaller {
  width: 50px;
  text-align: center;
  padding: 0px 5px; }

.field input.extrasmall, input.extrasmall {
  width: 30px;
  text-align: center;
  padding: 0px; }

/* Set max to prevent breaks */
.field input.large, input.large,
.field input.medium, input.medium,
.field input.small, input.small,
.field input.smaller, input.smaller,
.field input.extrasmall, input.extrasmall {
  max-width: calc( 100% - 200px ); }

.field.break input.large,
.field.break input.medium,
.field.break input.small,
.field.break input.smaller,
.field.break input.extrasmall {
  max-width: 100%; }

/* Double fields with one label */
input.large + input,
input.medium + input,
input.small + input,
input.smaller + input,
input.extrasmall + input {
  clear: none; }

input.large + input {
  width: calc( 25% - 10px ); }

input.medium + input {
  width: calc( 50% - 10px ); }

input.small + input {
  width: calc( 75% - 10px ); }

input.smaller + input {
  width: calc( 100% - 60px ); }

input.extrasmall + input {
  width: calc( 100% - 40px ); }

@media (min-width: 768px) {
  /* substracted width is width of (label+margin) and width of input + 10px of spacing */
  input.large + input {
    width: calc( 25% - 210px ); }

  input.medium + input {
    width: calc( 50% - 210px ); }

  input.small + input {
    width: calc( 75% - 210px ); }

  input.smaller + input {
    width: calc( 100% - 260px ); }

  input.extrasmall + input {
    width: calc( 100% - 240px ); } }
/* Generic classes */
/*
#######################################
#   Fancy form elements               #
#   Includes styling for checkboxes   #
#   and radiobuttons                  #
#   Extends: form                     #
#######################################
*/
/* Combination fields */
.field.datetime .date {
  border-radius: 2px 0px 0px 2px;
  border-right-style: dotted;
  width: calc( 100% - 260px); }

.field.datetime .time {
  border-radius: 0px 2px 2px 0px;
  border-left: 1px solid #FFFFFF;
  width: 60px;
  float: right; }

.field.datetime .time:focus {
  border-left: 1px solid #F47721; }

.field.break.datetime .date {
  clear: left;
  float: left; }

.field.break.datetime .time {
  float: left;
  clear: right; }

/*
################################
#   Fancy colored              #
#   checker and radiobuttons   #
################################
*/
/* Both */
.checker[type=checkbox], .checker[type=radio],
.radio[type=checkbox], .radio[type=radio],
.answers .checker[type=checkbox], .answers .checker[type=radio],
.answers .radio[type=checkbox], .answers .radio[type=radio] {
  position: absolute;
  left: -100vw;
  display: none; }

.checker + label, .radio + label {
  position: relative;
  line-height: 20px;
  clear: left; }

.checker + label:before,
.radio + label:before {
  content: " ";
  color: #FFFFFF;
  display: inline-block;
  width: 18px;
  height: 18px;
  line-height: 16px;
  border: 1px solid #CDD6DE;
  float: left;
  margin-right: 10px;
  font-family: 'FontAwesome';
  text-align: center;
  background-color: #FFFFFF;
  transition: 0.15s ease-in-out;
  font-size: 12px;
  box-sizing: border-box; }

/*Checkboxes */
.checker + label:before {
  content: "\f00c";
  border-radius: 3px; }

.checker:checked + label:before {
  color: #60BC3D; }

/* Radio buttons */
.radio + label:before {
  border-radius: 20px;
  border: 3px solid #FFF;
  box-shadow: 0 0 0 2px #CDD6DE; }

.radio:checked + label:before {
  background-color: #60BC3D; }

/* Color overwrites */
.checker.green:checked + label:before {
  background-color: #60BC3D;
  border-color: #60BC3D;
  color: #FFFFFF; }

.checker.red:checked + label:before {
  background-color: #B70101;
  border-color: #B70101;
  color: #FFFFFF; }

.checker.blue:checked + label:before {
  background-color: #37afe4;
  border-color: #37afe4;
  color: #FFFFFF; }

.checker.GO:checked + label:before {
  background-color: #F47721;
  border-color: #F47721;
  color: #FFFFFF; }

.checker.yellow:checked + label:before {
  background-color: #ffc000;
  border-color: #ffc000;
  color: #FFFFFF; }

.checker.dark:checked + label:before {
  background-color: #303f4c;
  border-color: #303f4c;
  color: #FFFFFF; }

.checker.light:checked + label:before {
  background-color: #a0afb0;
  border-color: #a0afb0;
  color: #FFFFFF; }

.radio.red:checked + label:before {
  background-color: #B70101; }

.radio.blue:checked + label:before {
  background-color: #37afe4; }

.radio.GO:checked + label:before {
  background-color: #F47721; }

.radio.yellow:checked + label:before {
  background-color: #ffc000; }

.radio.dark:checked + label:before {
  background-color: #303f4c; }

.radio.light:checked + label:before {
  background-color: #a0afb0; }

/* Focus */
.checker:focus + label, .radio:focus + label {
  text-decoration: underline;
  text-decoration-style: dotted; }

/*
#######################
#   Default classes   #
#######################
*/
.nonvisual, .hidden, .skip, .highlighted {
  position: absolute;
  left: -9999px;
  display: none; }

.clearer, .clearAfter:after {
  display: block;
  height: 0px;
  font-size: 0px;
  clear: both; }

.clearer {
  width: 100%; }

.clearAfter:after {
  content: " "; }

.left {
  float: left;
  margin-right: 20px; }

.right {
  float: right;
  margin-left: 20px; }

.list {
  list-style: none;
  margin: 0px; }

.list li {
  position: relative;
  padding-left: 15px; }

ul.list li:before {
  content: " ";
  border: 5px solid #F47721;
  border-color: transparent transparent transparent #F47721;
  position: absolute;
  left: 0px;
  top: 5px; }

ol.list {
  counter-reset: olCounter; }

ol.list li:before {
  color: #F47721;
  counter-increment: olCounter;
  content: counter(olCounter);
  display: inline-block;
  width: 22px;
  font-size: 0.9rem;
  font-weight: bold;
  position: absolute;
  left: 0px;
  top: 1px; }

.list li a, .list li a:link {
  color: inherit; }

/*
#######################
#   Base of buttons   #
#######################
*/
.button, input[type=submit], button, input[type=button] {
  display: inline-block;
  box-sizing: border-box;
  background-color: #F47721;
  border: 0px;
  border-radius: 2px;
  min-width: 70px;
  min-height: 30px;
  margin: 5px;
  padding: 0px 10px;
  line-height: 30px;
  text-decoration: none;
  color: #FFFFFF;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background .2s ease-in-out; }

input[type=submit], input[type=button] button {
  height: 30px; }

.button:hover, input[type="submit"]:hover, .button.hover, button:hover, input[type=button]:hover {
  background-color: #2981EE; }

.button:active, input[type="submit"]:active, button:active, input[type=button]:active, .button.active {
  background-color: #6BC4FD; }

.button:focus, input[type="submit"]:focus, button:focus, input[type=button]:focus {
  outline: 1px dotted #222; }

.button.inactive, .button.inactive:active, .button.inactive:hover,
.button.disabled, .button.disabled:active, .button.disabled:hover,
input:disabled, button:disabled, input.disabled {
  color: #A0AFB0;
  background: #F5F5F5;
  border-color: #E4E4E4;
  pointer-events: none; }

.link_button_wrap {
  margin: 0;
  padding: 0; }

/* needed when a link wraps the button */
/* Toolbar */
.toolbar {
  clear: both; }

.toolbar .button:first-of-type {
  margin-left: 0px; }

.toolbar .button:last-of-type {
  margin-right: 0px; }

.toolbar:after {
  content: " ";
  clear: both;
  display: block; }

/* Icons */
.button .fa {
  margin-right: 5px;
  pointer-events: none; }

/* Multiline buttons */
.button.multi, .button.multi.light {
  text-align: left;
  line-height: 1.2rem;
  padding: 7px 10px; }

.button .text {
  display: block;
  clear: both;
  font-size: 0.8rem; }

.button.light .text {
  color: #A0AFB1; }

/*
##########################
#   Default containers   #
##########################
*/
#page, .container {
  min-width: 320px; }

#page {
  min-height: 100%;
  height: auto;
  position: relative; }

.container {
  max-width: 1200px;
  width: calc(100% - 20px);
  margin: 0px 10px;
  position: relative;
  min-width: 290px; }

@media (min-width: 1220px) {
  .container {
    margin: 0px auto; } }
/*
#############################################################
#   popOver v2                                              #
#   Overlays and windows                                    #
#   TODO:                                                   #
#   - Seperate overlay and windows in seperate components   #
#   - Add spinners / loading overlays                       #
#############################################################
*/
/* Overlay */
.overlay, .closeOverlay {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px; }

.overlay {
  background: rgba(255, 255, 255, 0.7);
  pointer-events: none; }

.closeOverlay {
  z-index: 6; }

/* Window */
.window {
  background: #FFFFFF;
  min-width: 200px;
  min-height: 100px;
  max-width: 960px;
  margin: 0px;
  position: relative;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #E4E4E4;
  z-index: 7; }

/* Elements in window */
.window .header,
.window .content,
.window .footer {
  position: relative;
  box-sizing: border-box; }

/* Close button in window */
.window .cross {
  color: #A0AFB0;
  position: absolute;
  right: 20px;
  top: 20px;
  line-height: 1;
  width: 15px;
  line-height: 15px;
  text-align: center;
  background: #FFFFFF; }

.window .cross:hover {
  color: #afbbbc; }

.window .cross .fa {
  pointer-events: none; }

/* Header */
.window > .header {
  padding: 30px 30px 0px 30px; }

.window .header h3 {
  height: 30px;
  line-height: 30px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: calc(100% - 20px); }

/* Content block */
.window .content {
  min-height: 100px;
  max-height: calc( 100vh - 50px );
  overflow-y: auto;
  padding: 30px 40px 30px 30px; }

.window .header + .content {
  padding-top: 10px;
  max-height: calc( 100vh - 120px ); }

/* Offset is height of footer: 50px + height of header: 70px; */
.window .content .header {
  margin-bottom: 10px; }

.window > .header:after {
  border-bottom: 1px solid #E4E4E4;
  content: " ";
  display: block;
  height: 10px; }

/* Footer */
/* TODO: create generic footer component with component hoverbox*/
.window .footer {
  background: #F5F5F5;
  padding: 5px;
  min-height: 40px;
  text-align: right; }

.window .footer .button {
  margin: 0px 5px;
  font-size: 0.9rem; }

/* Responsive margin left & right, based on screen width */
@media (min-width: 480px) {
  .window {
    margin-left: 5px;
    margin-right: 5px; } }
@media (min-width: 768px) {
  .window {
    margin-left: 20px;
    margin-right: 20px; } }
@media (min-width: 992px) {
  .window {
    margin-left: 50px;
    margin-right: 50px; } }
@media (min-width: 1080px) {
  /* Based on size of window: 960 width + 50px margin left + 50px margin right =  */
  .window {
    margin-left: auto;
    margin-right: auto; } }
/* Responsive margin top & bottom, based on screen height */
@media (max-width: 479px) {
  .window {
    height: 100%; }

  .window .footer {
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%; } }
@media (min-width: 480px) and (min-height: 320px) {
  /* Based on resolution 480x320 */
  .window {
    top: 5px; }

  .window .content {
    max-height: calc( 100vh - 60px ); }

  .window .header + .content {
    padding-top: 10px;
    max-height: calc( 100vh - 130px ); } }
@media (min-width: 480px) and (min-height: 640px) {
  .window {
    top: 20px; }

  .window .content {
    max-height: calc( 100vh - 90px ); }

  .window .header + .content {
    padding-top: 10px;
    max-height: calc( 100vh - 160px ); } }
@media (min-width: 480px) and (min-height: 768px) {
  .window {
    top: 50px; }

  .window .content {
    max-height: calc( 100vh - 150px ); }

  .window .header + .content {
    padding-top: 10px;
    max-height: calc( 100vh - 220px ); } }
@media (min-width: 480px) and (min-height: 800px) {
  .window {
    top: 100px; }

  .window .content {
    max-height: calc( 100vh - 250px ); }

  .window .header + .content {
    padding-top: 10px;
    max-height: calc( 100vh - 320px ); } }
/* Variations for standard widths */
.window.tiny {
  max-width: 300px; }

.window.smaller {
  max-width: 400px; }

.window.small {
  max-width: 540px; }

.window.medium {
  max-width: 800px; }

/* Set variation margin
	set margin auto based on window width
	media query is max-width of window + margin left + margin right
*/
@media (min-width: 310px) {
  .window.tiny {
    margin-left: auto;
    margin-right: auto; } }
@media (min-width: 410px) {
  .window.smaller {
    margin-left: auto;
    margin-right: auto; } }
@media (min-width: 550px) {
  .window.small {
    margin-left: auto;
    margin-right: auto; } }
@media (min-width: 840px) {
  .window.medium {
    margin-left: auto;
    margin-right: auto; } }
/* Overwrite all for fullscreen */
.window.fullscreen {
  max-width: 100%;
  height: 100%;
  margin: 0px;
  top: 0px; }

.window.fullscreen .content {
  height: calc( 100vh - 50px );
  max-height: calc( 100vh - 50px ); }

.window.fullscreen .header + .content {
  height: calc( 100vh - 50px );
  max-height: calc( 100vh - 120px ); }

/* close overlay target */
#closeOverlay, #sluiten {
  width: 1px;
  height: 1px;
  line-height: 1px;
  display: block;
  font-size: 0.1rem;
  position: fixed;
  top: 0px;
  right: 0px; }

/* Animate in */
.overlay {
  opacity: 0;
  transition: opacity .35s ease-in-out; }

.overlay:target, .overlay.visible {
  pointer-events: auto;
  opacity: 1;
  z-index: 5; }

.window {
  margin-top: -20px;
  transition: margin-top .15s ease-in-out; }

.overlay:target .window {
  margin-top: 0px; }

/* ######################## */
/* #   Color variations   # */
/* ######################## */
/* Dark style overlay */
.overlay.dark {
  background: rgba(0, 0, 0, 0.7); }

.overlay.dark .window {
  border: 1px solid #5D6773;
  border: 1px solid #5d6773;
  background: rgba(0, 0, 0, 0.7); }

.overlay.dark .window > .header:after {
  border-color: #5D6773; }

.overlay.dark:not(.fullscreen) .window {
  border-radius: 5px; }

.overlay.dark .footer {
  background: #000000;
  border-radius: 0px 0px 5px 5px; }

.overlay.dark, .overlay.dark .content,
.overlay.dark h2,
.overlay.dark h3,
.overlay.dark p,
.overlay.dark .footer,
.overlay.dark .footer a,
.overlay.dark .cross {
  color: #FFFFFF; }

.overlay.dark .cross {
  background: transparent; }

.overlay.dark .content p {
  color: #cdd6de; }

/* Slide from top */
.overlay.top {
  top: -100%;
  opacity: 1;
  transition: top .35s ease-in-out; }

.overlay.top:target, .overlay.top.active {
  top: 0px; }

/* Load screens */
.overlay.loading .holder {
  max-width: 500px;
  height: 200px;
  margin: auto;
  text-align: center;
  top: calc( (100% - 200px) / 2 );
  position: relative; }

.overlay.loading .vis, .overlay.loading .head, .overlay.loading .text {
  color: #A0AFB0; }

.overlay.loading .vis {
  margin: 30px auto;
  display: block; }

.overlay.loading .vis:after {
  content: " ";
  clear: both;
  display: block; }

.overlay.loading .text {
  font-size: 0.9rem; }

/* Spinner */
/* Loading blocks */
.overlay.loading .blocks {
  position: relative;
  max-width: 200px;
  margin: auto; }

.overlay.loading .blocks .bar {
  display: block;
  width: 30%;
  background: #FFFFFF;
  border: 1px solid #CDD6DE;
  float: left;
  height: 10px;
  margin: 1%;
  transition: background-color, border-color 1s ease-in;
  animation: barA ease-in 2s infinite; }

.overlay.loading .blocks .bar:nth-child(2) {
  animation-name: barB; }

.overlay.loading .blocks .bar:nth-child(3) {
  animation-name: barC; }

@keyframes barA {
  0% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; }
  20% {
    background-color: #81D760;
    border-color: #81D760; }
  40% {
    background-color: #81D760;
    border-color: #81D760; }
  60% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; } }
@keyframes barB {
  0% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; }
  20% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; }
  40% {
    background-color: #81D760;
    border-color: #81D760; }
  60% {
    background-color: #81D760;
    border-color: #81D760; }
  80% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; } }
@keyframes barC {
  0% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; }
  40% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; }
  60% {
    background-color: #81D760;
    border-color: #81D760; }
  80% {
    background-color: #81D760;
    border-color: #81D760; }
  100% {
    background-color: #FFFFFF;
    border-color: #CDD6DE; } }
/* Loading bar */
.overlay.loading .progbar,
.overlay.loading .progbar .progress {
  display: block;
  box-sizing: border-box;
  position: relative;
  height: 30px;
  border-radius: 5px; }

.overlay.loading .progbar {
  border: 1px solid #E4E4E4;
  background-color: #FFFFFF; }

.overlay.loading .progbar .progress {
  top: -1px;
  bottom: -1px;
  left: -1px;
  border-color: #81D760;
  background-color: #81D760; }

.overlay.loading:not(.controlled) .progbar .progress {
  animation: grow linear 5s infinite; }

@keyframes grow {
  0% {
    width: 0px;
    opacity: 0; }
  5% {
    width: 0px;
    opacity: 1; }
  90% {
    width: calc( 100% + 2px );
    opacity: 1; }
  99% {
    opacity: 0;
    width: calc( 100% + 2px ); }
  100% {
    opacity: 0;
    width: 0px; } }
.overlay.controlled .progbar .progress {
  transition: width .35s linear;
  width: 0px; }

/* NEW */
/*
################
#   Hoverbox   #
################
*/
.hoverbox {
  width: 270px;
  min-height: 100px;
  position: absolute;
  display: none;
  background-color: #FFFFFF;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #E4E4E4;
  z-index: 7;
  top: 90%;
  right: 0px;
  border-radius: 5px; }

.hoverbox.left {
  left: 0px;
  right: auto; }

.hoverbox.centered {
  left: auto;
  right: auto;
  margin-left: calc( 50% - 135px ); }

.hoverbox .content {
  padding: 10px;
  min-height: 80px;
  text-align: left;
  box-sizing: border-box; }

.hoverbox:before {
  width: 20px;
  height: 20px;
  content: " ";
  border: 1px solid #E4E4E4;
  border-color: #E4E4E4 #E4E4E4  transparent transparent;
  transform: rotate(-45deg);
  background-color: #FFFFFF;
  top: -11px;
  right: 10px;
  display: block;
  position: absolute; }

.hoverbox.centerPointer:before {
  right: auto;
  left: 50%; }

.hoverbox.leftPointer:before {
  right: auto;
  left: 10px; }

.hoverhandler {
  -webkit-user-select: none;
  -webkit-touch-callout: none; }

/* CSS HOVER */
.hoverhandler:hover .hoverbox, .hoverbox:hover, .hoverhandler.hover .hoverbox {
  display: block; }

.hoverhandler {
  display: inline-block;
  position: relative; }

/* TODO: create generic footer component with component popOvers_v2*/
.hoverbox .footer {
  border-radius: 0px 0px 5px 5px;
  text-align: left;
  background: #F5F5F5;
  padding: 5px;
  min-height: 40px;
  text-align: right;
  position: relative;
  box-sizing: border-box; }

.hoverbox .footer a:not(.button) {
  display: inline-block;
  font-size: 0.8rem;
  color: #5d6773;
  line-height: 30px;
  padding-left: 5px;
  float: left; }

.hoverbox .footer .button {
  font-size: 0.9rem;
  margin: 0px; }

.hoverbox .footer .button + .button {
  margin-left: 5px; }

.hoverbox .footer .button.clean {
  font-size: 0.8rem; }

/*
####################
#   Profile icon   #
####################
*/
.profileIcon {
  text-align: center;
  color: #FFFFFF;
  background: #F47721;
  border-radius: 200px;
  width: 45px;
  line-height: 45px;
  font-size: 1.2rem;
  display: inline-block;
  box-sizing: border-box;
  margin: 0px 5px;
  text-decoration: none; }

.profileIcon.default {
  background-color: #FFE2D0;
  font-size: 1.6rem; }

.profileIcon.smaller {
  width: 30px;
  height: 30px;
  font-size: 0.9rem;
  line-height: 30px; }

.profileIcon.larger {
  width: 70px;
  height: 70px;
  font-size: 2rem;
  line-height: 70px; }

.profileIcon.larger.default {
  font-size: 2.6rem; }

.profileIcon.smaller.default {
  font-size: 1rem; }

/*
#############################################
#   Group icon   							#
#   Generic element to show to wich group   #
#   a item belongs or to identify a group   #
#############################################

*/
.groupBadge {
  position: relative;
  box-sizing: border-box; }

.groupBadge:after {
  content: " ";
  clear: both;
  display: block; }

.groupBadge .orb {
  border-radius: 50px;
  background-color: #F47721;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: #FFFFFF;
  margin-right: 10px;
  float: left; }

.groupBadge .name {
  line-height: 20px;
  padding-top: 5px;
  display: block;
  float: left;
  width: calc( 100% - 40px ); }

.groupBadge:not(.selectable) > .fa {
  display: none; }

/* Selectable */
.groupBadge.selectable {
  padding-right: 20px; }

.groupBadge.selectable .fa {
  position: absolute;
  right: 0px;
  top: 5px;
  height: 20px;
  line-height: 20px;
  width: 20px;
  color: #A0AFB0; }

.groupBadge.selectable.active .fa {
  color: #60BC3D; }

/* Larger */
.groupBadge.larger .orb {
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.6rem;
  margin-right: 20px; }

.groupBadge.larger .name {
  width: calc( 100% - 70px );
  font-size: 1.3rem;
  padding-top: 14px; }

.groupBadge.larger.selectable .fa {
  font-size: 1.2rem;
  padding-top: 10px; }

/* Smaller */
.groupBadge.smaller .orb {
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 0.8rem; }

.groupBadge.smaller .name {
  width: calc( 100% - 30px );
  font-size: 0.9rem;
  padding-top: 0px;
  line-height: 14px;
  padding-top: 3px; }

.groupBadge.smaller.selectable .fa {
  margin-top: 3px;
  top: 0px; }

/* NEW */
/*
##################################
#   Messages                     #
#   Styling of inline messages   #
##################################
*/
/* TODO align with icons is not correct with multi-rule text */
.message {
  border-radius: 5px;
  background: #F5F5F5;
  padding: 10px 30px 10px 15px;
  position: relative;
  margin: 0px 0px 10px 0px;
  clear: both; }

.message + .message {
  margin: 10px 0px; }

.message.pointer:before {
  content: " ";
  position: absolute;
  left: 50%;
  margin-left: -15px;
  top: -11px;
  display: block;
  width: 21px;
  height: 21px;
  transform: rotate(-45deg);
  background: #FFFFFF;
  border-color: #DDD; }

.message.blue, .message.blue.pointer:before {
  background-color: #ECFAFF;
  color: #4C5A60; }

.message.green, .message.green.pointer:before {
  background-color: #F0FFE8;
  color: #4D5E47; }

.message.red, .message.red.pointer:before {
  background-color: #FFE4E3;
  color: #5F5050; }

.message.yellow, .message.yellow.pointer:before {
  background-color: #FFF1CB;
  color: #615B4B; }

.message.blue .fa {
  color: #37AFE4; }

.message.green .fa {
  color: #1FA52F; }

.message.red .fa {
  color: #B70000; }

.message.yellow .fa {
  color: #F4B121; }

.message.blue a, .message.blue a:link {
  color: #37AFE4; }

.message.green a, .message.green a:link {
  color: #1FA52F; }

.message.red a, .message.red a:link {
  color: #B70000; }

.message.yellow a, .message.yellow a:link {
  color: #F4B121; }

.message .close {
  cursor: pointer; }

.message .status {
  list-style: none; }

.message .status li:before {
  margin-right: 10px; }

.message h3:before {
  margin-right: 10px; }

input + .message {
  position: absolute;
  top: 40px;
  max-width: 300px; }

.message .fa {
  margin-right: 5px; }

.message .help {
  position: absolute;
  right: 10px;
  top: 14px;
  opacity: 0.5;
  cursor: pointer; }

.message .help:hover {
  opacity: 1; }

.message p {
  margin-bottom: 0px; }

.message p ~ p {
  margin-top: 10px; }

/*
################################
#   Icons                      #
#   Color specifications and   #
#   basic layout of icons      #
################################
*/
/* color specifications */
.icon.green:before, .icon.notice:before, .fa.green:before, .fa.notice:before {
  color: #5FAC35; }

.icon.yellow:before, .icon.warning:before, .fa.yellow:before, .fa.warning:before {
  color: #FFC000; }

.icon.red:before, .icon.error:before, .fa.red:before, .fa.error:before {
  color: #D00000; }

.icon.blue:before, .fa.blue:before {
  color: #37AFE4; }

.icon.orange:before, .icon.GO:before, .fa.orange:before, .fa.GO:before {
  color: #F47721; }

.icon.grey:before, .fa.grey:before {
  color: #A0AFB1; }

.icon.dark:before, .fa.dark:before {
  color: #303F4C; }

.fa-stack.green, .fa-stack.notice {
  color: #5FAC35; }

.fa-stack.yellow, .fa-stack.warning {
  color: #FFC000; }

.fa-stack.red, .fa-stack.error {
  color: #D00000; }

.fa-stack.blue {
  color: #37AFE4; }

.fa-stack.orange, .fa-stack.GO {
  color: #F47721; }

.fa-stack.grey {
  color: #A0AFB1; }

.fa-stack.dark {
  color: #303F4C; }

/* GO Stack */
.go-stack {
  display: inline-block;
  position: relative; }

.go-stack .fa ~ .fa {
  position: absolute;
  left: 0px;
  font-size: 50%;
  right: 0px;
  text-align: center;
  top: 33%; }

.go-stack .fa.right, .go-stack .fa.left {
  top: 32%; }

.go-stack .fa.top {
  top: 12%; }

.go-stack .fa.bottom {
  top: auto;
  bottom: 12%; }

.go-stack .fa.right {
  left: auto;
  right: -14%;
  text-align: right; }

.go-stack .fa.left {
  left: -14%;
  right: auto;
  text-align: left; }

/*
###########################
#   Styling of buttons    #
#   Extendes buttonBase   #
###########################
*/
/* Full color style */
.button.green {
  background-color: #60BC3D; }

.button.yellow {
  background-color: #F4B121; }

.button.red {
  background-color: #B70101; }

.button.blue {
  background-color: #37AFE4; }

.button.secondary, .button.grey {
  background-color: #A0AFB0; }

.button.dark {
  background-color: #5D6773; }

/* Redefine to prevent overwrites */
.button:hover, .button.hover {
  background-color: #2981EE; }

.button:active, .button.active {
  background-color: #6BC4FD; }

.button:focus {
  outline: 1px dotted #222222; }

/* Light style */
.button.light, .button.clean {
  background: #FFFFFF;
  border: 1px solid #E4E4E4;
  color: #5D6773;
  line-height: 28px;
  min-height: 28px; }

.button.light .fa {
  color: #A0AFB1; }

.button.light.green .fa, .button.clean.green .fa {
  color: #60BC3D; }

.button.light.yellow .fa, .button.clean.yellow .fa {
  color: #F4B121; }

.button.light.red .fa, .button.clean.red .fa {
  color: #B70101; }

.button.light.blue .fa, .button.clean.blue .fa {
  color: #37AFE4; }

.button.light.orange .fa, .button.clean.orange .fa {
  color: #F47721; }

.button.light.dark .fa, .button.clean.dark .fa {
  color: #5D6773; }

.button.light:hover, .button.light.hover {
  border-color: #A0AFB1; }

.button.light:active, .button.light.active {
  background-color: #F5F5F5; }

/* Clean style */
.button.clean {
  background: none;
  border: 0px;
  padding: 0px; }

.button.clean:hover {
  text-decoration: underline;
  color: #A0AFB1; }

.button.clean:active {
  background-color: #F5F5F5; }

/* Special buttons */
.button.ferry {
  background-color: #161618;
  border: 1px solid #D00000;
  color: #FFFFFF;
  border-radius: 3px; }

.button.ferry:after {
  content: "feryy-very-good";
  font-family: Times;
  font-style: italic;
  display: inline-block;
  margin-left: 10px; }

.button.icon.ferry:before {
  font-style: normal; }

.button.GO:before {
  content: "GO.";
  display: inline-block;
  margin-right: 5px;
  font-weight: bold; }

.button.light.GO:before {
  color: #F47721; }

/* New window links */
.button.newwindow .external-link {
  opacity: 0.6;
  margin-right: 0px;
  margin-left: 10px;
  font-size: 0.9rem; }

.button.light.newwindow .external-link {
  opacity: 1;
  color: #A0AFB0; }

/*
###########################
#   Switch button         #
#   Extends buttonStyle   #
###########################
*/
.switchButton {
  position: relative; }

.switchButton a, .switchButton span {
  display: block;
  box-sizing: border-box;
  padding: 2px 15px;
  float: left;
  min-width: 75px;
  text-align: center; }

.switchButton a, .switchButton span {
  border: 1px solid #A0AFB0;
  border-left: 0px;
  font-size: 0.9rem;
  cursor: pointer;
  text-align: center;
  min-width: 80px;
  color: #A0AFB0;
  text-decoration: none;
  background-color: #FFFFFF; }

.switchButton a:hover, .switchButton span:hover {
  text-decoration: none;
  opacity: 0.7; }

.switchButton a:first-of-type, .switchButton span:first-of-type {
  border-radius: 5px 0px 0px 5px;
  border-left: 1px solid #A0AFB0; }

.switchButton a:last-of-type, .switchButton span:last-of-type {
  border-radius: 0px 5px 5px 0px; }

.switchButton a.active, .switchButton span.active {
  color: #FFFFFF;
  background: #5d6773;
  border-color: #5d6773; }

/*
###########################
#   Toggle button         #
#   Extends buttonStyle   #
###########################
*/
.togglebutton, .toggle {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #5D6773;
  line-height: 20px;
  margin-right: 10px;
  cursor: pointer; }

.togglebutton:hover {
  text-decoration: underline; }

.toggle {
  width: 30px;
  border-radius: 16px;
  background: #A0AFB0;
  height: 20px;
  top: 5px;
  transition: background-color 0.2s ease-out 0.03s;
  box-sizing: border-box; }

.toggle:before {
  content: " ";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background: #FFFFFF;
  position: absolute;
  left: 0px;
  box-sizing: border-box;
  border: 1px solid #A0AFB0;
  transition: all 0.07s ease-in-out; }

.togglebutton.active .toggle:before, .toggle.active:before {
  left: 10px; }

/* Red inactive */
.togglebutton.redInactive .toggle, .togglebutton.inverted.redInactive .toggle:before {
  background-color: #B70101; }

.togglebutton.redInactive .toggle:before, .togglebutton.inverted.redInactive .toggle {
  border-color: #B70101; }

.togglebutton.active .toggle, .toggle.active, .togglebutton.inverted.active .toggle:before {
  background-color: #60BC3D; }

.togglebutton.inverted.active .toggle, .togglebutton.active .toggle:before, .toggle.active:before {
  border-color: #60BC3D; }

/* Overwrite colors */
.togglebutton.active.red .toggle, .togglebutton.inverted.active.red .toggle:before {
  background-color: #B70101; }

.togglebutton.active.red .toggle:before, .togglebutton.inverted.active.red .toggle {
  border-color: #B70101; }

.togglebutton.active.blue .toggle, .togglebutton.inverted.active.blue .toggle:before {
  background-color: #37AFE4; }

.togglebutton.active.blue .toggle:before, .togglebutton.inverted.active.blue .toggle {
  border-color: #37AFE4; }

.togglebutton.active.GO .toggle, .togglebutton.inverted.active.GO .toggle:before {
  background-color: #F47721; }

.togglebutton.active.GO .toggle:before, .togglebutton.inverted.active.GO .toggle {
  border-color: #F47721; }

.togglebutton.active.yellow .toggle, .togglebutton.inverted.active.yellow .toggle:before {
  background-color: #FFC000; }

.togglebutton.active.yellow .toggle:before, .togglebutton.inverted.active.yellow .toggle {
  border-color: #FFC000; }

.togglebutton.active.dark .toggle, .togglebutton.inverted.active.dark .toggle:before {
  background-color: #303F4C; }

.togglebutton.active.dark .toggle:before, .togglebutton.inverted.active.dark .toggle {
  border-color: #303F4C; }

/* Disabled */
.togglebutton.disabled .toggle, .togglebutton.inverted.disabled .toggle:before {
  background-color: #E4E4E4; }

.togglebutton.disabled .toggle:before, .togglebutton.inverted.disabled .toggle {
  border-color: #E4E4E4; }

.togglebutton.disabled {
  color: #A0AFB0;
  pointer-events: none; }

/* Inverted */
.togglebutton.inverted .toggle, .togglebutton.inverted.active .toggle {
  background-color: #FFFFFF; }

.togglebutton.inverted .toggle:before, .togglebutton.inverted.active .toggle:before {
  border: 1px solid #FFFFFF; }

.togglebutton.inverted .toggle {
  border: 1px solid #A0AFB1; }

.togglebutton.inverted .toggle:before {
  background-color: #A0AFB1;
  height: 18px;
  width: 18px; }

/* Tiny */
.togglebutton.tiny .toggle {
  width: 24px;
  height: 14px;
  top: 3px; }

.togglebutton.tiny .toggle:before {
  width: 14px;
  height: 14px; }

.togglebutton.inverted.tiny .toggle:before {
  width: 12px;
  height: 12px; }

/*
    #############
	#   Badge   #
    #############
*/
.badge {
  background: #F47721;
  display: inline-block;
  position: relative;
  border-radius: 3px;
  color: #FFFFFF;
  padding: 0px 5px;
  font-size: 0.8rem;
  line-height: 1.6;
  margin: 0px 5px; }

.button .badge {
  margin-right: -2px; }

.button:not(.light):not(.clean):not(.promo) .badge {
  background-color: #FFFFFF;
  color: #5D6773;
  outline: 0px; }

/*
#######################
#   Page navigation   #
#######################
*/
.pagenavigation {
  clear: both;
  text-align: center;
  position: relative;
  margin-top: 30px; }

.pagenavigation .button {
  margin: 0px; }

.pagenavigation .previous {
  float: left; }

.pagenavigation .next {
  float: right; }

.pages {
  width: calc(100% - 220px );
  float: left;
  text-align: center;
  margin: 0px 30px; }

.pages a, .pages span.current {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  margin: 0px;
  padding: 0px;
  margin-bottom: 2px;
  color: #5d6773; }

.pages a:hover {
  background: #E4E4E4; }

.pages span.current {
  background-color: #F47721;
  color: #FFFFFF; }

.pagenavigation .total {
  clear: both;
  font-size: 11px;
  color: #A0AFB0;
  display: block;
  padding-top: 15px; }

/* Fix style when previous is missing */
.pages {
  margin-left: 105px; }

.pagenavigation .previous + .pages {
  margin-left: 35px; }

/*
###############################
#   Inline noContent notice   #
###############################
*/
.noContent {
  border: 3px dashed #E4E4E4;
  padding: 20px;
  text-align: center;
  font-size: 1.4rem;
  color: #A0AFB0;
  line-height: 30px;
  margin: 15px 0px;
  clear: both; }

.noContent .fa {
  color: #E4E4E4;
  position: relative;
  margin-right: 10px; }

/*
###################################
#   Responsive tabs component     #
###################################
*/
/* Mobile style expanded */
.tabs, .tabs ul, .tabs li {
  box-sizing: border-box;
  position: relative; }

.tabs:after, .tabs ul:after {
  content: " ";
  clear: both;
  display: block;
  font-size: 1px; }

.tabs {
  margin-bottom: 10px; }

.tabs ul {
  list-style: none;
  border-radius: 2px;
  border: 1px solid #E4E4E4;
  margin-bottom: 0px; }

.tabs li a {
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 0px 12px;
  line-height: 38px;
  max-height: 38px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/* Foldable / expandable */
@media (max-width: 767px) {
  .tabs li a:hover {
    background-color: #F5F5F5; }

  /* Fix border-radius */
  .tabs li:first-of-type a {
    border-radius: 2px 2px 0px 0px; }

  .tabs li:last-of-type a {
    border-radius: 0px 0px 2px 2px; }

  .tabs ul {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 38px; }

  .tabs ul li {
    display: none; }

  .tabs ul:hover {
    height: auto;
    z-index: 9;
    background: #FFF; }

  .tabs ul:hover li, .tabs ul li.selected {
    display: block; }

  /* Show pointer */
  .tabs:before {
    content: " ";
    display: block;
    position: absolute;
    border: 5px solid #F47721;
    border-color: #F47721 transparent transparent transparent;
    right: 15px;
    top: 19px;
    margin-top: -3px;
    pointer-events: none; } }
/* Larger screen tabify */
@media (min-width: 768px) {
  /* Show all */
  .tabs, .tabs ul {
    overflow: visible;
    position: relative;
    height: auto; }

  .tabs ul li {
    display: block; }

  .tabs:before {
    display: none; }

  /* Style to tabs */
  .tabs {
    margin-bottom: 0px; }

  .tabs ul {
    border-radius: 0px;
    border-width: 1px 0px; }

  .tabs + .tabs ul {
    border-top: 0px; }

  .tabs ul li {
    display: block;
    float: left; }

  .tabs ul li.selected {
    color: #F47721;
    background-color: #F5F5F5; }

  .tabs ul li:hover {
    background-color: #F5F5F5; }

  /* Short */
  .tabs.short li a span {
    display: none; }

  .tabs.short li a:before {
    content: attr(data-short); }

  /* Centered */
  .tabs.centered ul {
    text-align: center;
    font-size: 0px; }

  .tabs.centered ul li {
    float: none;
    display: inline-block;
    font-size: 1rem; }

  /* Divided */
  .tabs.equal ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch; }

  .tabs.equal ul li {
    min-width: 50px;
    float: none;
    flex: 1;
    text-align: center; } }
/* Plugins */
/*  
    ##################################################
    #   Plugin                                       #
    #   Styling for jQuery date and timepickers      #
    #   url: http://framework.pp.dev12/datepickers   #
    ##################################################
*/
/* Base */
.datepicker:after {
  content: " ";
  display: block;
  clear: both;
  font-size: 1px; }

.datepicker {
  position: relative;
  box-sizing: border-box;
  display: none; }

.datepicker.alwaysVisible {
  display: block; }

/* Holder styling */
.datepicker {
  padding: 10px;
  background: #FFFFFF;
  border: 1px solid #E4E4E4;
  border-radius: 5px;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1);
  width: 266px; }

.datepicker:before {
  content: " ";
  position: absolute;
  left: 20px;
  border-right: 1px solid #E4E4E4;
  border-top: 1px solid #E4E4E4;
  top: -11px;
  display: block;
  width: 21px;
  height: 21px;
  transform: rotate(-45deg);
  background: #FFFFFF;
  border-color: #DDD; }

/* Navigation */
.datepicker .nav {
  position: relative;
  font-size: 20px;
  color: #A0AFB0;
  line-height: 20px;
  text-align: center; }

.datepicker .nav span {
  width: 20px;
  display: block;
  float: left;
  cursor: pointer; }

.datepicker .nav .label, .datepicker .nav .sel {
  width: 80%;
  width: calc( 100% - 40px );
  text-align: center;
  font-size: 18px; }

.datepicker .nav .sel {
  display: block;
  float: left; }

.datepicker .nav .sel select {
  padding: 0px;
  border: 0px;
  font-size: 18px;
  color: #A0AFB0;
  text-align: center;
  width: auto;
  height: 20px;
  min-height: 20px;
  position: relative;
  top: -1px; }

.datepicker .nav .sel select option {
  padding: 5px 0px; }

/* Option styling */
.datepicker .opt {
  clear: both;
  padding-top: 10px; }

.datepicker .opt span {
  cursor: pointer; }

/* Variation months */
.datepicker .months .name {
  display: none; }

.datepicker .months span:before {
  content: attr(data-abbr); }

.datepicker .months span {
  color: #A0AFB0;
  font-size: 16px;
  width: 23%;
  width: calc( 25% - 10px);
  margin: 5px;
  display: block;
  float: left;
  text-align: center;
  line-height: 30px; }

.datepicker .months span:hover {
  background-color: #F5F5F5; }

.datepicker .months span.current {
  background-color: #F47721;
  color: #FFFFFF; }

.datepicker .months span.selected {
  background-color: #6EC3E8;
  color: #FFFFFF; }

/* Variation days / weeks */
.datepicker .days div {
  font-size: 0px;
  text-align: center; }

.datepicker .days span,
.datepicker .prefix div:before {
  width: 14%;
  width: calc( 100% / 7);
  display: inline-block;
  font-size: 1rem;
  line-height: 25px;
  box-sizing: border-box; }

.datepicker .days span:hover {
  background-color: #6EC3E8;
  color: #FFFFFF; }

.datepicker .days .prev {
  color: #FFFFFF; }

.datepicker .days .current {
  background-color: #F47721;
  color: #FFFFFF; }

.datepicker .days .selected {
  background-color: #6EC3E8;
  color: #FFFFFF; }

.datepicker .weeks div {
  cursor: pointer;
  margin: 8px 0px; }

.datepicker .weeks div:hover {
  background-color: #DFF0F8; }

.datepicker:target, .datepicker.active {
  display: block;
  z-index: 9; }

/* Variation weeks prefix */
.datepicker .prefix div:before {
  content: attr(data-nr);
  color: #CDD6DE;
  width: 12.5%;
  border-right: 1px dotted #CDD6DE; }

.datepicker .prefix div:before, .datepicker .prefix span {
  width: 12.5%; }

/* ################### */
/* #   Time picker   # */
/* ################### */
.field .selector {
  position: absolute;
  padding: 15px;
  border: 1px solid #E4E4E4;
  background: #FFFFFF;
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  display: none;
  z-index: 5;
  border-radius: 10px;
  box-sizing: border-box;
  margin-top: 2px; }

.field .selector:before {
  width: 20px;
  height: 20px;
  content: " ";
  border: 1px solid #E4E4E4;
  border-color: #E4E4E4 #E4E4E4  transparent transparent;
  transform: rotate(-45deg);
  background-color: #FFFFFF;
  display: block;
  position: absolute;
  right: auto;
  left: 50%;
  margin-left: -10px;
  top: -10px; }

.field .selector h4 {
  display: none; }

.field .selector .close {
  position: absolute;
  right: 10px;
  top: 10px;
  color: #A0AFB0;
  font-size: 1rem;
  cursor: pointer; }

.field input:focus + .selector, .field input.focus + .selector {
  display: block; }

.field .time + .selector {
  width: 160px; }

.field .time + .selector span:not(.close) {
  display: block;
  font-size: 1.2rem;
  color: #A0AFB0;
  padding: 2px 10px;
  cursor: pointer; }

.field .time + .selector span:not(.close):hover {
  background-color: #EAF6FB; }

.field .time + .selector span.selected {
  background-color: #F5F5F5;
  color: inherit; }

.field .time + .selector .bar {
  float: left;
  width: 50%;
  box-sizing: border-box; }

.field .time + .selector .hours {
  border-right: 1px solid #A0AFB0; }

.field .time + .selector .hours span {
  padding-left: 30px; }

.field .time + .selector .hours {
  max-height: 370px;
  overflow: hidden;
  overflow-y: auto;
  direction: rtl; }

/* Wider, two column hours */
.field .time.wider + .selector {
  width: 240px; }

.field .time.wider + .selector .hours span {
  width: 40px;
  float: left;
  padding: 2px 0px;
  clear: none;
  text-align: center; }

/*
    ################################################
    #   Plugin                                     #
    #   Styling for standard list with groups      #
    #   url: http://framework.pp.dev12/framework   #
    ################################################
*/
.usergroups, .usergroups .group, .selectgroup, .selectgroup .group {
  position: relative;
  box-sizing: border-box; }

.usergroups .group, .selectgroup .group {
  border-top: 1px solid #E4E4E4;
  padding: 10px 5px;
  color: #5d6773;
  line-height: 20px; }

.usergroups .group:after, .selectgroup .group:after {
  content: " ";
  clear: both;
  display: block; }

.usergroups .group:hover, .selectgroup .group:hover {
  background-color: #F5F5F5;
  cursor: pointer; }

.usergroups .group .orb, .usergroups .group .fa-check, .usergroups .group .name,
.selectgroup .group .orb, .selectgroup .group .fa-check, .selectgroup .group .name {
  display: block;
  float: left;
  line-height: 20px;
  height: 20px; }

.usergroups .group .orb, .selectgroup .group .orb {
  border-radius: 20px;
  content: " ";
  width: 10px;
  height: 10px;
  text-indent: -9999px;
  margin-right: 10px;
  clear: left;
  position: relative;
  top: 4px; }

.usergroups .group .fa-check, .selectgroup .group .fa-check {
  margin-left: 10px;
  width: 20px;
  text-align: center;
  position: relative;
  top: -1px;
  font-size: 1.2rem;
  color: #A0AFB0; }

.usergroups .selected .fa-check, .selectgroup .selected .fa-check {
  color: #20A52F; }

.usergroups .group .name, .selectgroup .group .name {
  width: 80%;
  width: calc( 100% - 50px );
  /* 50px is size/margin of orb and size/margin of check */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 20px;
  height: 20px; }

.usergroups .more {
  display: block;
  clear: both;
  border-radius: 2px;
  background-color: #F5F5F5;
  width: 100%;
  padding: 0px 15px;
  line-height: 40px;
  margin: 10px 0px 5px 0px;
  box-sizing: border-box;
  color: inherit; }

.usergroups .more .fa {
  margin-right: 5px; }

.usergroups .group:nth-of-type(n+3) {
  display: none; }

.usergroups .group:nth-of-type(3):last-of-type {
  display: block; }

/* For JS */
.usergroups.active .group {
  display: block; }

/* Dropdown style */
.selectgroup {
  height: 40px;
  display: inline-block;
  min-width: 200px; }

.selectgroup .holder {
  position: absolute;
  width: 100%;
  border-radius: 2px;
  border: 1px solid #E4E4E4; }

.selectgroup .holder:after {
  content: " ";
  display: block;
  position: absolute;
  border: 5px solid #F47721;
  border-color: #F47721 transparent transparent transparent;
  right: 10px;
  top: 50%;
  margin-top: -3px;
  pointer-events: none; }

.selectgroup .group {
  border: none;
  display: none;
  padding: 10px; }

.selectgroup .selected, .selectgroup:hover .group {
  display: block; }

.selectgroup .group .fa-check {
  display: none; }

.selectgroup:hover .group .fa-check {
  display: block; }

.selectgroup:hover .holder:after {
  display: none; }

.selectgroup:hover .group {
  border-top: 1px solid #E4E4E4; }

.selectgroup:hover .group:first-of-type {
  border-top: 0px solid #E4E4E4; }

/* 
    ####################################################
    #   Plugin                                         #
	#   Styling voor overlay with apps                 #
	#   dependencies: components/popOver               #
	#   url: http://framework.pp.dev12/#applications   #
	####################################################
*/
/* Styling for applications overview */
.apps, .apps .tile {
  position: relative;
  box-sizing: border-box; }

.apps {
  padding: 15px 0px;
  border-top: 1px solid #E4E4E4;
  margin-top: 15px; }

.dark .apps {
  border-color: #FFFFFF; }

.apps .tile {
  text-align: center;
  float: left;
  display: block;
  width: 80px;
  text-decoration: none;
  color: #A0AFB0;
  transition: all .2s ease-in-out;
  margin-bottom: 20px; }

.apps .tile:nth-of-type(2n+1) {
  clear: left; }

.apps .icon {
  width: 60px;
  height: 60px;
  text-align: center;
  border: 2px solid #CDD6DE;
  border-radius: 7px;
  font-size: 26px;
  line-height: 60px;
  clear: both;
  display: block;
  transition: all .2s ease-in-out;
  margin: auto; }

.apps .tile.inactive {
  opacity: 0.5;
  pointer-events: none; }

.apps .tile.blue {
  color: #37AFE4; }

.apps .tile.blue .icon {
  border-color: #37AFE4;
  color: #37AFE4; }

.apps .tile:hover .icon {
  border-color: #F47721;
  color: #F47721; }

.apps .title {
  font-size: 0.8rem;
  display: block;
  clear: both;
  padding-top: 5px; }

.dark .apps .tile {
  color: #FFFFFF; }

.dark .apps .icon {
  border-color: #FFFFFF; }

@media (min-width: 480px) {
  .apps .tile:nth-of-type(2n+1) {
    clear: none; }

  .apps .tile:nth-of-type(3n+1) {
    clear: left; } }
@media (min-width: 768px) {
  .apps .tile:nth-of-type(3n+1) {
    clear: none; }

  .apps .tile:nth-of-type(4n+1) {
    clear: left; } }
@media (print) {
  .apps {
    display: none; } }
/*
	##################################################################
    #   Plugin                                                       #
	#   Styling for generic page (or popOver) for choosing a group   #
	#   url: http://framework.pp.dev12/chooseGroup                   #
	##################################################################
*/
.chooseGroup:not(.overlay) .item {
  position: relative;
  box-sizing: border-box; }

.chooseGroup .groups:after, .chooseGroup .item:after {
  content: " ";
  clear: both;
  display: block; }

.chooseGroup .description, .chooseGroup .footNote {
  color: #A0AFB0;
  margin-bottom: 20px; }

.chooseGroup .footNote {
  font-size: 0.9rem; }

.chooseGroup h2 {
  color: inherit;
  font-weight: normal;
  font-size: 1.6rem; }

.chooseGroup .item {
  display: block;
  border: 1px solid #E4E4E4;
  background-color: #FFFFFF;
  border-radius: 5px;
  padding: 15px;
  color: inherit;
  transition: all .2s ease-in-out;
  margin-bottom: 10px; }

@media (min-width: 768px) {
  .chooseGroup .item {
    float: left;
    width: calc( 25% - 10px );
    margin-right: 10px; }

  .overlay.chooseGroup .groups .item {
    width: calc( 33% - 10px ); } }
.chooseGroup .item:hover {
  background-color: #F5F5F5;
  color: #A0AFB0; }

.chooseGroup .item .visHolder, .chooseGroup .item .visHolder .profileIcon, .chooseGroup .item .visHolder img {
  width: 60px;
  height: 60px;
  line-height: 60px; }

.chooseGroup .item .visHolder {
  float: left;
  margin-right: 20px; }

.chooseGroup .item .visHolder img {
  height: auto;
  margin-top: 5px; }

.chooseGroup .item .visHolder .profileIcon {
  margin: 0px; }

.chooseGroup .item .titleHolder {
  float: left;
  width: calc( 100% - 90px ); }

.chooseGroup .item .type, .chooseGroup .item .name {
  display: block;
  line-height: 1; }

.chooseGroup .item .type {
  font-size: 1rem;
  padding-top: 5px; }

.chooseGroup .item .name {
  font-size: 1.6rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.chooseGroup .remember {
  border-top: 1px solid #E4E4E4;
  padding: 10px 0px;
  margin: 30px 0px; }

/* ###################### */
/* #   Include layout   # */
/* ###################### */
/* Default layout */
/* ################### */
/* #   Third Party   # */
/* ################### */
/*!
 *  Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/awesome/fontawesome-webfont.eot?v=4.6.1");
  src: url("../fonts/awesome/fontawesome-webfont.eot?#iefix&v=4.6.1") format("embedded-opentype"), url("../fonts/awesome/fontawesome-webfont.woff2?v=4.6.1") format("woff2"), url("../fonts/awesome/fontawesome-webfont.woff?v=4.6.1") format("woff"), url("../fonts/awesome/fontawesome-webfont.ttf?v=4.6.1") format("truetype"), url("../fonts/awesome/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.fa-lg {
  font-size: 1.33333333em;
  line-height: .75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571429em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none; }

.fa-ul > li {
  position: relative; }

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: .14285714em;
  text-align: center; }

.fa-li.fa-lg {
  left: -1.85714286em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid .08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

.fa-glass:before {
  content: "\f000"; }

.fa-music:before {
  content: "\f001"; }

.fa-search:before {
  content: "\f002"; }

.fa-envelope-o:before {
  content: "\f003"; }

.fa-heart:before {
  content: "\f004"; }

.fa-star:before {
  content: "\f005"; }

.fa-star-o:before {
  content: "\f006"; }

.fa-user:before {
  content: "\f007"; }

.fa-film:before {
  content: "\f008"; }

.fa-th-large:before {
  content: "\f009"; }

.fa-th:before {
  content: "\f00a"; }

.fa-th-list:before {
  content: "\f00b"; }

.fa-check:before {
  content: "\f00c"; }

.fa-remove:before, .fa-close:before, .fa-times:before {
  content: "\f00d"; }

.fa-search-plus:before {
  content: "\f00e"; }

.fa-search-minus:before {
  content: "\f010"; }

.fa-power-off:before {
  content: "\f011"; }

.fa-signal:before {
  content: "\f012"; }

.fa-gear:before, .fa-cog:before {
  content: "\f013"; }

.fa-trash-o:before {
  content: "\f014"; }

.fa-home:before {
  content: "\f015"; }

.fa-file-o:before {
  content: "\f016"; }

.fa-clock-o:before {
  content: "\f017"; }

.fa-road:before {
  content: "\f018"; }

.fa-download:before {
  content: "\f019"; }

.fa-arrow-circle-o-down:before {
  content: "\f01a"; }

.fa-arrow-circle-o-up:before {
  content: "\f01b"; }

.fa-inbox:before {
  content: "\f01c"; }

.fa-play-circle-o:before {
  content: "\f01d"; }

.fa-rotate-right:before, .fa-repeat:before {
  content: "\f01e"; }

.fa-refresh:before {
  content: "\f021"; }

.fa-list-alt:before {
  content: "\f022"; }

.fa-lock:before {
  content: "\f023"; }

.fa-flag:before {
  content: "\f024"; }

.fa-headphones:before {
  content: "\f025"; }

.fa-volume-off:before {
  content: "\f026"; }

.fa-volume-down:before {
  content: "\f027"; }

.fa-volume-up:before {
  content: "\f028"; }

.fa-qrcode:before {
  content: "\f029"; }

.fa-barcode:before {
  content: "\f02a"; }

.fa-tag:before {
  content: "\f02b"; }

.fa-tags:before {
  content: "\f02c"; }

.fa-book:before {
  content: "\f02d"; }

.fa-bookmark:before {
  content: "\f02e"; }

.fa-print:before {
  content: "\f02f"; }

.fa-camera:before {
  content: "\f030"; }

.fa-font:before {
  content: "\f031"; }

.fa-bold:before {
  content: "\f032"; }

.fa-italic:before {
  content: "\f033"; }

.fa-text-height:before {
  content: "\f034"; }

.fa-text-width:before {
  content: "\f035"; }

.fa-align-left:before {
  content: "\f036"; }

.fa-align-center:before {
  content: "\f037"; }

.fa-align-right:before {
  content: "\f038"; }

.fa-align-justify:before {
  content: "\f039"; }

.fa-list:before {
  content: "\f03a"; }

.fa-dedent:before, .fa-outdent:before {
  content: "\f03b"; }

.fa-indent:before {
  content: "\f03c"; }

.fa-video-camera:before {
  content: "\f03d"; }

.fa-photo:before, .fa-image:before, .fa-picture-o:before {
  content: "\f03e"; }

.fa-pencil:before {
  content: "\f040"; }

.fa-map-marker:before {
  content: "\f041"; }

.fa-adjust:before {
  content: "\f042"; }

.fa-tint:before {
  content: "\f043"; }

.fa-edit:before, .fa-pencil-square-o:before {
  content: "\f044"; }

.fa-share-square-o:before {
  content: "\f045"; }

.fa-check-square-o:before {
  content: "\f046"; }

.fa-arrows:before {
  content: "\f047"; }

.fa-step-backward:before {
  content: "\f048"; }

.fa-fast-backward:before {
  content: "\f049"; }

.fa-backward:before {
  content: "\f04a"; }

.fa-play:before {
  content: "\f04b"; }

.fa-pause:before {
  content: "\f04c"; }

.fa-stop:before {
  content: "\f04d"; }

.fa-forward:before {
  content: "\f04e"; }

.fa-fast-forward:before {
  content: "\f050"; }

.fa-step-forward:before {
  content: "\f051"; }

.fa-eject:before {
  content: "\f052"; }

.fa-chevron-left:before {
  content: "\f053"; }

.fa-chevron-right:before {
  content: "\f054"; }

.fa-plus-circle:before {
  content: "\f055"; }

.fa-minus-circle:before {
  content: "\f056"; }

.fa-times-circle:before {
  content: "\f057"; }

.fa-check-circle:before {
  content: "\f058"; }

.fa-question-circle:before {
  content: "\f059"; }

.fa-info-circle:before {
  content: "\f05a"; }

.fa-crosshairs:before {
  content: "\f05b"; }

.fa-times-circle-o:before {
  content: "\f05c"; }

.fa-check-circle-o:before {
  content: "\f05d"; }

.fa-ban:before {
  content: "\f05e"; }

.fa-arrow-left:before {
  content: "\f060"; }

.fa-arrow-right:before {
  content: "\f061"; }

.fa-arrow-up:before {
  content: "\f062"; }

.fa-arrow-down:before {
  content: "\f063"; }

.fa-mail-forward:before, .fa-share:before {
  content: "\f064"; }

.fa-expand:before {
  content: "\f065"; }

.fa-compress:before {
  content: "\f066"; }

.fa-plus:before {
  content: "\f067"; }

.fa-minus:before {
  content: "\f068"; }

.fa-asterisk:before {
  content: "\f069"; }

.fa-exclamation-circle:before {
  content: "\f06a"; }

.fa-gift:before {
  content: "\f06b"; }

.fa-leaf:before {
  content: "\f06c"; }

.fa-fire:before {
  content: "\f06d"; }

.fa-eye:before {
  content: "\f06e"; }

.fa-eye-slash:before {
  content: "\f070"; }

.fa-warning:before, .fa-exclamation-triangle:before {
  content: "\f071"; }

.fa-plane:before {
  content: "\f072"; }

.fa-calendar:before {
  content: "\f073"; }

.fa-random:before {
  content: "\f074"; }

.fa-comment:before {
  content: "\f075"; }

.fa-magnet:before {
  content: "\f076"; }

.fa-chevron-up:before {
  content: "\f077"; }

.fa-chevron-down:before {
  content: "\f078"; }

.fa-retweet:before {
  content: "\f079"; }

.fa-shopping-cart:before {
  content: "\f07a"; }

.fa-folder:before {
  content: "\f07b"; }

.fa-folder-open:before {
  content: "\f07c"; }

.fa-arrows-v:before {
  content: "\f07d"; }

.fa-arrows-h:before {
  content: "\f07e"; }

.fa-bar-chart-o:before, .fa-bar-chart:before {
  content: "\f080"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-camera-retro:before {
  content: "\f083"; }

.fa-key:before {
  content: "\f084"; }

.fa-gears:before, .fa-cogs:before {
  content: "\f085"; }

.fa-comments:before {
  content: "\f086"; }

.fa-thumbs-o-up:before {
  content: "\f087"; }

.fa-thumbs-o-down:before {
  content: "\f088"; }

.fa-star-half:before {
  content: "\f089"; }

.fa-heart-o:before {
  content: "\f08a"; }

.fa-sign-out:before {
  content: "\f08b"; }

.fa-linkedin-square:before {
  content: "\f08c"; }

.fa-thumb-tack:before {
  content: "\f08d"; }

.fa-external-link:before {
  content: "\f08e"; }

.fa-sign-in:before {
  content: "\f090"; }

.fa-trophy:before {
  content: "\f091"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-upload:before {
  content: "\f093"; }

.fa-lemon-o:before {
  content: "\f094"; }

.fa-phone:before {
  content: "\f095"; }

.fa-square-o:before {
  content: "\f096"; }

.fa-bookmark-o:before {
  content: "\f097"; }

.fa-phone-square:before {
  content: "\f098"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-facebook-f:before, .fa-facebook:before {
  content: "\f09a"; }

.fa-github:before {
  content: "\f09b"; }

.fa-unlock:before {
  content: "\f09c"; }

.fa-credit-card:before {
  content: "\f09d"; }

.fa-feed:before, .fa-rss:before {
  content: "\f09e"; }

.fa-hdd-o:before {
  content: "\f0a0"; }

.fa-bullhorn:before {
  content: "\f0a1"; }

.fa-bell:before {
  content: "\f0f3"; }

.fa-certificate:before {
  content: "\f0a3"; }

.fa-hand-o-right:before {
  content: "\f0a4"; }

.fa-hand-o-left:before {
  content: "\f0a5"; }

.fa-hand-o-up:before {
  content: "\f0a6"; }

.fa-hand-o-down:before {
  content: "\f0a7"; }

.fa-arrow-circle-left:before {
  content: "\f0a8"; }

.fa-arrow-circle-right:before {
  content: "\f0a9"; }

.fa-arrow-circle-up:before {
  content: "\f0aa"; }

.fa-arrow-circle-down:before {
  content: "\f0ab"; }

.fa-globe:before {
  content: "\f0ac"; }

.fa-wrench:before {
  content: "\f0ad"; }

.fa-tasks:before {
  content: "\f0ae"; }

.fa-filter:before {
  content: "\f0b0"; }

.fa-briefcase:before {
  content: "\f0b1"; }

.fa-arrows-alt:before {
  content: "\f0b2"; }

.fa-group:before, .fa-users:before {
  content: "\f0c0"; }

.fa-chain:before, .fa-link:before {
  content: "\f0c1"; }

.fa-cloud:before {
  content: "\f0c2"; }

.fa-flask:before {
  content: "\f0c3"; }

.fa-cut:before, .fa-scissors:before {
  content: "\f0c4"; }

.fa-copy:before, .fa-files-o:before {
  content: "\f0c5"; }

.fa-paperclip:before {
  content: "\f0c6"; }

.fa-save:before, .fa-floppy-o:before {
  content: "\f0c7"; }

.fa-square:before {
  content: "\f0c8"; }

.fa-navicon:before, .fa-reorder:before, .fa-bars:before {
  content: "\f0c9"; }

.fa-list-ul:before {
  content: "\f0ca"; }

.fa-list-ol:before {
  content: "\f0cb"; }

.fa-strikethrough:before {
  content: "\f0cc"; }

.fa-underline:before {
  content: "\f0cd"; }

.fa-table:before {
  content: "\f0ce"; }

.fa-magic:before {
  content: "\f0d0"; }

.fa-truck:before {
  content: "\f0d1"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-google-plus:before {
  content: "\f0d5"; }

.fa-money:before {
  content: "\f0d6"; }

.fa-caret-down:before {
  content: "\f0d7"; }

.fa-caret-up:before {
  content: "\f0d8"; }

.fa-caret-left:before {
  content: "\f0d9"; }

.fa-caret-right:before {
  content: "\f0da"; }

.fa-columns:before {
  content: "\f0db"; }

.fa-unsorted:before, .fa-sort:before {
  content: "\f0dc"; }

.fa-sort-down:before, .fa-sort-desc:before {
  content: "\f0dd"; }

.fa-sort-up:before, .fa-sort-asc:before {
  content: "\f0de"; }

.fa-envelope:before {
  content: "\f0e0"; }

.fa-linkedin:before {
  content: "\f0e1"; }

.fa-rotate-left:before, .fa-undo:before {
  content: "\f0e2"; }

.fa-legal:before, .fa-gavel:before {
  content: "\f0e3"; }

.fa-dashboard:before, .fa-tachometer:before {
  content: "\f0e4"; }

.fa-comment-o:before {
  content: "\f0e5"; }

.fa-comments-o:before {
  content: "\f0e6"; }

.fa-flash:before, .fa-bolt:before {
  content: "\f0e7"; }

.fa-sitemap:before {
  content: "\f0e8"; }

.fa-umbrella:before {
  content: "\f0e9"; }

.fa-paste:before, .fa-clipboard:before {
  content: "\f0ea"; }

.fa-lightbulb-o:before {
  content: "\f0eb"; }

.fa-exchange:before {
  content: "\f0ec"; }

.fa-cloud-download:before {
  content: "\f0ed"; }

.fa-cloud-upload:before {
  content: "\f0ee"; }

.fa-user-md:before {
  content: "\f0f0"; }

.fa-stethoscope:before {
  content: "\f0f1"; }

.fa-suitcase:before {
  content: "\f0f2"; }

.fa-bell-o:before {
  content: "\f0a2"; }

.fa-coffee:before {
  content: "\f0f4"; }

.fa-cutlery:before {
  content: "\f0f5"; }

.fa-file-text-o:before {
  content: "\f0f6"; }

.fa-building-o:before {
  content: "\f0f7"; }

.fa-hospital-o:before {
  content: "\f0f8"; }

.fa-ambulance:before {
  content: "\f0f9"; }

.fa-medkit:before {
  content: "\f0fa"; }

.fa-fighter-jet:before {
  content: "\f0fb"; }

.fa-beer:before {
  content: "\f0fc"; }

.fa-h-square:before {
  content: "\f0fd"; }

.fa-plus-square:before {
  content: "\f0fe"; }

.fa-angle-double-left:before {
  content: "\f100"; }

.fa-angle-double-right:before {
  content: "\f101"; }

.fa-angle-double-up:before {
  content: "\f102"; }

.fa-angle-double-down:before {
  content: "\f103"; }

.fa-angle-left:before {
  content: "\f104"; }

.fa-angle-right:before {
  content: "\f105"; }

.fa-angle-up:before {
  content: "\f106"; }

.fa-angle-down:before {
  content: "\f107"; }

.fa-desktop:before {
  content: "\f108"; }

.fa-laptop:before {
  content: "\f109"; }

.fa-tablet:before {
  content: "\f10a"; }

.fa-mobile-phone:before, .fa-mobile:before {
  content: "\f10b"; }

.fa-circle-o:before {
  content: "\f10c"; }

.fa-quote-left:before {
  content: "\f10d"; }

.fa-quote-right:before {
  content: "\f10e"; }

.fa-spinner:before {
  content: "\f110"; }

.fa-circle:before {
  content: "\f111"; }

.fa-mail-reply:before, .fa-reply:before {
  content: "\f112"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-folder-o:before {
  content: "\f114"; }

.fa-folder-open-o:before {
  content: "\f115"; }

.fa-smile-o:before {
  content: "\f118"; }

.fa-frown-o:before {
  content: "\f119"; }

.fa-meh-o:before {
  content: "\f11a"; }

.fa-gamepad:before {
  content: "\f11b"; }

.fa-keyboard-o:before {
  content: "\f11c"; }

.fa-flag-o:before {
  content: "\f11d"; }

.fa-flag-checkered:before {
  content: "\f11e"; }

.fa-terminal:before {
  content: "\f120"; }

.fa-code:before {
  content: "\f121"; }

.fa-mail-reply-all:before, .fa-reply-all:before {
  content: "\f122"; }

.fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before {
  content: "\f123"; }

.fa-location-arrow:before {
  content: "\f124"; }

.fa-crop:before {
  content: "\f125"; }

.fa-code-fork:before {
  content: "\f126"; }

.fa-unlink:before, .fa-chain-broken:before {
  content: "\f127"; }

.fa-question:before {
  content: "\f128"; }

.fa-info:before {
  content: "\f129"; }

.fa-exclamation:before {
  content: "\f12a"; }

.fa-superscript:before {
  content: "\f12b"; }

.fa-subscript:before {
  content: "\f12c"; }

.fa-eraser:before {
  content: "\f12d"; }

.fa-puzzle-piece:before {
  content: "\f12e"; }

.fa-microphone:before {
  content: "\f130"; }

.fa-microphone-slash:before {
  content: "\f131"; }

.fa-shield:before {
  content: "\f132"; }

.fa-calendar-o:before {
  content: "\f133"; }

.fa-fire-extinguisher:before {
  content: "\f134"; }

.fa-rocket:before {
  content: "\f135"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-chevron-circle-left:before {
  content: "\f137"; }

.fa-chevron-circle-right:before {
  content: "\f138"; }

.fa-chevron-circle-up:before {
  content: "\f139"; }

.fa-chevron-circle-down:before {
  content: "\f13a"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-anchor:before {
  content: "\f13d"; }

.fa-unlock-alt:before {
  content: "\f13e"; }

.fa-bullseye:before {
  content: "\f140"; }

.fa-ellipsis-h:before {
  content: "\f141"; }

.fa-ellipsis-v:before {
  content: "\f142"; }

.fa-rss-square:before {
  content: "\f143"; }

.fa-play-circle:before {
  content: "\f144"; }

.fa-ticket:before {
  content: "\f145"; }

.fa-minus-square:before {
  content: "\f146"; }

.fa-minus-square-o:before {
  content: "\f147"; }

.fa-level-up:before {
  content: "\f148"; }

.fa-level-down:before {
  content: "\f149"; }

.fa-check-square:before {
  content: "\f14a"; }

.fa-pencil-square:before {
  content: "\f14b"; }

.fa-external-link-square:before {
  content: "\f14c"; }

.fa-share-square:before {
  content: "\f14d"; }

.fa-compass:before {
  content: "\f14e"; }

.fa-toggle-down:before, .fa-caret-square-o-down:before {
  content: "\f150"; }

.fa-toggle-up:before, .fa-caret-square-o-up:before {
  content: "\f151"; }

.fa-toggle-right:before, .fa-caret-square-o-right:before {
  content: "\f152"; }

.fa-euro:before, .fa-eur:before {
  content: "\f153"; }

.fa-gbp:before {
  content: "\f154"; }

.fa-dollar:before, .fa-usd:before {
  content: "\f155"; }

.fa-rupee:before, .fa-inr:before {
  content: "\f156"; }

.fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before {
  content: "\f157"; }

.fa-ruble:before, .fa-rouble:before, .fa-rub:before {
  content: "\f158"; }

.fa-won:before, .fa-krw:before {
  content: "\f159"; }

.fa-bitcoin:before, .fa-btc:before {
  content: "\f15a"; }

.fa-file:before {
  content: "\f15b"; }

.fa-file-text:before {
  content: "\f15c"; }

.fa-sort-alpha-asc:before {
  content: "\f15d"; }

.fa-sort-alpha-desc:before {
  content: "\f15e"; }

.fa-sort-amount-asc:before {
  content: "\f160"; }

.fa-sort-amount-desc:before {
  content: "\f161"; }

.fa-sort-numeric-asc:before {
  content: "\f162"; }

.fa-sort-numeric-desc:before {
  content: "\f163"; }

.fa-thumbs-up:before {
  content: "\f164"; }

.fa-thumbs-down:before {
  content: "\f165"; }

.fa-youtube-square:before {
  content: "\f166"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-xing:before {
  content: "\f168"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-youtube-play:before {
  content: "\f16a"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-adn:before {
  content: "\f170"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-bitbucket-square:before {
  content: "\f172"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-long-arrow-down:before {
  content: "\f175"; }

.fa-long-arrow-up:before {
  content: "\f176"; }

.fa-long-arrow-left:before {
  content: "\f177"; }

.fa-long-arrow-right:before {
  content: "\f178"; }

.fa-apple:before {
  content: "\f179"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-android:before {
  content: "\f17b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-trello:before {
  content: "\f181"; }

.fa-female:before {
  content: "\f182"; }

.fa-male:before {
  content: "\f183"; }

.fa-gittip:before, .fa-gratipay:before {
  content: "\f184"; }

.fa-sun-o:before {
  content: "\f185"; }

.fa-moon-o:before {
  content: "\f186"; }

.fa-archive:before {
  content: "\f187"; }

.fa-bug:before {
  content: "\f188"; }

.fa-vk:before {
  content: "\f189"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-arrow-circle-o-right:before {
  content: "\f18e"; }

.fa-arrow-circle-o-left:before {
  content: "\f190"; }

.fa-toggle-left:before, .fa-caret-square-o-left:before {
  content: "\f191"; }

.fa-dot-circle-o:before {
  content: "\f192"; }

.fa-wheelchair:before {
  content: "\f193"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-turkish-lira:before, .fa-try:before {
  content: "\f195"; }

.fa-plus-square-o:before {
  content: "\f196"; }

.fa-space-shuttle:before {
  content: "\f197"; }

.fa-slack:before {
  content: "\f198"; }

.fa-envelope-square:before {
  content: "\f199"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-institution:before, .fa-bank:before, .fa-university:before {
  content: "\f19c"; }

.fa-mortar-board:before, .fa-graduation-cap:before {
  content: "\f19d"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-pied-piper:before {
  content: "\f1a7"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-language:before {
  content: "\f1ab"; }

.fa-fax:before {
  content: "\f1ac"; }

.fa-building:before {
  content: "\f1ad"; }

.fa-child:before {
  content: "\f1ae"; }

.fa-paw:before {
  content: "\f1b0"; }

.fa-spoon:before {
  content: "\f1b1"; }

.fa-cube:before {
  content: "\f1b2"; }

.fa-cubes:before {
  content: "\f1b3"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-recycle:before {
  content: "\f1b8"; }

.fa-automobile:before, .fa-car:before {
  content: "\f1b9"; }

.fa-cab:before, .fa-taxi:before {
  content: "\f1ba"; }

.fa-tree:before {
  content: "\f1bb"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-database:before {
  content: "\f1c0"; }

.fa-file-pdf-o:before {
  content: "\f1c1"; }

.fa-file-word-o:before {
  content: "\f1c2"; }

.fa-file-excel-o:before {
  content: "\f1c3"; }

.fa-file-powerpoint-o:before {
  content: "\f1c4"; }

.fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before {
  content: "\f1c5"; }

.fa-file-zip-o:before, .fa-file-archive-o:before {
  content: "\f1c6"; }

.fa-file-sound-o:before, .fa-file-audio-o:before {
  content: "\f1c7"; }

.fa-file-movie-o:before, .fa-file-video-o:before {
  content: "\f1c8"; }

.fa-file-code-o:before {
  content: "\f1c9"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before {
  content: "\f1cd"; }

.fa-circle-o-notch:before {
  content: "\f1ce"; }

.fa-ra:before, .fa-rebel:before {
  content: "\f1d0"; }

.fa-ge:before, .fa-empire:before {
  content: "\f1d1"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-y-combinator-square:before, .fa-yc-square:before, .fa-hacker-news:before {
  content: "\f1d4"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-wechat:before, .fa-weixin:before {
  content: "\f1d7"; }

.fa-send:before, .fa-paper-plane:before {
  content: "\f1d8"; }

.fa-send-o:before, .fa-paper-plane-o:before {
  content: "\f1d9"; }

.fa-history:before {
  content: "\f1da"; }

.fa-circle-thin:before {
  content: "\f1db"; }

.fa-header:before {
  content: "\f1dc"; }

.fa-paragraph:before {
  content: "\f1dd"; }

.fa-sliders:before {
  content: "\f1de"; }

.fa-share-alt:before {
  content: "\f1e0"; }

.fa-share-alt-square:before {
  content: "\f1e1"; }

.fa-bomb:before {
  content: "\f1e2"; }

.fa-soccer-ball-o:before, .fa-futbol-o:before {
  content: "\f1e3"; }

.fa-tty:before {
  content: "\f1e4"; }

.fa-binoculars:before {
  content: "\f1e5"; }

.fa-plug:before {
  content: "\f1e6"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-newspaper-o:before {
  content: "\f1ea"; }

.fa-wifi:before {
  content: "\f1eb"; }

.fa-calculator:before {
  content: "\f1ec"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-bell-slash:before {
  content: "\f1f6"; }

.fa-bell-slash-o:before {
  content: "\f1f7"; }

.fa-trash:before {
  content: "\f1f8"; }

.fa-copyright:before {
  content: "\f1f9"; }

.fa-at:before {
  content: "\f1fa"; }

.fa-eyedropper:before {
  content: "\f1fb"; }

.fa-paint-brush:before {
  content: "\f1fc"; }

.fa-birthday-cake:before {
  content: "\f1fd"; }

.fa-area-chart:before {
  content: "\f1fe"; }

.fa-pie-chart:before {
  content: "\f200"; }

.fa-line-chart:before {
  content: "\f201"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-toggle-off:before {
  content: "\f204"; }

.fa-toggle-on:before {
  content: "\f205"; }

.fa-bicycle:before {
  content: "\f206"; }

.fa-bus:before {
  content: "\f207"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-cc:before {
  content: "\f20a"; }

.fa-shekel:before, .fa-sheqel:before, .fa-ils:before {
  content: "\f20b"; }

.fa-meanpath:before {
  content: "\f20c"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-cart-plus:before {
  content: "\f217"; }

.fa-cart-arrow-down:before {
  content: "\f218"; }

.fa-diamond:before {
  content: "\f219"; }

.fa-ship:before {
  content: "\f21a"; }

.fa-user-secret:before {
  content: "\f21b"; }

.fa-motorcycle:before {
  content: "\f21c"; }

.fa-street-view:before {
  content: "\f21d"; }

.fa-heartbeat:before {
  content: "\f21e"; }

.fa-venus:before {
  content: "\f221"; }

.fa-mars:before {
  content: "\f222"; }

.fa-mercury:before {
  content: "\f223"; }

.fa-intersex:before, .fa-transgender:before {
  content: "\f224"; }

.fa-transgender-alt:before {
  content: "\f225"; }

.fa-venus-double:before {
  content: "\f226"; }

.fa-mars-double:before {
  content: "\f227"; }

.fa-venus-mars:before {
  content: "\f228"; }

.fa-mars-stroke:before {
  content: "\f229"; }

.fa-mars-stroke-v:before {
  content: "\f22a"; }

.fa-mars-stroke-h:before {
  content: "\f22b"; }

.fa-neuter:before {
  content: "\f22c"; }

.fa-genderless:before {
  content: "\f22d"; }

.fa-facebook-official:before {
  content: "\f230"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-server:before {
  content: "\f233"; }

.fa-user-plus:before {
  content: "\f234"; }

.fa-user-times:before {
  content: "\f235"; }

.fa-hotel:before, .fa-bed:before {
  content: "\f236"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-train:before {
  content: "\f238"; }

.fa-subway:before {
  content: "\f239"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-yc:before, .fa-y-combinator:before {
  content: "\f23b"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-battery-4:before, .fa-battery-full:before {
  content: "\f240"; }

.fa-battery-3:before, .fa-battery-three-quarters:before {
  content: "\f241"; }

.fa-battery-2:before, .fa-battery-half:before {
  content: "\f242"; }

.fa-battery-1:before, .fa-battery-quarter:before {
  content: "\f243"; }

.fa-battery-0:before, .fa-battery-empty:before {
  content: "\f244"; }

.fa-mouse-pointer:before {
  content: "\f245"; }

.fa-i-cursor:before {
  content: "\f246"; }

.fa-object-group:before {
  content: "\f247"; }

.fa-object-ungroup:before {
  content: "\f248"; }

.fa-sticky-note:before {
  content: "\f249"; }

.fa-sticky-note-o:before {
  content: "\f24a"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-clone:before {
  content: "\f24d"; }

.fa-balance-scale:before {
  content: "\f24e"; }

.fa-hourglass-o:before {
  content: "\f250"; }

.fa-hourglass-1:before, .fa-hourglass-start:before {
  content: "\f251"; }

.fa-hourglass-2:before, .fa-hourglass-half:before {
  content: "\f252"; }

.fa-hourglass-3:before, .fa-hourglass-end:before {
  content: "\f253"; }

.fa-hourglass:before {
  content: "\f254"; }

.fa-hand-grab-o:before, .fa-hand-rock-o:before {
  content: "\f255"; }

.fa-hand-stop-o:before, .fa-hand-paper-o:before {
  content: "\f256"; }

.fa-hand-scissors-o:before {
  content: "\f257"; }

.fa-hand-lizard-o:before {
  content: "\f258"; }

.fa-hand-spock-o:before {
  content: "\f259"; }

.fa-hand-pointer-o:before {
  content: "\f25a"; }

.fa-hand-peace-o:before {
  content: "\f25b"; }

.fa-trademark:before {
  content: "\f25c"; }

.fa-registered:before {
  content: "\f25d"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-gg:before {
  content: "\f260"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-tripadvisor:before {
  content: "\f262"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-safari:before {
  content: "\f267"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-tv:before, .fa-television:before {
  content: "\f26c"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-500px:before {
  content: "\f26e"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-calendar-plus-o:before {
  content: "\f271"; }

.fa-calendar-minus-o:before {
  content: "\f272"; }

.fa-calendar-times-o:before {
  content: "\f273"; }

.fa-calendar-check-o:before {
  content: "\f274"; }

.fa-industry:before {
  content: "\f275"; }

.fa-map-pin:before {
  content: "\f276"; }

.fa-map-signs:before {
  content: "\f277"; }

.fa-map-o:before {
  content: "\f278"; }

.fa-map:before {
  content: "\f279"; }

.fa-commenting:before {
  content: "\f27a"; }

.fa-commenting-o:before {
  content: "\f27b"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-vimeo:before {
  content: "\f27d"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-edge:before {
  content: "\f282"; }

.fa-credit-card-alt:before {
  content: "\f283"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-modx:before {
  content: "\f285"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-usb:before {
  content: "\f287"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-pause-circle:before {
  content: "\f28b"; }

.fa-pause-circle-o:before {
  content: "\f28c"; }

.fa-stop-circle:before {
  content: "\f28d"; }

.fa-stop-circle-o:before {
  content: "\f28e"; }

.fa-shopping-bag:before {
  content: "\f290"; }

.fa-shopping-basket:before {
  content: "\f291"; }

.fa-hashtag:before {
  content: "\f292"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-percent:before {
  content: "\f295"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-envira:before {
  content: "\f299"; }

.fa-universal-access:before {
  content: "\f29a"; }

.fa-wheelchair-alt:before {
  content: "\f29b"; }

.fa-question-circle-o:before {
  content: "\f29c"; }

.fa-blind:before {
  content: "\f29d"; }

.fa-audio-description:before {
  content: "\f29e"; }

.fa-volume-control-phone:before {
  content: "\f2a0"; }

.fa-braille:before {
  content: "\f2a1"; }

.fa-assistive-listening-systems:before {
  content: "\f2a2"; }

.fa-asl-interpreting:before, .fa-american-sign-language-interpreting:before {
  content: "\f2a3"; }

.fa-deafness:before, .fa-hard-of-hearing:before, .fa-deaf:before {
  content: "\f2a4"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-signing:before, .fa-sign-language:before {
  content: "\f2a7"; }

.fa-low-vision:before {
  content: "\f2a8"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ac"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/* ############################# */
/* #   Application specifics   # */
/* ############################# */
/* Overwrite framework */
h1, h2, h3, h4, h5 {
  font-weight: 300;
  color: #5D6773; }

h1 {
  font-size: 2rem; }

h2 {
  font-size: 1.8rem;
  text-transform: uppercase; }

h3 {
  font-size: 1.6rem;
  text-transform: uppercase; }

p, li {
  font-size: 1.1rem;
  color: #A0AFB0; }

abbr.go {
  color: #F47721;
  text-decoration: none; }

.button.large {
  line-height: 50px;
  padding: 0px 20px 3px 20px;
  font-size: 1.2rem;
  box-shadow: inset 0px -3px 0px rgba(0, 0, 0, 0.1);
  border-radius: 5px 5px 6px 6px; }

.button.large .fa.right {
  line-height: 50px; }

.logo {
  background: url(../images/emblem_ts.svg) no-repeat center center;
  background-size: fit;
  min-width: 40px;
  min-height: 40px; }

.logo:before {
  content: " "; }

/*
	Base layout
*/
header, nav, .main, footer, .row {
  position: relative;
  box-sizing: border-box;
  clear: both; }

header:after, nav:after, .main:after, footer:after, .row:after, footer .container:after {
  content: " ";
  clear: both;
  display: block;
  font-size: 1px; }

/* HEADER */
header, nav {
  height: 60px;
  clear: none; }

header {
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); }

nav {
  float: right;
  text-align: right;
  padding: 10px 0px;
  display: block; }

.toggleMenu {
  float: right;
  width: 40px;
  height: 40px;
  margin: 10px;
  font-size: 24px;
  color: #A0AFB0; }

.toggleMenu .fa,
header .cross .fa {
  pointer-events: none; }

/* Mobile menu */
@media (max-width: 767px) {
  nav {
    position: fixed;
    right: -350px;
    top: 0px;
    height: 100%;
    background: #FFFFFF;
    z-index: 20;
    width: 300px;
    transition: right 0.3s ease-out;
    box-shadow: -30px 0px 30px rgba(0, 0, 0, 0.07);
    padding: 20px; }

  .closeOverlay {
    position: fixed;
    top: 0px;
    left: 0px;
    opacity: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    z-index: 4;
    pointer-events: none;
    transition: opacity 0.3s ease-out; }

  nav .button {
    display: block;
    clear: both;
    margin: 10px 0px; }

  nav .button.clean + .button.clean {
    border-top: 1px solid #E4E4E4; }

  nav .cross {
    font-size: 1.4rem;
    color: #A0AFB0;
    width: 40px;
    height: 40px;
    display: block;
    text-align: center;
    float: right; }

  /* Animate */
  nav:target, nav.active {
    right: 0px; }

  nav:target + .closeOverlay, nav.active + .closeOverlay {
    opacity: 1;
    pointer-events: visible; } }
@media (min-width: 768px) {
  .toggleMenu, nav .cross, header .closeOverlay {
    display: none; } }
/* MAIN */
/* FOOTER */
footer {
  text-align: center; }

footer .container {
  padding: 50px 0px;
  border-top: 1px solid #E4E4E4; }

footer .power, footer .copy {
  display: block;
  font-size: 0.9rem;
  color: #A0AFB0;
  text-decoration: none; }

footer .power {
  float: left; }

footer .copy {
  float: right; }

#toTop {
  top: 30px;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-left: -25px;
  background-color: #D0D8D8;
  border-radius: 40px;
  color: #FFFFFF;
  display: block;
  position: absolute;
  text-decoration: none; }

#toTop span {
  display: none; }

#toTop .fa {
  font-size: 25px;
  line-height: 50px;
  display: block;
  margin: 0px; }

/*
	Home
*/
/* BASE ROW */
.row {
  position: relative;
  box-sizing: border-box;
  clear: both;
  padding: 30px 20px; }

.row:after {
  content: " ";
  clear: both;
  display: block;
  font-size: 1px; }

.row.white {
  background: #FFFFF; }

.row.grey {
  background: #F5F5F5; }

@media (min-width: 768px) {
  .row {
    padding: 50px; } }
@media (min-width: 992px) {
  .row {
    padding: 85px; } }
/* blocks layout in row */
.blocks .block {
  box-sizing: border-box;
  position: relative;
  margin-bottom: 50px; }

@media (min-width: 768px) {
  .blocks .block {
    width: calc( 50% - 100px );
    margin: 0px 50px;
    float: left;
    text-align: right; }

  .blocks .block:nth-of-type(even) {
    text-align: left; } }
/* Checklist */
.checklist {
  list-style: none;
  position: relative; }

.checklist li {
  position: relative;
  padding-left: 30px;
  padding-bottom: 5px;
  color: #A0AFB0;
  line-height: 1.6rem;
  text-align: left; }

.checklist li:before {
  content: "\f00c";
  font-family: FontAwesome;
  position: absolute;
  left: 0px;
  top: 0px;
  color: #60bc3d; }

@media (min-width: 768px) {
  .checklist li {
    text-align: left; }

  .blocks .block:nth-of-type(odd) ul li {
    padding-left: 0px;
    padding-right: 30px;
    text-align: right; }

  .blocks .block:nth-of-type(odd) li:before {
    left: auto;
    right: 0px; } }
/* Visual */
.visual {
  min-height: 300px;
  background: url(../images/visualTS.jpg) no-repeat center center;
  background-size: cover;
  padding: 0px;
  border-bottom: 1px solid #E4E4E4; }

@media (min-width: 768px) {
  .visual {
    background-image: url(../images/visualTSHD.jpg); } }
.visual p {
  font-size: 1.2rem;
  font-weight: 300; }

.visual .whiteBG {
  background-color: rgba(255, 255, 255, 0.86);
  position: relative;
  height: 100%;
  width: 100%; }

.visual .contentbox {
  max-width: 500px;
  text-align: center;
  margin: 0px 20px;
  padding: 50px 0px; }

.visual .contentbox p {
  margin-bottom: 20px; }

@media (min-width: 540px) {
  .visual .contentbox {
    margin: 00px auto; } }
.visual .logo {
  margin-bottom: 20px; }

@media (min-width: 768px) {
  .visual .contentbox {
    padding: 150px 0px; }

  .visual .logo {
    height: 100px;
    margin-bottom: 60px; }

  .visual .contentbox p {
    margin-bottom: 60px; }

  .visual .contentbox .button {
    width: 300px; } }
/* flow */
.flow {
  text-align: center; }

/* Applications */
@media (min-width: 768px) {
  .applications {
    text-align: center; } }
.applications h2 {
  margin-bottom: 30px; }

.checkTitle {
  line-height: 40px;
  margin-bottom: 20px; }

.checkTitle .fa {
  color: #F47721;
  margin-left: 15px;
  font-size: 30px;
  position: relative;
  top: 4px; }

.checkTitle .fa-tablet {
  font-size: 34px;
  top: 4px; }

.blocks .block:nth-of-type(even) .checkTitle .fa {
  margin-right: 15px;
  margin-left: 0px; }

/* Contact */
.contact .button {
  width: 300px;
  margin-bottom: 10px; }

@media (min-width: 768px) {
  .contact p {
    max-width: 400px;
    float: right; }

  .contact .block:nth-of-type(even) p {
    float: left; } }
/* System pages */
.system {
  max-width: 500px;
  text-align: center;
  margin: 0px 20px;
  padding: 50px 0px;
  min-height: 60vh;
  box-sizing: border-box;
  padding-top: 10px; }

@media (min-width: 540px) {
  .system {
    margin: 00px auto; } }
@media (min-width: 768px) {
  .system {
    min-height: 80vh;
    padding-top: 150px; } }
.system h2 > span {
  color: #F47721;
  font-weight: 700;
  font-size: 120px;
  display: block; }

.system h2 span span {
  color: #A0AFB0; }

/*
	Timeline widget
*/
.timeline {
  position: relative;
  box-sizing: border-box;
  clear: both;
  margin: 50px 0px; }

.timeline:after {
  content: " ";
  clear: both;
  display: block; }

/* Styling of parts */
.timeline .orb {
  display: inline-block;
  border-radius: 50px;
  color: #FFFFFF;
  width: 70px;
  line-height: 68px;
  height: 70px;
  font-size: 30px;
  background: #6FC3E9;
  text-align: center;
  z-index: 5; }

.timeline .block {
  position: relative;
  box-sizing: border-box;
  width: 300px;
  float: none;
  margin: 0px; }

.timeline .block.left {
  text-align: right; }

.timeline .block.right {
  text-align: left; }

.timeline .block h3 {
  margin-bottom: 0px; }

.timeline .block.step .nr {
  color: #F47721;
  font-weight: 700;
  display: inline-block;
  margin-right: 10px; }

.timeline .block.tech {
  border: 1px dashed #E4E4E4;
  padding: 10px;
  padding-left: 50px; }

.timeline .block.tech .fa {
  color: #F47721;
  float: left;
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 1.4rem; }

.timeline .block.tech:before {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  border-top: 2px solid #E4E4E4;
  width: 80px;
  left: -80px;
  z-index: 1; }

.timeline .block.note {
  text-align: center;
  color: #5b5647;
  background: #fff9e4;
  box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.05);
  margin-top: -10px; }

.timeline .block.note p {
  color: #5b5647;
  padding: 10px 20px;
  font-size: 1rem;
  line-height: 1.4; }

.timeline .block.note .head {
  background: #FFEFC2;
  line-height: 30px; }

.timeline .block.note .head .fa {
  font-size: 30px;
  color: #F47721;
  transform: rotate(45deg);
  position: relative;
  top: -5px;
  margin-left: 10px; }

/* Line */
.timeline .line {
  content: " ";
  background: #E4E4E4;
  position: absolute;
  left: 50%;
  margin-left: -5px;
  width: 10px;
  height: calc( 100% - 60px );
  z-index: -1;
  top: 20px; }

/* Layout */
.timeline .row {
  padding: 0px;
  margin: 0px;
  position: relative;
  min-height: 90px; }

.timeline .row + .row {
  margin-top: 40px; }

.timeline .row .left, .timeline .row .right {
  position: relative; }

/* Width of box (300px) + offset of 80px */
.timeline .row .left {
  float: left;
  margin-left: calc( 50% - 380px ); }

.timeline .row .right {
  float: right;
  margin-right: calc( 50% - 380px ); }

.timeline .row .orb {
  left: 50%;
  margin-left: -35px;
  position: absolute;
  top: -7px; }

/* animate elements */
@media (min-width: 768px) {
  .timeline .row > div {
    margin-top: 30px;
    opacity: 0;
    transition: all 0.3s ease-out; }

  .timeline .row.start > div {
    margin-top: 0px;
    opacity: 1; }

  .timeline .row.start > div:nth-of-type(1) {
    transition-delay: 0s; }

  .timeline .row.start > div:nth-of-type(2) {
    transition-delay: 0.4s; }

  .timeline .row.start > div:nth-of-type(3) {
    transition-delay: 0.8s; }

  .timeline .row.start > div:nth-of-type(4) {
    transition-delay: 1.2s; }

  .timeline .row.start > div:nth-of-type(5) {
    transition-delay: 1.6s; }

  .timeline .row.start > div:nth-of-type(6) {
    transition-delay: 2s; }

  .timeline .line {
    background-color: #FFFFFF;
    transition: all 0.3s ease-out; }

  .timeline .line.start {
    background-color: #E4E4E4; } }
/* Mobile view */
@media (max-width: 767px) {
  .timeline .row {
    padding-left: 70px; }

  .timeline .row .orb {
    left: 0px;
    margin-left: 0px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 20px; }

  .timeline .row .block {
    text-align: left;
    float: right;
    margin-right: 0px;
    margin-left: 0px;
    width: 100%; }

  .timeline .line {
    left: 25px;
    width: 6px;
    margin-left: -3px; }

  .timeline .row {
    min-height: 70px; }

  .timeline .row + .row {
    margin-top: 30px; }

  .timeline .row.empty {
    display: none; }

  .timeline .block.tech:before {
    width: 45px;
    left: -45px; } }
/* ############################### */
/* #   Final: Overwrite colors   # */
/* ############################### */
