@charset "UTF-8";
@font-face {
  font-family: 'gtw';
  src: url("fonts/gt-walsheim-web.eot");
  font-weight: normal;
  src: url("fonts/gt-walsheim-web.eot?#iefix") format("embedded-opentype"), url("fonts/gt-walsheim-web.woff") format("woff"), url("fonts/gt-walsheim-web.ttf") format("truetype"), url("fonts/gt-walsheim-web.svg#svgFontName") format("svg");
  /* Ältere iOS-Geräte */ }

@font-face {
  font-family: 'gtw';
  src: url("fonts/gt-walsheim-medium-web.eot");
  font-weight: 500;
  src: url("fonts/gt-walsheim-medium-web.eot?#iefix") format("embedded-opentype"), url("fonts/gt-walsheim-medium-web.woff") format("woff"), url("fonts/gt-walsheim-medium-web.ttf") format("truetype"), url("fonts/gt-walsheim-medium-web.svg#svgFontName") format("svg");
  /* Ältere iOS-Geräte */ }

* {
  box-sizing: border-box; }

a {
  color: black;
  text-decoration: none; }

p {
  font-size: 26px;
  line-height: 1.6; }

a.button {
  border: 3px solid black;
  padding: 5px 40px;
  display: inline-block;
  background: white;
  position: relative; }
  a.button:after {
    text-align: center;
    line-height: 30px;
    z-index: 6;
    color: white;
    content: attr(data-text);
    overflow: hidden;
    display: block;
    background: black;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 100%;
    transition: all .3s; }
  a.button:hover:after {
    height: 100%; }

body, html {
  padding: 0;
  margin: 0;
  font-family: "gtw"; }

body {
  background: #F7F7F7;
  border: 7px solid white;
  box-sizing: border-box;
  min-height: 100vh; }

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 100px; }
  .wrapper.small {
    max-width: 980px; }

img {
  width: 100%; }

h1 {
  font-weight: 500; }

header {
  padding: 30px; }
  header:after {
    content: "";
    display: block;
    clear: both; }
  header h1 {
    margin: 0;
    font-size: 36px;
    float: left; }

nav {
  float: right;
  margin-top: 8px; }
  nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    nav ul li {
      margin: 0 20px;
      float: left; }
      nav ul li a {
        font-size: 24px;
        display: block; }
        nav ul li a.active {
          animation: hover-animation 2s infinite; }
        nav ul li a:hover {
          animation: hover-animation 2s infinite; }

.home-text {
  position: absolute;
  font-size: 62px;
  left: 50%;
  top: 50%;
  margin-left: -125px;
  margin-top: -125px; }

.home-heart * {
  animation: heart-animation 5s infinite; }

.home-heart {
  animation: jelly 1s infinite; }

