:root {
  --main: #f72047;
  --maintrans: rgba(247, 32, 71, 0.75);
  --mainlight: #f7dfe3;
  --maindarken: #7C1024;
  --second: #3b449b;
  --text: #222; }

body {
  font-family: 'Raleway',sans-serif;
  color: var(--text);
  font-size: 14px;
  line-height: 1.8em;
  font-weight: 300; }

* {
  box-sizing: border-box; }

.container {
  width: 1050px;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 1180px) {
    .container {
      width: 100%; } }

.container-small {
  width: 800px;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 997px) {
    .container-small {
      width: 100%; } }
  @media (max-width: 767px) {
    .container-small {
      width: calc(100% - 8vw); } }
  .container-small .columns-4-4 {
    margin: 0 auto 2rem; }
    @media (max-width: 997px) {
      .container-small .columns-4-4 {
        width: calc(100% - 4rem); } }
    @media (max-width: 767px) {
      .container-small .columns-4-4 {
        width: 100%; } }
  .container-small .columns-3-4 {
    width: 75%;
    margin-bottom: 2rem; }
    @media (max-width: 1180px) {
      .container-small .columns-3-4 {
        margin-left: auto;
        margin-right: auto; } }
    @media (max-width: 767px) {
      .container-small .columns-3-4 {
        width: 100%; } }
    .container-small .columns-3-4.align-right {
      margin-left: auto;
      margin-right: 0; }
      @media (max-width: 1180px) {
        .container-small .columns-3-4.align-right {
          margin-right: auto; } }

.padding-top {
  padding-top: 5rem; }
  @media (max-width: 767px) {
    .padding-top {
      padding-top: 8vw; } }

.padding-bottom {
  padding-bottom: 4rem; }

nav {
  padding: 2rem;
  text-align: left;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2; }
  @media (max-width: 767px) {
    nav {
      padding: 6vw; } }
  nav img {
    height: 2.5rem;
    width: auto; }
    @media (max-width: 767px) {
      nav img {
        height: 8vw; } }

header {
  display: block; }
  header .teaser-image-wrapper {
    height: 10rem;
    width: 100%;
    position: relative; }
    @media (max-width: 767px) {
      header .teaser-image-wrapper {
        height: 20vw;
        margin-bottom: 3rem; } }
    header .teaser-image-wrapper .teaser-image {
      position: absolute;
      top: 0;
      left: 0;
      height: calc(100% + 2rem);
      width: 100%;
      background-color: var(--text);
      background-size: cover;
      background-position: center top; }
      @media (max-width: 767px) {
        header .teaser-image-wrapper .teaser-image {
          height: 100%; } }
  header .container-small {
    position: relative;
    margin-top: 0rem; }
    header .container-small .columns-3-4, header .container-small .columns-4-4 {
      margin-bottom: 0;
      position: relative; }
      header .container-small .columns-3-4:before, header .container-small .columns-4-4:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100% + 6rem);
        height: 100%;
        background-color: white;
        transform: translateX(-2.5rem) translateY(-2.5rem);
        border-radius: 3px; }
        @media (max-width: 997px) {
          header .container-small .columns-3-4:before, header .container-small .columns-4-4:before {
            transform: translateX(-3rem) tramslateY(-2.5rem); } }
        @media (max-width: 767px) {
          header .container-small .columns-3-4:before, header .container-small .columns-4-4:before {
            display: none; } }

.hyphens {
  hyphens: auto; }

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

h1, .h1 {
  text-transform: uppercase;
  font-size: 2.4rem;
  letter-spacing: .07em;
  line-height: 1.2em;
  font-weight: 900;
  margin-bottom: 2rem;
  position: relative; }
  @media (max-width: 767px) {
    h1, .h1 {
      font-size: 7.5vw;
      line-height: 1.4em;
      margin-bottom: 6vw; } }
  h1 small, .h1 small {
    color: var(--main);
    margin-bottom: .3rem !important; }
    @media (max-width: 767px) {
      h1 small, .h1 small {
        margin-bottom: 1vw !important; } }

