/*
Theme Name: Ruwiedel Consulting Theme
Author: newsenses GmbH
Author URI: http://www.newsenses.net
Description: Das eigens f&uuml;r Ruwiedel Consultin entwickelte Template.
Version: 1.0
License: Commercial
*/
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/raleway/raleway-300.eot");
  src: local("Raleway Light"), local("Raleway-Light"), url("./fonts/raleway/raleway-300.eot?#iefix") format("embedded-opentype"), url("./fonts/raleway/raleway-300.woff2") format("woff2"), url("./fonts/raleway/raleway-300.woff") format("woff"), url("./fonts/raleway/raleway-300.ttf") format("truetype"), url("./fonts/raleway/raleway-300.svg#Raleway") format("svg"); }

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/raleway/raleway-400.eot");
  src: local("Raleway"), local("Raleway-Regular"), url("./fonts/raleway/raleway-400.eot?#iefix") format("embedded-opentype"), url("./fonts/raleway/raleway-400.woff2") format("woff2"), url("./fonts/raleway/raleway-400.woff") format("woff"), url("./fonts/raleway/raleway-400.ttf") format("truetype"), url("./fonts/raleway/raleway-400.svg#Raleway") format("svg"); }

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/raleway/raleway-600.eot");
  src: local("Raleway Bold"), local("Raleway-Bold"), url("./fonts/raleway/raleway-600.eot?#iefix") format("embedded-opentype"), url("./fonts/raleway/raleway-600.woff2") format("woff2"), url("./fonts/raleway/raleway-600.woff") format("woff"), url("./fonts/raleway/raleway-600.ttf") format("truetype"), url("./fonts/raleway/raleway-600.svg#Raleway") format("svg"); }

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/raleway/raleway-700.eot");
  src: local("Raleway Bold"), local("Raleway-Bold"), url("./fonts/raleway/raleway-700.eot?#iefix") format("embedded-opentype"), url("./fonts/raleway/raleway-700.woff2") format("woff2"), url("./fonts/raleway/raleway-700.woff") format("woff"), url("./fonts/raleway/raleway-700.ttf") format("truetype"), url("./fonts/raleway/raleway-700.svg#Raleway") format("svg"); }

.desktop {
  display: none; }
  @media (min-width: 768px) {
    .desktop {
      display: block; } }

@media (min-width: 768px) {
  .mobile {
    display: none; } }

.clearfix {
  clear: both; }

.col-md-6.small {
  float: left;
  font-size: 18px;
  line-height: 27px; }

.col-md-4 + .col-md-8 {
  margin-top: 30px; }
  @media (min-width: 992px) {
    .col-md-4 + .col-md-8 {
      margin-top: 0; } }

body, html {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Raleway', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  color: #FFF; }
  @media (min-width: 992px) {
    body, html {
      font-size: 18px;
      line-height: 27px;
      letter-spacing: 0.5px; } }

ul.menu {
  margin: 0;
  padding: 0;
  list-style: none; }

.wpml-ls-first-item {
  float: left; }

@media (min-width: 992px) {
  #menu-item-wpml-ls-3-de {
    padding-left: 60px !important;
    float: none; }
  .wpml-ls-last-item {
    padding-left: 5px !important; } }

.wpml-ls-current-language {
  font-weight: 600; }
  .wpml-ls-current-language a {
    color: #BAA3E2 !important; }

img {
  width: 100%;
  height: auto; }

h1, h2, h3 {
  font-weight: 300;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px; }
  h1:first-child, h2:first-child, h3:first-child {
    margin-top: 0; }
  h1:last-child, h2:last-child, h3:last-child {
    margin-bottom: 0; }

h1 {
  font-size: 30px; }

h2 {
  font-size: 26px; }

h3 {
  font-size: 22px; }

p + h2, ul + h2,
p + h3, ul + h3 {
  margin-top: 30px; }

a {
  color: #FFF; }
  a:hover, a:focus {
    text-decoration: none;
    color: #BAA3E2; }

p:last-child {
  margin-bottom: 0; }

header {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  background: rgba(0, 0, 0, 0.7);
  border-bottom: 1px solid #FFF; }
  @media (min-width: 768px) {
    header {
      padding-top: 25px;
      padding-bottom: 25px; } }
  @media (min-width: 768px) {
    header .container {
      position: relative; } }
  header #logo {
    float: left;
    margin-left: 15px; }
    header #logo img {
      width: auto;
      height: 49px; }
      @media (min-width: 768px) {
        header #logo img {
          height: 69px; } }
  header #mobileNav {
    position: absolute;
    cursor: pointer;
    top: 0px;
    right: 15px;
    padding: 23px 15px;
    width: 70px;
    height: 69px; }
    @media (min-width: 992px) {
      header #mobileNav {
        display: none; } }
    header #mobileNav span {
      display: block;
      width: 100%;
      height: 3px;
      margin-bottom: 7px;
      border-radius: 1px;
      background: #FFF; }
      header #mobileNav span:last-child {
        margin-bottom: 0; }

