/* ########## Colors ######### */
.bg-color-1 {
  background: #ff7f00;
  color: #fff;
}
.bg-color-2 {
  background: #00005b;
}
.bg-color-3 {
  background: #00005b;
  color: #fff;
}
.bg-color-4 {
  background: #fff;
  color: #000;
}
.col-bg-color .col {
  background: #f1f1f1;
  padding: 20px;
  color: #000;
}
.col-bg-color-2 .col {
  background: #555;
  color: #fff;
  padding: 12px 20px;
}
.bg-color-bitter_und_suess-1 {
  background-color: #22a136;
  color: #fff;
}
.bg-color-bitter_und_suess-2 {
  background-color: #313131;
  color: #fff;
}
/* ########## Icons ######### */
/* Embed Font Awesome Ver 4.7.0 */
@font-face {
  font-family: 'fontawesome';
  src: url(../font-awesome/4.7.0/fonts/fontawesome-webfont_1793f04d41f5f31b.eot);
  src: url(../font-awesome/4.7.0/fonts/fontawesome-webfont_e2cf215f86fc79dd.eot) format('embedded-opentype'), url(../font-awesome/4.7.0/fonts/fontawesome-webfont_1793f04d41f5f31b.woff2) format('woff2'), url(../font-awesome/4.7.0/fonts/fontawesome-webfont_1793f04d41f5f31b.woff) format('woff'), url(../font-awesome/4.7.0/fonts/fontawesome-webfont_1793f04d41f5f31b.ttf) format('truetype'), url(../font-awesome/4.7.0/fonts/fontawesome-webfont_aac5ea51d724ad71.svg) format('svg');
}
.icon:before {
  font-family: fontawesome;
  width: 1em;
  text-align: center;
  display: inline-block;
}
.icon.spacer:before {
  margin-right: 5px;
}
.icon-big:before {
  float: left;
  width: 100%;
  line-height: 45px;
  font-size: 45px;
  margin-bottom: 10px;
}
/* Arrows - also used in list */
.arrow-share:before, .list-arrow-share ul li:before {
  content: "\f064";
}
.arrow:before, .list-arrow ul li:before {
  content: "\f105";
}
.double-arrow:before, .list-double-arrow ul li:before {
  content: "\f101";
}
.arrow-default:before, .list-arrow-default ul li:before {
  content: "\f061";
}
.caret:before, .list-caret ul li:before {
  content: "\f0da";
}
.arrow-bold:before, .list-arrow-bold ul li:before {
  content: "\f054";
}
.long-arrow:before, .list-long-arrow ul li:before {
  content: "\f178";
}
.check:before, .list-check ul li:before {
  content: "\f00c";
}
.plus:before, .list-plus ul li:before {
  content: "\f067";
}
/* Specific */
.phone:before {
  content: "\f095";
}
.home:before {
  content: "\f015";
}
.globe:before {
  content: "\f0ac";
}
.mail:before {
  content: "\f0e0";
}
.mail-open:before {
  content: "\f2b6";
}
.clock:before {
  content: "\f017";
}
.case:before {
  content: "\f0b1";
}
.users:before {
  content: "\f0c0";
}
.user:before {
  content: "\f007";
}
.calendar:before {
  content: "\f073";
}
.exclamation:before {
  content: "\f06a";
}
.pdf:before {
  content: "\f1c1";
}
.info:before {
  content: "\f05a";
}
.map-marker:before {
  content: "\f041";
}
.paper-plane:before {
  content: "\f1d8";
}
.mail-o:before {
  content: "\f2b7";
}
/* Social */
.facebook:before {
  content: "\f082";
}
.twitter:before {
  content: "\f081";
}
.xing:before {
  content: "\f169";
}
.youtube:before {
  content: "\f166";
}
.whatsapp:before {
  content: "\f232";
}
/* Animates */
.animate.mail:hover::before {
  content: "\f2b6";
  position: relative;
  top: -1px;
}
.animate.phone:hover::before {
  display: inline-block;
  transform: rotate(45deg);
  -webkit-transition: all ease-in-out .6s;
  -moz-transition: all ease-in-out .6s;
  -o-transition: all ease-in-out .6s;
  transition: all ease-in-out .6s;
}
/* ########## Setup ######### */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
  width: auto\9; /* ie 7, 8, 9 */
  border: 0;
  vertical-align: middle;
}
h1 {
  font-size: 2em;
  margin: 10px 0;
}
h2 {
  font-size: 1.5em;
  margin: 5px 0;
}
h3 {
  font-size: 1.25em;
  margin: 5px 0 10px;
}
h4 {
  font-size: 1.25em;
  margin: 5px 0 10px;
  color: #ff7f00;
  display: inline;
}
.bus {
  color: #22a136 !important;
}
a {
  color: #ccc;
  text-decoration: none;
  font-weight: 700;
}
a:before, a:after {
  font-weight: 300;
}
a:hover, a:active {
  text-decoration: none;
}
footer a {
  color: #fff;
  font-weight: 300;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #4c4c4c;
  text-decoration: none;
  word-spacing: normal;
  margin: 0;
  padding: 0;
}
address {
  font-style: normal;
  float: left;
  width: 100%;
  padding: 15px;
  background: #fff;
  color: #000;
  margin-top: 10px;
}
/* ########## Buttons ######### */
.btn {
  font-weight: 700;
  text-align: center;
  display: inline-block;
  background: #fff;
  float: left;
  width: 100%;
  color: #333;
  margin-bottom: 10px;
  position: relative;
  text-decoration: none;
  -webkit-transition: all ease-in-out .3s;
  -moz-transition: all ease-in-out .3s;
  -o-transition: all ease-in-out .3s;
  transition: all ease-in-out .3s;
}
.btn:before {
  -webkit-transition: all ease-in-out .3s;
  -moz-transition: all ease-in-out .3s;
  -o-transition: all ease-in-out .3s;
  transition: all ease-in-out .3s;
}
/* Basic button */
.btn-basic {
  padding: 12px 30px;
}
.btn-basic:hover {
  text-decoration: none;
  background: #333;
  color: #fff;
}
/* Button with icon */
.btn-icon {
  padding: 12px 0 12px 50px;
}
.btn-icon:hover {
  text-decoration: none;
  background: #333;
  color: #fff;
}
.btn-icon:before {
  font-family: fontawesome;
  position: absolute;
  left: 0;
  color: #292929;
  width: 50px;
  line-height: 39px;
  height: 100%;
  top: 0;
  font-size: 21px;
}
.btn-icon:hover::before {
  color: #fff;
}
/* Hover icon efffect */
.btn-icon-effect {
  padding: 12px 0 12px 50px;
}
.btn-icon-effect:before {
  content: "\f0e0";
  font-family: fontawesome;
  position: absolute;
  left: 0;
  color: #fff;
  width: 50px;
  background: #292929;
  line-height: 39px;
  height: 100%;
  top: 0;
  font-size: 21px;
}
.btn-icon-effect:hover::before {
  background: #575757;
  content: "\f2b6";
}
/* Hover slide In*/
.btn-slide-in {
  padding: 12px 30px 12px 0px;
  line-height: 18px;
}
.btn-slide-in:hover {
  padding: 12px 30px 12px 30px;
}
.btn-slide-in:before {
  font-family: fontawesome;
  color: #292929;
  font-size: 24px;
  position: relative;
  top: 2px;
  left: 2px;
  line-height: 0;
  opacity: 0;
}
.btn-slide-in:hover::before {
  opacity: 1;
  left: -5px;
}
.text-center {
  text-align: center;
  color: #ff8207;
}
/* ########## Font transforms ######### */
.text-justify {
  text-align: justify;
}
.small {
  font-size: .5em;
  font-weight: 300;
  color: #4c4c4c;
}
h1 .small {
  font-size: .5em;
  font-weight: 300;
  color: #FF8207;
}
span .small {
  font-size: 0.5em;
  line-height: 2px !important;
  font-weight: 300;
  color: #FF8207;
}
.big {
  font-size: 1.25em;
}
.uppercase {
  text-transform: uppercase;
}
strong {
  font-weight: 700;
}
.big-orange {
  font-weight: 700;
  color: #ff8207;
}
.text-center {
  text-align: center;
}
/* ########## * Bahaviour ######### */
.light {
  opacity: .25;
}
.block {
  display: block;
  clear: both;
  float: left;
}
.clearfix {
  width: 100%;
  float: left;
}
.centered {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.centered * {
  flex: 1 1 100%;
  max-width: 100%;
}
.round .col {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
/* ########## Seperators ######### */
.seperator {
  float: left;
  height: 2px;
  width: 92%;
  margin: 15px 4% 0;
  position: relative;
}
.seperator:after {
  content: "";
  background: #6abc5a;
  height: 100%;
  width: 33.3333333333%;
  right: 0;
  position: absolute;
}
.seperator:before {
  content: "";
  background: #ff7f00;
  height: 100%;
  width: 33.3333333333%;
  left: 0;
  position: absolute;
}
.seperator-inline {
  float: left;
  height: 1px;
  width: 100%;
  margin: 10px 0 15px;
}
span.spacer {
  margin: 0 2px;
}
/* ########## List ######### */
ul {
  padding: 0;
  margin: 0;
}
ul li {
  position: relative;
  list-style-type: none;
  margin-bottom: 4px;
  padding-left: 25px;
}
ul li:before {
  position: absolute;
  font-family: fontawesome;
  top: 0;
  left: 3px;
  color: #ff8207;
}
.li-bus > li:before {
  position: absolute;
  font-family: fontawesome;
  top: 0;
  left: 3px;
  color: #22a136;
}
.list-bullet ul li:before {
  content: "";
  width: 5px;
  height: 5px;
  background: #999;
  top: 6px;
  border-radius: 50%;
}
/* ########## Main ######### */
#wrapper {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  background-color: #FFF;
  border: 1px solid #d2d2d2;
  -moz-box-shadow: 0px 0px 10px #999;
  -webkit-box-shadow: 0px 0px 10px #999;
  box-shadow: 0px 0px 10px #999;
  overflow: auto;
}
header, main, footer, section, .headerimage, .entry {
  width: 100%;
  float: left;
  position: relative;
}
/* ########## Headers######### */
header {
  text-align: center; /* Logo position */
}
.logo img {
  max-width: 200px;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.logo2 img {
  max-width: 350px;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.entry-header-text {
  text-align: left;
}
.col-2.col-header.entry-header-img > *:first-child {
  flex: 1 0 250px;
  height: 185px;
  max-width: 250px;
  padding: 0;
}
.col-2.col-header.entry-header-img > *:last-child {
  padding: 0 4%;
  margin: 0;
}
.col-2.col-header.entry-header-img a img {
  margin: 0 0 10px;
}
.header-img {
  background: url(../img/header.jpg);
  background-position: 50% 50%;
  background-size: cover;
}
header a img {
  margin: 10px 0 15px;
}
.logo-bar {
  position: absolute;
  width: 100%;
  z-index: 999;
  top: 0;
  left: 0;
  text-align: right; /* Logo position */
  padding: 30px 4%;
  background: rgba(255, 255, 255, 0.3);
}
header .logo-bar a img {
  margin: 0;
}
.headerimage {
  float: left;
  width: 100%;
}
.entry {
  position: relative;
}
.entry-text {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  text-align: left;
  left: 0;
  bottom: 0;
  /* height: 100%; */
  width: 100%;
  padding: 15px 4%;
  line-height: 20px;
  color: #000;
  margin: 0;
  background: rgba(255, 255, 255, 0.8);
}
/* ########## Section ######### */
section.bg {
  padding: 15px 4%;
}
section:not(.bg) {
  margin: 15px 0;
  padding: 0 4%;
}
section.bg.colored-2 {
  padding: 0;
}
section:not(.bg):nth-of-type(n+2) {
  margin: 15px 0 0 0;
}
section:not(.bg):nth-of-type(n+2):last-of-type {
  margin: 15px 0;
}
section p {
  margin: 0 0 10px 0;
}
section p:last-child {
  margin: 0;
}
/* ########## Cols ######### */
.col-2, .col-3, .col-4 {
  display: flex;
  flex-wrap: nowrap;
}
.col-2 .col {
  flex: 1 1 47.5%;
  max-width: 47.5%;
  position: relative;
}
.col-3 .col {
  flex: 1 1 30%;
  max-width: 30%;
}
.col-4 .col {
  flex: 1 1 30%;
  max-width: 30%;
}
.col-2 .col:first-child, .col-3 .col:nth-of-type(-n+2), .col-4 .col:nth-of-type(-n+3) {
  margin-right: 2.5%;
}
.col-2 .col:nth-of-type(n+2), .col-3 .col:nth-of-type(n+2), .col-4 .col:nth-of-type(n+2) {
  margin-left: 2.5%;
}
/* Uneven col-2 */
.col-2-uneven .col:first-child {
  flex: 1 1 70%;
  max-width: 70%;
}
.col-2-uneven .col:last-child {
  flex: 1 1 25%;
  max-width: 25%;
}
/* Colored col-2 */
.colored-2 .col:first-child {
  background: #555555;
  padding: 15px 0 15px 4%;
}
.colored-2 .col:last-child {
  background: #292929;
  padding: 15px 4% 15px 0;
}
.colored-2.col-2-uneven .col:first-child {
  flex: 1 1 70%;
  max-width: 70%;
}
.colored-2.col-2-uneven .col:last-child {
  flex: 1 1 30%;
  max-width: 30%;
}
.colored-2.col-2 .col:first-child {
  padding-right: 2.5%;
  margin-right: 0;
}
.colored-2.col-2 .col:nth-of-type(n+2) {
  padding-left: 3%;
  margin-left: 0;
}
/* Light Edge */
.light-edge .col:last-child:after {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 1px;
  background: #555555;
  top: 0;
}
.light-edge .col:last-child:before {
  content: "";
  position: absolute;
  left: -1px;
  height: 100%;
  width: 1px;
  background: #a0a0a0;
  top: 0;
}
/* Header col */
.col-2.col-header > *:first-child {
  flex: 0 0 200px;
  max-width: 200px;
  padding: 0 0 0 4%;
}
.col-2.col-header > *:last-child {
  flex: 1 1 100%;
  max-width: 100%;
  padding: 0 4%;
}
.col-2.col-header {
  align-items: center;
  justify-content: center;
}
/* ########## Footer ######### */
footer {
  float: left;
  width: 100%;
  color: #000;
}
/* ########## Additional ######### */
/* Infobox */
.info-box .col {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.info-box .icon:before {
  font-size: 24px;
  margin-top: 10px;
  display: inline-block;
}
.info-box .col span {
  flex: 1 1 100%;
  max-width: 100%;
}
/* Background image */
span.background-image {
  height: 140px;
  background: url(../img/header.jpg);
  float: left;
  width: 100%;
  position: relative;
  background-position: center;
  background-size: cover;
}
.bg-text.big {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 15px 4%;
  display: flex;
  align-items: center;
}