body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, code, ol, ul, li, dl, dt, dd, figure, table, th, td, form, fieldset, legend, input, textarea {
  margin: 0;
  padding: 0; }

.teaser p, .caption p {
  font-size: 90%;
  line-height: 180%;
  color: #7e7e7e; }

.teaser span.service {
  font-weight: bold; }

.caption p.info {
  float: left; }

.caption p.credit {
  float: right; }

.article p {
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 15;
  -webkit-box-orient: vertical;
  line-clamp: 15;
  overflow: hidden; }

.article p:before {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
  content: "";
  position: absolute;
  width: 100%;
  height: 100%; }

p.continue {
  text-align: center; }

p.continue a {
  font-weight: bold; }

p.continue a:after {
  content: ">>>"; }

@media (max-width: 479px) {
  #container .caption p.info, #container .caption p.credit {
    display: block;
    font-size: 90%;
    float: none;
    margin-bottom: 0;
    text-align: center; } }
.invisible {
  width: 0px;
  height: 0px;
  left: -1000px;
  top: -1000px;
  position: absolute;
  overflow: hidden;
  display: inline; }

.block {
  overflow: hidden; }

.mod_article {
  margin: 1rem 0 2rem;
  overflow: hidden; }

img.mime_icon {
  vertical-align: middle; }

img {
  width: inherit; }

#footer {
  background: white;
  color: #e6f1f7; }

#footer a {
  color: white; }

#footer a:hover {
  color: #e6f1f7; }

/*---------- MEDIA QUERIES ----------*/
@media (min-width: 1200px) {
  #footer .inside {
    width: 1200px;
    margin: 0 auto; } }
@media (max-width: 1199px) {
  #footer {
    padding-left: 2rem;
    padding-right: 2rem; } }
@media (max-width: 767px) {
  #footer {
    padding-left: 1rem;
    padding-right: 1rem; } }
@media (max-width: 479px) {
  #footer {
    padding-left: 0.5rem;
    padding-right: 0.5rem; } }
#header {
  background: white;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 5; }

body.top-container #header {
  padding-top: 2rem; }

#header .mod_article {
  margin: 0rem; }

#header .logo.company-name a > * {
  color: #e6f1f7;
  margin: 0; }

#header .logo .image_container img {
  width: inherit; }

#header .top-container {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  background: #e6f1f7;
  height: 2rem; }

#header .top-container .inside {
  display: flex;
  justify-content: space-between;
  margin: 0 auto; }

#header .top-container .inside {
  color: #4093c5; }

#header .top-container .inside a, #header .top-container span.email a:before, #header .top-container span.phone a:before, #header .top-container span.mobile a:before, #header .top-container span.extern-link a:before {
  color: #4093c5; }

#header .top-container .inside a:hover, #header .top-container span.email a:hover:before, #header .top-container span.phone a:hover:before, #header .top-container span.mobile a:hover:before, #header .top-container span.extern-link a:hover:before {
  color: #205581; }

/*---------- MEDIA QUERIES ----------*/
@media (min-width: 1200px) {
  #header .inside {
    width: 1200px;
    margin: 0 auto; } }
@media (max-width: 1199px) {
  #header .inside {
    padding-left: 2rem;
    padding-right: 2rem; } }
@media (min-width: 768px) {
  #header {
    height: 6rem; }

  #header .logo {
    float: left;
    margin-top: 1rem; } }
@media (max-width: 767px) {
  #header .inside {
    padding-left: 1rem;
    padding-right: 1rem; }

  #header {
    height: 4rem; }

  #header .logo {
    float: left;
    margin-top: 1rem; }

  #header .logo.company-name h1, #header .logo.company-name h2 {
    line-height: 100%; }

  #header .logo.company-name h1 {
    font-size: 120%; }

  #header .logo.company-name h2 {
    font-size: 110%; } }
@media (max-width: 479px) {
  #header .inside {
    padding-left: 0.5rem;
    padding-right: 0.5rem; } }
/* TAGS */
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-weight: normal;
  margin-top: 0; }

#container h1, #container h2, #container h3 {
  line-height: 140%; }

h5, h6, p, pre, blockquote, table, ol, ul, form {
  margin-bottom: 1rem; }

h1 {
  color: #292929;
  font-size: 220%;
  margin-bottom: 2%; }

h2 {
  color: #454545;
  font-size: 180%;
  margin-bottom: 1.5%; }

h3 {
  color: #292929;
  font-size: 150%;
  margin-bottom: 1%; }

h4 {
  font-size: 130%;
  margin-bottom: 0.5%; }

body {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
  font-size: 100%;
  line-height: 200%;
  background: white;
  color: black !important;
  -webkit-text-size-adjust: none;
  /*iPhone no textzoom*/ }

a {
  color: #4093c5;
  text-decoration: none; }

a:hover {
  color: #205581;
  text-decoration: none; }

*:focus {
  outline: 1px dotted #4093c5; }

.ce_text a[target="_blank"]::after {
  font-family: "FontAwesome";
  font-size: 90%;
  content: "\f08e";
  padding: 0 0 0 0.2rem; }

.ce_text .image_container a[target="_blank"]::after {
  font-family: "FontAwesome";
  font-size: 90%;
  content: "";
  padding: 0; }

a img {
  vertical-align: bottom; }

li {
  margin-bottom: 0.5rem; }

/* MAIN */
#main {
  background: white; }