@-webkit-keyframes flyIn {
  from { }
  to { } }

@keyframes flyIn {
  from { }
  to { } }
  header nav {
    position: absolute;
    z-index: -1;
    top: calc(100% + 1px);
    width: 100%;
    max-height: 0;
    overflow: hidden;
    margin: 0 -15px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transition: max-height 0.3s ease-in-out;
    -o-transition: max-height 0.3s ease-in-out;
    transition: max-height 0.3s ease-in-out; }
    header nav.active {
      max-height: 288px;
      border-bottom: 1px solid #FFF; }
    @media (min-width: 992px) {
      header nav {
        z-index: 1;
        top: 16px;
        right: 30px;
        width: auto;
        max-height: none;
        overflow: visible;
        margin: 0;
        background: none; } }
    header nav .menu li {
      padding: 0 15px;
      line-height: 40px;
      border-bottom: 1px dashed #91989E; }
      @media (min-width: 992px) {
        header nav .menu li {
          display: inline-block;
          padding: 0;
          padding-left: 30px;
          border-bottom: none; } }
      header nav .menu li:last-child {
        border-bottom: none; }
      header nav .menu li.current-menu-item a {
        font-weight: 600;
        color: #BAA3E2; }
      header nav .menu li a {
        display: block; }
        @media (min-width: 992px) {
          header nav .menu li a {
            color: #FFF; }
            header nav .menu li a:hover, header nav .menu li a:focus {
              color: #BAA3E2; } }

main {
  position: relative;
  z-index: -1;
  min-height: 100%;
  padding-top: 70px;
  padding-bottom: 70px; }
  @media (min-width: 768px) {
    main {
      padding-top: 120px;
      padding-bottom: 50px; } }
  main .background {
    position: absolute;
    z-index: -1;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    main .background img {
      display: block;
      min-width: 100%;
      min-height: 100%;
      -o-object-fit: cover;
      object-fit: cover; }

@-webkit-keyframes rotateColors {
  0% {
    background-color: #F00; }
  17% {
    background-color: #F70; }
  33% {
    background-color: #FF0; }
  50% {
    background-color: #0F0; }
  67% {
    background-color: #00F; }
  83% {
    background-color: #70F; }
  100% {
    background-color: #F00; } }

@keyframes rotateColors {
  0% {
    background-color: #F00; }
  17% {
    background-color: #F70; }
  33% {
    background-color: #FF0; }
  50% {
    background-color: #0F0; }
  67% {
    background-color: #00F; }
  83% {
    background-color: #70F; }
  100% {
    background-color: #F00; } }
    main .background::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: #F00;
      -webkit-animation: rotateColors 80s infinite;
      animation: rotateColors 80s infinite;
      mix-blend-mode: multiply;
      mix-blend-mode: color; }
  main .container {
    position: relative;
    margin-top: 30px;
    color: #FFF; }
    main .container > div {
      padding: 15px;
      background: rgba(0, 0, 0, 0.7); }
    @media (min-width: 768px) {
      main .container {
        margin-top: 60px; } }
    @media (min-width: 992px) {
      main .container {
        margin-top: 60px; } }
    main .container + .container {
      margin-top: 30px; }
    main .container:last-child {
      padding-bottom: 30px; }

footer {
  margin-top: -70px;
  background: rgba(0, 0, 0, 0.7);
  padding-top: 10px;
  padding-bottom: 11px;
  border-top: 1px solid #FFF;
  text-align: center; }
  @media (min-width: 768px) {
    footer {
      margin-top: -50px;
      padding-top: 12px;
      padding-bottom: 13px; }
      footer .copyright {
        float: left;
        padding-left: 15px; } }
  @media (min-width: 992px) {
    footer {
      font-size: 16px;
      line-height: 24px; } }
  @media (min-width: 768px) {
    footer .menu {
      text-align: right;
      padding-right: 15px; } }
  footer .menu li {
    display: inline-block;
    padding: 0 8px; }
    @media (min-width: 768px) {
      footer .menu li {
        padding: 0;
        padding-left: 15px; } }
  footer .menu a {
    color: #FFF; }
    footer .menu a:hover, footer .menu a:focus {
      color: #FFF;
      text-decoration: underline; }

form .form-group {
  margin-bottom: 20px; }

form .form-control {
  height: 40px;
  font-size: 16px;
  line-height: 24px;
  color: #FFF;
  border: 1px solid #91989E;
  border-radius: 5px;
  -webkit-box-shadow: none;
  box-shadow: none; }

form textarea.form-control {
  height: 100px;
  resize: vertical; }

form .datenschutz {
  position: relative;
  margin-bottom: 25px;
  position: relative;
  padding-left: 35px; }
  form .datenschutz .form-group {
    position: absolute;
    left: 0; }
  form .datenschutz .checkbox {
    margin: 0; }
  form .datenschutz label::before {
    content: '';
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    width: 25px;
    height: 25px;
    border: 1px solid #91989E;
    background: #FFF;
    cursor: pointer; }
  form .datenschutz label:hover::after {
    content: '';
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    width: 25px;
    height: 25px;
    border: 1px solid #91989E;
    background: #FFF;
    cursor: pointer;
    -webkit-box-shadow: inset 0 0 0 3px #FFF;
    box-shadow: inset 0 0 0 3px #FFF;
    background: #91989E; }
  form .datenschutz input {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    width: 25px;
    height: 25px;
    border: 1px solid #91989E;
    background: #FFF;
    cursor: pointer; }
    form .datenschutz input:checked {
      z-index: 3; }
      form .datenschutz input:checked::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        margin: 0 !important;
        width: 25px;
        height: 25px;
        border: 1px solid #91989E;
        background: #FFF;
        cursor: pointer;
        -webkit-box-shadow: inset 0 0 0 3px #FFF;
        box-shadow: inset 0 0 0 3px #FFF;
        background: #BAA3E2; }
  form .datenschutz .wpcf7-not-valid label::before {
    border: 2px solid #F00;
    background: #ffe6e6; }
  form .datenschutz .help-block {
    display: none; }

form input[type="submit"] {
  background: #BAA3E2;
  border: none;
  width: 100%;
  height: 40px;
  font-size: 16px; }
  form input[type="submit"]:hover, form input[type="submit"]:focus, form input[type="submit"]:active, form input[type="submit"]:active:focus, form input[type="submit"]:active:hover {
    background: #BAA3E2; }

form .has-error .form-control {
  border: 2px solid #F00;
  background: #ffe6e6; }

form .has-error .help-block {
  color: #F00; }

form .wpcf7-response-output {
  margin-bottom: 0; }

.legal {
  position: relative;
  height: auto; }
  .legal p {
    text-align: justify; }
    @media (min-width: 992px) {
      .legal p {
        text-align: left; } }
  .legal main {
    font-size: 12px;
    line-height: 18px; }
    @media (min-width: 992px) {
      .legal main {
        font-size: 14px;
        line-height: 21px; } }
    .legal main .container {
      margin-top: 30px; }
      @media (min-width: 768px) {
        .legal main .container {
          margin-top: 60px; } }
      @media (min-width: 992px) {
        .legal main .container {
          margin-top: 60px; } }
      .legal main .container + .container {
        margin-top: 30px; }

.colored {
  display: none; }

body.white {
  color: #91989E; }
  body.white .light {
    display: none; }
  body.white .colored {
    display: block; }
  body.white h1 {
    color: #BAA3E2; }
  body.white header {
    background: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid #91989E; }
    body.white header #mobileNav span {
      background: #BAA3E2; }
    body.white header nav {
      display: block; }
      @media (max-width: 767px) {
        body.white header nav {
          background: rgba(255, 255, 255, 0.85); } }
      body.white header nav.active {
        border-bottom: 1px solid #91989E; }
      body.white header nav .menu li.current-menu-item a {
        color: #BAA3E2; }
      body.white header nav .menu li a {
        color: #91989E; }
        body.white header nav .menu li a:hover, body.white header nav .menu li a:focus {
          color: #BAA3E2; }

@-webkit-keyframes rotateColors2 {
  0% {
    background-color: #BAA3E2; }
  10% {
    background-color: #BAA3E2; }
  20% {
    background-color: #B1D9FF; }
  30% {
    background-color: #9AE5CF; }
  40% {
    background-color: #B1D9FF; }
  50% {
    background-color: #BAA3E2; }
  60% {
    background-color: #BAA3E2; }
  70% {
    background-color: #D697B6; }
  80% {
    background-color: #FFC9B0; }
  90% {
    background-color: #D697B6; }
  100% {
    background-color: #BAA3E2; } }

@keyframes rotateColors2 {
  0% {
    background-color: #BAA3E2; }
  10% {
    background-color: #BAA3E2; }
  20% {
    background-color: #B1D9FF; }
  30% {
    background-color: #9AE5CF; }
  40% {
    background-color: #B1D9FF; }
  50% {
    background-color: #BAA3E2; }
  60% {
    background-color: #BAA3E2; }
  70% {
    background-color: #D697B6; }
  80% {
    background-color: #FFC9B0; }
  90% {
    background-color: #D697B6; }
  100% {
    background-color: #BAA3E2; } }
  body.white main .background::before {
    -webkit-animation: rotateColors2 60s infinite;
    animation: rotateColors2 60s infinite; }
  body.white main .container {
    color: #91989E; }
    body.white main .container > div {
      background: rgba(255, 255, 255, 0.85); }
  body.white footer {
    background: rgba(255, 255, 255, 0.85);
    border-top: 1px solid #91989E; }
    body.white footer .menu a {
      color: #91989E; }
      body.white footer .menu a:hover, body.white footer .menu a:focus {
        color: #BAA3E2;
        text-decoration: none; }