@-webkit-keyframes heart-animation {
  0%, 100% {
    fill: #6E70F7; }
  25% {
    fill: #71EF8C; }
  50% {
    fill: #EFD94E; }
  75% {
    fill: #FF9B9B; } }

@-webkit-keyframes hover-animation {
  0%, 100% {
    color: #6E70F7; }
  25% {
    color: #71EF8C; }
  50% {
    color: #EFD94E; }
  75% {
    color: #FF9B9B; } }

.work-teaser {
  display: flex;
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  margin-bottom: 100px; }
  .work-teaser h1 {
    font-size: 72px;
    font-weight: 500;
    margin-bottom: 0px;
    margin-top: 20px;
    margin-left: -50px;
    text-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
    transition: text-shadow .3s, transform .4s ease-out; }
  .work-teaser .button {
    margin-left: -40px;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
    transition: box-shadow .3s, transform .5s ease-out; }
  .work-teaser .info {
    z-index: 9;
    position: relative;
    width: 40%; }
  .work-teaser .image {
    width: 60%;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
    transition: all .3s;
    position: relative; }
    .work-teaser .image img {
      filter: grayscale(100%);
      display: block;
      -webkit-filter: grayscale(100%); }
  .work-teaser:hover .image img {
    filter: grayscale(0%);
    -webkit-filter: grayscale(0%); }
  .work-teaser:nth-child(even) {
    text-align: right; }
    .work-teaser:nth-child(even) h1 {
      margin-right: -50px;
      margin-left: 0; }
    .work-teaser:nth-child(even) .button {
      margin-left: 0;
      margin-right: -40px; }
    .work-teaser:nth-child(even):hover h1 {
      transform: translateX(-30px); }
    .work-teaser:nth-child(even):hover .button {
      transform: translateX(-10px); }
  .work-teaser:nth-child(odd) {
    flex-direction: row-reverse; }
    .work-teaser:nth-child(odd):hover h1 {
      transform: translateX(30px); }
    .work-teaser:nth-child(odd):hover .button {
      transform: translateX(10px); }
  .work-teaser:nth-child(1):hover h1 {
    text-shadow: 6px 6px 0 rgba(110, 112, 247, 0.6); }
  .work-teaser:nth-child(1):hover .button, .work-teaser:nth-child(1):hover .image {
    box-shadow: 6px 6px 0 rgba(110, 112, 247, 0.6); }
  .work-teaser:nth-child(2):hover h1 {
    text-shadow: 6px 6px 0 rgba(113, 239, 140, 0.6); }
  .work-teaser:nth-child(2):hover .button, .work-teaser:nth-child(2):hover .image {
    box-shadow: 6px 6px 0 rgba(113, 239, 140, 0.6); }
  .work-teaser:nth-child(3):hover h1 {
    text-shadow: 6px 6px 0 rgba(239, 217, 78, 0.6); }
  .work-teaser:nth-child(3):hover .button, .work-teaser:nth-child(3):hover .image {
    box-shadow: 6px 6px 0 rgba(239, 217, 78, 0.6); }
  .work-teaser:nth-child(4):hover h1 {
    text-shadow: 6px 6px 0 rgba(255, 155, 155, 0.6); }
  .work-teaser:nth-child(4):hover .button, .work-teaser:nth-child(4):hover .image {
    box-shadow: 6px 6px 0 rgba(255, 155, 155, 0.6); }

.about-container {
  flex-wrap: wrap; }
  .about-container article {
    display: flex;
    margin-bottom: 50px; }
    .about-container article:nth-child(1) h1 {
      color: #6E70F7; }
    .about-container article:nth-child(2) h1 {
      color: #71EF8C; }
    .about-container article:nth-child(3) h1 {
      color: #FF9B9B; }
    .about-container article:nth-child(4) h1 {
      color: #FF9B9B; }
    .about-container article > div {
      padding: 0 30px; }
      .about-container article > div:first-child {
        text-align: right;
        width: 40%; }
      .about-container article > div:last-child {
        width: 60%; }
      .about-container article > div p {
        margin: 0; }
    .about-container article h1 {
      margin: 0;
      font-size: 30px;
      font-weight: 500; }

.contact-container {
  text-align: center;
  position: absolute;
  top: 50%;
  width: 100%;
  left: 0;
  margin-top: -55px; }
  .contact-container .email {
    animation: hover-animation 5s infinite;
    font-size: 60px;
    transition: all .3s;
    display: inline-block;
    margin-bottom: 20px; }
  .contact-container .link {
    font-size: 24px;
    color: rgba(0, 0, 0, 0.5); }

@keyframes jelly {
  0% {
    -webkit-transform: scale(1); }
  30% {
    -webkit-transform: scale(1); }
  40% {
    -webkit-transform: scale(1.14); }
  50% {
    -webkit-transform: scale(1); }
  60% {
    -webkit-transform: scale(1); }
  70% {
    -webkit-transform: scale(1.12); }
  80% {
    -webkit-transform: scale(1); }
  100% {
    -webkit-transform: scale(1); } }

.showcase {
  display: flex; }
  .showcase > div {
    padding: 0 20px; }
  .showcase h1 {
    font-size: 50px;
    margin-top: 0;
    font-weight: 500; }
  .showcase p {
    margin-top: 0; }
  .showcase img {
    display: block;
    max-width: 100%;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.3);
    margin-bottom: 20px; }
  .showcase .title {
    width: 25%; }
  .showcase .description {
    width: 40%; }
  .showcase .gallery {
    width: 35%; }

.view.ng-enter {
  transition: all 1.2s ease;
  opacity: 0; }

.view.ng-enter.ng-enter-active {
  opacity: 1; }

.view.ng-leave.ng-leave-active {
  opacity: 1; }

.view.ng-leave {
  opacity: 0; }

@media (max-width: 768px) {
  .wrapper {
    margin-top: 30px; }
  p {
    font-size: 16px; }
  header {
    padding: 10px; }
    header h1 {
      font-size: 18px; }
    header nav {
      margin-top: 2px;
      margin-right: -10px; }
      header nav li {
        margin: 0 10px; }
      header nav a {
        font-size: 13px !important; }
  .contact-container .email {
    font-size: 30px;
    margin-bottom: 20px; }
  .contact-container .link {
    font-size: 16px; }
  .about-container article {
    margin-bottom: 20px; }
  .about-container article > div {
    width: 100%;
    padding: 0 10px; }
    .about-container article > div h1 {
      font-size: 20px; }
  .work-teaser {
    flex-wrap: wrap;
    flex-direction: column-reverse !important;
    margin-bottom: 40px; }
    .work-teaser:hover h1, .work-teaser:hover .button {
      transform: translateX(0) !important; }
    .work-teaser .info {
      width: 100%;
      text-align: left;
      margin-top: -30px; }
      .work-teaser .info h1 {
        margin: 0;
        margin-bottom: 10px;
        padding-left: 20px;
        font-size: 50px;
        line-height: 1; }
      .work-teaser .info .button {
        margin: 0;
        margin-left: 20px; }
    .work-teaser .image {
      width: 100%; }
  .showcase {
    flex-wrap: wrap; }
    .showcase > div {
      padding: 0 0; }
    .showcase h1 {
      margin-bottom: 20px; }
    .showcase .button {
      margin-bottom: 30px; }
    .showcase .title, .showcase .description, .showcase .gallery {
      width: 100%; } }