.h1 {
  font-weight: 800;
  line-height: 1.05em;
  margin-bottom: .75rem; }
  .h1 span {
    color: var(--main); }

h1 small, h2 {
  width: 60%;
  text-transform: none;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4em;
  letter-spacing: 0;
  display: block;
  margin-bottom: .7rem; }
  @media (max-width: 767px) {
    h1 small, h2 {
      width: 100%;
      font-size: 5vw;
      margin-bottom: 4vw;
      line-height: 1.4em; } }

cite {
  font-weight: 300;
  display: block;
  font-size: 1.5rem;
  line-height: 1.6em;
  padding: 2.5rem 2rem 2.5rem;
  position: relative;
  position: relative;
  color: var(--second); }
  @media (max-width: 1180px) {
    cite {
      width: 75%;
      margin: 0 auto;
      padding-top: 1rem; } }
  @media (max-width: 997px) {
    cite {
      padding-bottom: 1rem; } }
  @media (max-width: 767px) {
    cite {
      width: 100%;
      padding: 0;
      font-size: 5vw;
      line-height: 1.8em;
      hyphens: auto;
      margin-bottom: 2.2rem; } }
  cite:after, cite:before {
    content: '';
    display: block;
    width: 50%;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.3);
    margin: 0 auto 2rem;
    position: relative; }
    @media (max-width: 1180px) {
      cite:after, cite:before {
        margin-bottom: 2.5rem;
        width: 100%; } }
    @media (max-width: 997px) {
      cite:after, cite:before {
        width: 50%; } }
    @media (max-width: 767px) {
      cite:after, cite:before {
        width: 100%;
        margin-bottom: 10vw; } }
  cite:after {
    margin-top: 2.5rem;
    margin-bottom: 0; }
    @media (max-width: 1180px) {
      cite:after {
        margin-top: 3rem;
        margin-bottom: 0; } }
    @media (max-width: 997px) {
      cite:after {
        display: none; } }

.split-columns {
  column-count: 2;
  column-gap: 40px;
  margin-bottom: 2rem; }
  @media (max-width: 767px) {
    .split-columns {
      column-count: 1;
      margin-bottom: 2vw; } }
  .split-columns li {
    display: block;
    padding-left: 1.3rem;
    margin-bottom: 1.5rem;
    position: relative; }
    .split-columns li:before {
      content: '';
      margin-top: .5rem;
      width: .5rem;
      height: .5rem;
      background-color: var(--main);
      border-radius: 50%;
      display: block;
      position: absolute;
      left: 0; }

button {
  background: linear-gradient(to bottom, var(--main), var(--maindarken));
  border: none;
  outline: none;
  color: white;
  border-radius: 3px;
  font-size: 14px;
  line-height: 2.8em;
  font-weight: 700;
  cursor: pointer;
  padding: 0 1.5rem;
  font-family: 'Raleway', sans-serif;
  transition: .2s ease-in-out; }
  button:hover {
    transform: scale(0.95); }

