/**
 * ---------------------------------------------------------------------------------------------------------
 * styles.scss
 *
 * based on Nexus-Framework V1.0
 *
 * Author: Lasse Laube - Laube webdesign
 *
 * ---------------------------------------------------------------------------------------------------------
 */
/**
 * ---------------------------------------------------------------------------------------------------------
 * Site Settings
 * ---------------------------------------------------------------------------------------------------------
 */
/* Typography */
/* Colors */
/* white */
/* grau */
/* orange */
/* lightgreen */
/* Positioning */
/**
 * ---------------------------------------------------------------------------------------------------------
 * Site Utilities
 * ---------------------------------------------------------------------------------------------------------
 */
@media (min-width: 991px) {
  .col-md-6.no-left-border {
    padding-left: 0px; } }
.v-left {
  text-align: left; }

.v-right {
  text-align: right; }

.v-center {
  text-align: center; }

.v-justify {
  text-align: justify; }

.clearfix::after {
  clear: both;
  content: "";
  display: table; }

.hidden {
  display: none; }

* {
  box-sizing: border-box; }

*:before,
*:after {
  box-sizing: border-box; }

/**
 * ---------------------------------------------------------------------------------------------------------
 * Base styles
 * ---------------------------------------------------------------------------------------------------------
 */
body {
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: #565655;
  background-color: #FFFFFF;
  position: relative; }

main .container {
  padding-bottom: 2em; }

main .container-full {
  margin: 2.5em 0;
  padding-top: 2em; }
  main .container-full .container {
    margin-top: 0;
    margin-bottom: 0; }

/** Header **/
h1, .h1, h2, .h2, h3, .h3 {
  color: #282828;
  padding: .7em 0 .25em; }

.card h3, .card .h3 {
  height: 2.5em; }