#main ul {
  list-style-type: disc;
  list-style-position: outside; }

#main ul, #main ol {
  padding-left: 1rem; }

/*IMAGES*/
img {
  max-width: 100%;
  height: auto;
  display: block; }

.image_container {
  display: inline-block;
  margin-bottom: 1rem; }

.image_container a {
  display: block;
  position: relative; }

.image_container.float_left {
  margin-right: 2rem;
  float: left; }

.image_container.float_right {
  margin-left: 2rem;
  float: right; }

#container .image_container a:hover:before, #container .image_container a:focus:before {
  background: #205581;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0.1; }

#container .image_container a:hover:after, #container .image_container a:focus:after {
  font-family: "FontAwesome";
  content: "\f002";
  font-size: 200%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  margin: -0.5em;
  color: white; }

#container .ce_text.image-linked .image_container a:hover:after, #container .ce_text.image-linked .image_container a:focus:after {
  content: "\f067"; }

/*TABLE */
.ce_table {
  overflow: scroll;
  width: 100%; }

.ce_table::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px; }

.ce_table::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid white;
  background-color: #f0f0f0; }

table {
  background: silver;
  border: 0px solid #f0f0f0;
  border-spacing: 1px;
  border-collapse: separate;
  padding: 0px;
  width: 100%; }

table th, table td {
  line-height: 110%;
  padding: 0.5rem 0.75rem 0.6rem; }

table thead:first-of-type th {
  font-size: 110%;
  padding: 0.75rem 0.8rem; }

table thead:first-of-type th {
  font-size: 110%;
  line-height: 110%; }

table.sortable thead th {
  cursor: pointer; }

table.sortable thead th, table.sortable thead th.tablesorter-headerAsc, table.sortable thead th.tablesorter-headerDesc {
  background-image: none; }

table.sortable thead th:hover {
  color: black; }

table td.col_last {
  padding-bottom: 0.2rem; }

table thead tr {
  background: #454545;
  color: white; }

table tfoot tr {
  background: white;
  font-size: 80%;
  font-style: italic; }

table tr.odd {
  background: #e6f1f7; }

table tr.even {
  background: white; }

/* BUTTONS */
.button a, p.more a, p.back a {
  background: linear-gradient(to left, #205581 0%, #205581 42px, #4093c5 42px, #4093c5 100%);
  color: white;
  line-height: 2.5rem;
  padding: 0.6rem 0.8rem 0.6rem 2rem; }

.button a:hover, p.more a:hover, p.back a:hover {
  background: linear-gradient(to left, black 0%, black 42px, #4093c5 42px, #4093c5 100%);
  color: white; }

.button span:before {
  content: "" !important; }

.button a:after, p.more a:after {
  content: "\f061";
  font-family: "fontawesome";
  margin-left: 2rem; }

p.back a:after {
  content: "\f060";
  font-family: "fontawesome";
  margin-left: 2rem; }

.button .email a:after {
  content: "\f0e0";
  font-family: "fontawesome";
  margin-left: 2rem; }

.button .email a:hover:after {
  content: "\f2b6";
  font-family: "fontawesome";
  margin-left: 2rem; }

.button .adress a:after {
  content: "\f041";
  font-family: "fontawesome";
  margin-left: 2rem; }

.button .phone a:after {
  content: "\f095";
  font-family: "fontawesome";
  margin-left: 2rem; }

/* READ MORE */
.read-more a {
  background: #4093c5;
  border-bottom: none;
  color: white;
  line-height: 2.5rem;
  padding: 0.5rem 0.8rem;
  text-shadow: none; }

.read-more a:hover {
  background: #205581;
  color: white; }

/*---------- MEDIA QUERIES ----------*/
@media (min-width: 1200px) {
  #container {
    width: 1200px;
    margin: 0 auto; } }
@media (max-width: 1199px) {
  #container {
    padding-left: 2rem;
    padding-right: 2rem; } }
@media (max-width: 767px) {
  body {
    font-size: 80%;
    line-height: 180%; }

  /*CONTAINER*/
  #container {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 2rem; }

  .image_container.float_left {
    margin-right: 1rem; }

  .image_container.float_right {
    margin-left: 1rem; }

  .caption {
    font-size: 0.8rem;
    line-height: 1rem;
    padding-top: 0.2rem; }

  .footer-container {
    display: block;
    text-align: center; } }
@media (max-width: 479px) {
  #container {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }

  #container h1 {
    font-size: calc(220% - 20%); }

  #container h2 {
    font-size: calc(180% - 20%); }

  #container h3 {
    font-size: calc(150% - 20%); }

  #container h4 {
    font-size: calc(130% - 20%); }

  #container p, #container li {
    font-size: 110%; }

  .image_container.float_left {
    margin-right: 0.5rem; }

  .image_container.float_right {
    margin-left: 0.5rem; } }
#wrapper {
  background: white; }

/*---------- MEDIA QUERIES ----------*/
@media (min-width: 768px) {
  #wrapper {
    margin: 10rem 0 7rem; } }
@media (max-width: 767px) {
  #wrapper {
    margin: 8rem 0 5rem; } }