.background-light {
  background-color: #F4F4F9;
  padding: 6rem 0; }
  @media (max-width: 997px) {
    .background-light {
      padding: 2rem 0 4rem; } }
  @media (max-width: 767px) {
    .background-light {
      padding: 4vw 0 8vw; } }
  .background-light .flex {
    display: flex; }
    @media (max-width: 997px) {
      .background-light .flex {
        flex-direction: column-reverse;
        width: calc(100% - 4rem);
        margin: 0 auto; } }
    @media (max-width: 767px) {
      .background-light .flex {
        width: 100%; } }
    .background-light .flex button {
      margin-top: 1.4rem; }
    .background-light .flex .mockup {
      flex-basis: 55%;
      flex-shrink: 0;
      position: relative; }
      @media (max-width: 997px) {
        .background-light .flex .mockup {
          text-align: center; } }
      .background-light .flex .mockup img {
        position: absolute;
        width: 120%;
        height: auto;
        top: -1rem;
        right: -1rem; }
        @media (max-width: 997px) {
          .background-light .flex .mockup img {
            width: 60%;
            top: auto;
            position: relative; } }
        @media (max-width: 767px) {
          .background-light .flex .mockup img {
            width: 100%;
            margin-bottom: 4vw; } }
    .background-light .flex .price {
      margin-top: 1.6rem;
      margin-bottom: 1.5rem; }
      .background-light .flex .price b {
        color: #1AC927;
        font-size: 2.6rem;
        line-height: 1em;
        font-weight: 200; }
      .background-light .flex .price span {
        opacity: .5;
        margin-left: .3rem;
        font-size: .8rem;
        line-height: 1.4em; }
    .background-light .flex .playstore-icons {
      display: flex; }
      .background-light .flex .playstore-icons img {
        height: 2.5rem;
        width: auto;
        opacity: .3;
        margin-right: .6rem;
        cursor: pointer; }
        .background-light .flex .playstore-icons img:hover {
          opacity: .5; }

.beat-widget .beat-container, .beat-widget .map-container {
  margin: 0 auto 5rem;
  width: 100%; }
  @media (max-width: 1180px) {
    .beat-widget .beat-container, .beat-widget .map-container {
      width: calc(100% - 4rem); } }
  @media (max-width: 767px) {
    .beat-widget .beat-container, .beat-widget .map-container {
      width: calc(100% - 8vw);
      margin-bottom: 15vw; } }

.beat-widget .map-container {
  display: flex;
  align-items: flex-start;
  justify-content: center; }
  @media (max-width: 997px) {
    .beat-widget .map-container {
      flex-direction: column;
      margin-top: 3rem; } }
  @media (max-width: 767px) {
    .beat-widget .map-container {
      margin-top: 0; } }

.beat-widget .beat-container {
  margin-top: 2.8rem; }
  @media (max-width: 767px) {
    .beat-widget .beat-container {
      margin-top: 8vw; } }

.beat-widget p.disclaimer {
  font-size: 1.5rem;
  width: 90%;
  font-weight: 300;
  margin: 0.3rem 0 2.5rem;
  line-height: 1.4em; }

.beat-widget .svg-container {
  width: 540px; }
  @media (max-width: 997px) {
    .beat-widget .svg-container {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 4rem; } }
  @media (max-width: 767px) {
    .beat-widget .svg-container {
      margin-bottom: 2rem; } }
  .beat-widget .svg-container svg {
    width: 95%; }
    @media (max-width: 997px) {
      .beat-widget .svg-container svg {
        width: 40%; } }
    @media (max-width: 767px) {
      .beat-widget .svg-container svg {
        width: 80%; } }

.beat-widget path:not(.invisible) {
  cursor: pointer;
  transition: .3s ease-in-out; }
  .beat-widget path:not(.invisible).active {
    stroke: #111;
    stroke-width: 1px; }

.beat-widget circle {
  transition: .3s ease-in-out;
  position: relative;
  z-index: 1;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  fill: var(--maintrans); }
  .beat-widget circle.visible {
    opacity: 1;
    visibility: visible; }
    .beat-widget circle.visible.inactive {
      opacity: 0; }