a {
  color: #282828; }

/** Background colors **/
.bg-theme-primary {
  background-color: #282828; }

.bg-theme-secondary {
  background-color: #f8f8f8; }

/**
 * ---------------------------------------------------------------------------------------------------------
 * IE8 styles
 * ---------------------------------------------------------------------------------------------------------
 */
/**
 * ---------------------------------------------------------------------------------------------------------
 * Navigation
 * ---------------------------------------------------------------------------------------------------------
 */
nav {
  margin-top: 2.5rem; }

/**
 * ---------------------------------------------------------------------------------------------------------
 * Header
 * ---------------------------------------------------------------------------------------------------------
 */
header {
  padding: 1.5em 0 0; }

h1.logo, h2.logo {
  text-indent: -9999px;
  background: transparent url("../images/Logo@2x.png") center top no-repeat;
  background-size: contain;
  height: 70px; }

@media (min-width: 768px) {
  h1.logo, h2.logo {
    background-position: left top; } }
/**
 * ---------------------------------------------------------------------------------------------------------
 * Main
 * ---------------------------------------------------------------------------------------------------------
 */
.pull-right {
  float: none !important; }

.spacer {
  height: 4em;
  width: 100%; }

.card-img-idea, .card-img-light, .card-img-map {
  height: 350px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.card-img-idea {
  background-image: url(../images/idea@2x.png); }

.card-img-light {
  background-image: url(../images/light@2x.png); }

.card-img-map {
  background-image: url(../images/map@2x.png); }

@media (min-width: 568px) {
  .card-img-idea, .card-img-light, .card-img-map {
    height: 500px; }

  #home .card h3 {
    height: 3em; } }
@media (min-width: 768px) {
  .pull-right {
    float: right !important; }

  .card-img-idea, .card-img-light, .card-img-map {
    height: 400px; }

  #home_v2 .card h3 {
    padding: 0 0 5px 0;
    height: auto; } }
/**
 * ---------------------------------------------------------------------------------------------------------
 * Footer
 * ---------------------------------------------------------------------------------------------------------
 */
footer {
  margin-top: 2.5em; }
  footer address {
    margin: 1.5em 0; }
  footer img.logo {
    margin-top: 3em; }
  footer .sub-footer {
    font-size: 0.8em;
    text-align: center;
    margin-top: 2.5em;
    padding: 0.5em 0;
    color: white; }
    footer .sub-footer p {
      padding: 0.6em 0; }
    footer .sub-footer .nav-link {
      color: white; }
      footer .sub-footer .nav-link:hover {
        color: #282828; }

@media (min-width: 568px) {
  footer img.logo {
    margin-top: 0; }
  footer .sub-footer {
    font-size: 0.5em;
    text-align: left; } }
@media (min-width: 768px) {
  footer .sub-footer {
    font-size: 0.8em;
    text-align: left;
    margin-top: 2.5em;
    padding: 0.5em 0;
    color: white; }
    footer .sub-footer p {
      padding: 0.7em 0; } }
@media (min-width: 991px) {
  footer .sub-footer {
    font-size: 0.9em; } }
/**
 * ---------------------------------------------------------------------------------------------------------
 * Button styles
 * ---------------------------------------------------------------------------------------------------------
 */
.btn-primary {
  color: #FFFFFF;
  background-color: #282828;
  border-color: #282828; }
  .btn-primary:focus, .btn-primary.focus {
    color: #FFFFFF;
    background-color: #0f0f0f;
    border-color: black; }
  .btn-primary:hover {
    color: #FFFFFF;
    background-color: #0f0f0f;
    border-color: #090909; }
  .btn-primary:active, .btn-primary.active {
    color: #FFFFFF;
    background-color: #0f0f0f;
    border-color: #090909; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus {
      color: #FFFFFF;
      background-color: black;
      border-color: black; }
  .btn-primary:active, .btn-primary.active {
    background-image: none; }
  .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus {
    background-color: #282828;
    border-color: #282828; }
  .btn-primary .badge {
    color: #282828;
    background-color: #282828; }

/**
 * ---------------------------------------------------------------------------------------------------------
 * Form styles
 * ---------------------------------------------------------------------------------------------------------
 */
.info {
  font-size: 12px;
  color: #282828;
  padding-right: 30px;
  padding-top: 0; }

.form-group {
  margin-bottom: 10px; }

label {
  margin-bottom: 2px;
  font-size: 12px; }

textarea.form-control {
  height: 165px; }

.form-control {
  border-radius: 0px;
  font-size: 12px; }

.btn-group-sm > .btn, .btn-sm {
  margin-top: 5px; }

/*
FEEDBACK
*/
#feedback {
  padding: 0px 50px 0;
  color: #fff;
  height: 100px;
  overflow: hidden;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 2;
  transform: translateY(-100px); }

#feedback.success {
  transform: translateY(-100px);
  background: #3cd334;
  -webkit-animation: feedback-in .3s ease-in-out forwards, feedback-out .3s ease-in-out 5s forwards;
  -moz-animation: feedback-in .3s ease-in-out forwards, feedback-out .3s ease-in-out 5s forwards;
  animation: feedback-in .3s ease-in-out forwards, feedback-out .3s ease-in-out 5s forwards; }

#feedback.fail {
  transform: translateY(-100px);
  background: #e15258;
  -webkit-animation: feedback-in .3s ease-in-out forwards;
  -moz-animation: feedback-in .3s ease-in-out forwards;
  animation: feedback-in .3s ease-in-out forwards; }

#feedback.dismissed {
  transform: translateY(0);
  -webkit-animation: feedback-out .3s ease-in-out forwards;
  -moz-animation: feedback-out .3s ease-in-out forwards;
  animation: feedback-out .3s ease-in-out forwards; }

#feedback h3 {
  margin: 10px 0 3px; }

#feedback p {
  margin: 0;
  font-size: 14px;
  opacity: .7; }

.dismiss {
  float: right;
  min-height: 30px;
  min-width: 30px;
  padding: 30px 0;
  opacity: .7;
  cursor: pointer;
  color: black; }

.dismiss:hover {
  opacity: 1;
  text-decoration: none; }

/*
ANIMATION
*/
@-webkit-keyframes feedback-in {
  0% {
    transform: translateY(-100px); }
  80% {
    transform: translateY(0px);
    padding-top: 5px; }
  100% {
    transform: translateY(0);
    padding-top: 0; } }
@-moz-keyframes feedback-in {
  0% {
    transform: translateY(-100px); }
  80% {
    transform: translateY(0);
    padding-top: 5px; }
  100% {
    transform: translateY(0);
    padding-top: 0; } }
@keyframes feedback-in {
  0% {
    transform: translateY(-100px); }
  80% {
    transform: translateY(0);
    padding-top: 5px; }
  100% {
    transform: translateY(0);
    padding-top: 0; } }
/* out*/
@-webkit-keyframes feedback-out {
  0% {
    transform: translateY(0); }
  20% {
    transform: translateY(0px);
    padding-top: 5px; }
  100% {
    transform: translateY(-100px); } }
@-moz-keyframes feedback-out {
  0% {
    transform: translateY(0); }
  20% {
    transform: translateY(0px);
    padding-top: 5px; }
  100% {
    transform: translateY(-100px); } }
@keyframes feedback-out {
  0% {
    transform: translateY(0); }
  20% {
    transform: translateY(0px);
    padding-top: 5px; }
  100% {
    transform: translateY(-100px); } }