.beat-widget .table-container {
  padding-left: 2rem;
  position: relative;
  width: 100%; }
  @media (max-width: 997px) {
    .beat-widget .table-container {
      padding-left: 0; } }
  @media (max-width: 767px) {
    .beat-widget .table-container {
      width: 94vw;
      overflow: scroll; } }
  .beat-widget .table-container table {
    font-size: 13px;
    margin-top: .6rem;
    text-align: right;
    line-height: 1.8em;
    width: 100%;
    font-weight: 500;
    background-color: white; }
    @media (max-width: 997px) {
      .beat-widget .table-container table {
        font-size: 14px;
        line-height: 1.8em; } }
    @media (max-width: 767px) {
      .beat-widget .table-container table {
        font-size: 13px;
        line-height: 1.8em; } }
    .beat-widget .table-container table#dataRegions td:first-child, .beat-widget .table-container table#dataRegions td:nth-child(2), .beat-widget .table-container table#dataRegions td:nth-child(3), .beat-widget .table-container table#dataRegions td:nth-child(4), .beat-widget .table-container table#dataRegions td:nth-child(5) {
      border-right: 1px solid rgba(0, 0, 0, 0.1); }
    .beat-widget .table-container table#dataTable td:first-child, .beat-widget .table-container table#dataTable td:nth-child(7) {
      border-right: 1px solid rgba(0, 0, 0, 0.1); }
    .beat-widget .table-container table.inactive {
      display: none; }
    .beat-widget .table-container table tbody.titles tr:nth-child(1) {
      text-align: left; }
      .beat-widget .table-container table tbody.titles tr:nth-child(1) td {
        padding-top: 0;
        padding-bottom: 0;
        white-space: nowrap; }
        .beat-widget .table-container table tbody.titles tr:nth-child(1) td span:after {
          transform: translateY(6px); }
          @media (max-width: 997px) {
            .beat-widget .table-container table tbody.titles tr:nth-child(1) td span:after {
              transform: translateY(16px); } }
          @media (max-width: 767px) {
            .beat-widget .table-container table tbody.titles tr:nth-child(1) td span:after {
              transform: translateY(7px); } }
    .beat-widget .table-container table tbody.titles tr:nth-child(2) {
      position: relative; }
      .beat-widget .table-container table tbody.titles tr:nth-child(2) td {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        padding-bottom: .8rem;
        position: relative;
        white-space: nowrap; }
        .beat-widget .table-container table tbody.titles tr:nth-child(2) td span {
          position: relative; }
          .beat-widget .table-container table tbody.titles tr:nth-child(2) td span:after {
            transform: translateY(2px); }
    .beat-widget .table-container table tr td span {
      position: absolute; }
    .beat-widget .table-container table tr.active {
      background-color: var(--main) !important;
      color: white; }
    .beat-widget .table-container table tr.bold {
      font-weight: 700;
      color: var(--second); }
    .beat-widget .table-container table tr.appended {
      cursor: pointer; }
      .beat-widget .table-container table tr.appended:nth-child(even) {
        background-color: rgba(59, 68, 155, 0.06); }
      .beat-widget .table-container table tr.appended td:first-child {
        text-align: left; }
      .beat-widget .table-container table tr.appended td:nth-child(even) {
        background-color: rgba(59, 68, 155, 0.03); }
    .beat-widget .table-container table tr td {
      padding: 8px 10px 10px; }
      .beat-widget .table-container table tr td.highlight {
        background-color: var(--maintrans); }
      .beat-widget .table-container table tr td.sort {
        cursor: pointer;
        padding-right: 1.5rem; }
        .beat-widget .table-container table tr td.sort.active {
          color: var(--main);
          text-decoration: underline; }
        .beat-widget .table-container table tr td.sort span:after {
          content: '';
          display: inline-block;
          width: .8rem;
          height: .8rem;
          background-size: contain;
          opacity: .3;
          background-repeat: no-repeat;
          background-image: url(../img/sort.svg);
          margin-left: .25rem; }
        .beat-widget .table-container table tr td.sort:hover {
          text-decoration: underline; }
          .beat-widget .table-container table tr td.sort:hover span:after {
            opacity: .8; }

.beat-widget h3 {
  color: var(--main);
  font-size: 2rem;
  line-height: 1.4em;
  font-weight: 800; }
  @media (max-width: 767px) {
    .beat-widget h3 {
      font-size: 6vw;
      line-height: 1.2em; } }

.beat-widget .region-city {
  display: flex;
  margin-bottom: 3rem; }
  @media (max-width: 997px) {
    .beat-widget .region-city {
      width: 100%;
      margin-bottom: 4rem; } }
  @media (max-width: 767px) {
    .beat-widget .region-city {
      margin-bottom: 2rem; } }
  .beat-widget .region-city li {
    padding: .75rem;
    cursor: pointer;
    line-height: 1.3em;
    font-weight: 500;
    transition: .2s ease-in-out;
    border-bottom: 4px solid rgba(59, 68, 155, 0.05); }
    @media (max-width: 997px) {
      .beat-widget .region-city li {
        width: 50%; } }
    @media (max-width: 767px) {
      .beat-widget .region-city li {
        padding: 2.5vw; } }
    .beat-widget .region-city li:hover {
      border-color: rgba(59, 68, 155, 0.15); }
    .beat-widget .region-city li.active {
      border-color: var(--main); }

footer {
  background-color: var(--text);
  padding: 4rem 0 6rem;
  color: white;
  text-align: center; }
  footer a {
    color: inherit;
    text-decoration: none; }
    footer a:hover {
      text-decoration: none; }
  @media (max-width: 767px) {
    footer {
      padding-bottom: 12vw; } }
  footer img {
    width: 8rem;
    margin-bottom: 3rem;
    cursor: pointer;
    transition: .3s ease-in-out; }
    footer img:hover {
      opacity: .75; }
    @media (max-width: 767px) {
      footer img {
        width: 40vw;
        margin-bottom: 8vw; } }
  footer section {
    display: flex;
    width: 100%;
    justify-content: stretch;
    flex-grow: 1; }
    @media (max-width: 767px) {
      footer section {
        flex-direction: column; } }
    footer section article {
      flex-shrink: 0;
      flex-basis: 33.333%; }
      @media (max-width: 767px) {
        footer section article {
          margin-bottom: 10vw; } }
    footer section li {
      color: rgba(255, 255, 255, 0.5); }
      footer section li:hover {
        text-decoration: underline; }
    footer section strong {
      display: block;
      margin-bottom: .5rem;
      font-weight: 700; }
      @media (max-width: 767px) {
        footer section strong {
          margin-bottom: 2vw; } }

#cookie {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  display: flex;
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  flex-direction: column;
  width: 250px;
  padding: 1.1rem;
  border-radius: 1rem;
  background-color: white;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.2));
  transition: .5s ease-in-out; }
  #cookie.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0); }
  #cookie fieldset {
    position: relative;
    width: 100%; }
    #cookie fieldset input {
      opacity: 0;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      cursor: pointer;
      left: 0; }
      #cookie fieldset input:hover + label:after {
        transform: translateX(-0.75rem); }
      #cookie fieldset input:checked + label {
        border-color: #00c851; }
        #cookie fieldset input:checked + label:after {
          transform: translateX(0);
          background-color: #00c851; }
    #cookie fieldset label {
      width: 2.6rem;
      position: relative;
      height: 1.6rem;
      border: 1px solid var(--main);
      transition: .2s ease-in-out;
      cursor: pointer;
      display: block;
      margin-top: 1.2rem;
      margin-left: auto;
      border-radius: .8rem; }
      #cookie fieldset label:after {
        background-color: var(--main);
        display: block;
        border-radius: 50%;
        width: 1.2rem;
        height: 1.2rem;
        top: .15rem;
        right: .2rem;
        transform: translateX(-0.9rem);
        content: '';
        transition: .2s ease-in-out;
        position: absolute;
        flex-shrink: 0; }
  #cookie strong {
    color: #333;
    font-weight: 800;
    font-size: 1rem;
    line-height: 1.8em; }
  #cookie p {
    color: rgba(0, 0, 0, 0.6);
    display: block;
    font-size: .85rem;
    line-height: 1.6em;
    font-weight: 500; }

/*# sourceMappingURL=main.css.map */