/**
*
* Function to cast strings into numbers in SASS
*
* Author: Hugo Giraudel (@hugogiraudel)
* https://github.com/HugoGiraudel/SassyCast
*
**/
@-webkit-keyframes fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

body {
  font-family: 'Montserrat', sans-serif;
  padding: 40px;
  margin: 0;
  background-color: #24334a;
  font-weight: 500;
  color: white;
  background-image: url("/assets/images/background.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed; }
  @media (max-width: 767px) {
    body {
      padding: 40px 20px; } }

.card {
  height: 360px;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  position: relative; }
  .card .flip-card {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    -webkit-transition: -webkit-transform 0.8s;
    transition: -webkit-transform 0.8s;
    -o-transition: transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
  .card.flipped .flip-card {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg); }
    .card.flipped .flip-card .flip-card-front {
      pointer-events: none; }
      .card.flipped .flip-card .flip-card-front .content {
        opacity: 0; }
  .card .flip-card-front, .card .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    .card .flip-card-front .content, .card .flip-card-back .content {
      -webkit-transition: 0.4s;
      -o-transition: 0.4s;
      transition: 0.4s;
      width: 100%; }
  .card .flip-card-front {
    background-color: #FFF;
    border-radius: 20px;
    padding: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .card .flip-card-front .content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .card .flip-card-front .content .flex-image {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100px;
        position: relative; }
        .card .flip-card-front .content .flex-image img {
          max-width: 100%;
          max-height: 100px;
          margin: 0 auto;
          display: block; }
          .card .flip-card-front .content .flex-image img[data-loaded="true"] {
            -webkit-animation-name: fade;
                    animation-name: fade;
            -webkit-animation-duration: 0.4s;
                    animation-duration: 0.4s;
            -webkit-animation-fill-mode: both;
                    animation-fill-mode: both; }
      .card .flip-card-front .content h2 {
        margin: 10px 0;
        font-size: 22px;
        color: #eca44f;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%; }
      .card .flip-card-front .content code {
        width: 100%;
        color: #eca44f;
        padding: 10px; }
      .card .flip-card-front .content .bottom {
        margin-top: auto;
        width: 100%; }
        .card .flip-card-front .content .bottom p {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin: 0; }
          .card .flip-card-front .content .bottom p.type {
            font-size: 12px;
            color: #b4b4b4;
            text-transform: uppercase; }
          .card .flip-card-front .content .bottom p.location {
            margin-top: 20px;
            font-size: 18px;
            color: #636363; }
  .card .flip-card-back {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    background-color: #eca44f;
    border-radius: 20px;
    padding: 40px; }
    .card .flip-card-back .content h2 {
      margin: 0;
      font-size: 11px;
      color: #24334a;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
    .card .flip-card-back .content ul {
      margin: 0;
      padding: 0; }
      .card .flip-card-back .content ul li {
        margin: 20px 0;
        list-style: none;
        color: #FFF;
        font-weight: bold; }
        .card .flip-card-back .content ul li span.label {
          font-size: 11px;
          font-weight: normal;
          text-transform: uppercase;
          display: block;
          margin: 0 auto 20px; }
        .card .flip-card-back .content ul li .button {
          webkit-appearance: none;
          border: none;
          background-color: #636363;
          color: #FFF;
          border-radius: 20px;
          padding: 10px 15px;
          cursor: pointer;
          -webkit-transition: 0.4s;
          -o-transition: 0.4s;
          transition: 0.4s;
          text-transform: uppercase;
          letter-spacing: 1px;
          text-decoration: none;
          margin: 10px auto 0;
          display: inline-block; }
          .card .flip-card-back .content ul li .button:hover {
            background-color: #24334a; }

.cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 20px;
  width: 100%;
  padding: 40px 0 0; }
  @media (max-width: 1024px) {
    .cards {
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 20px; } }
  @media (max-width: 767px) {
    .cards {
      grid-template-columns: 1fr 1fr;
      grid-gap: 20px; } }
  @media (max-width: 640px) {
    .cards {
      grid-template-columns: 1fr;
      grid-gap: 20px; } }

.credits {
  margin: 40px 0; }
  .credits p {
    font-size: 13px;
    text-align: center;
    color: white;
    margin: 10px 0; }
    @media (max-width: 375px) {
      .credits p {
        font-size: 11px; } }
    .credits p.updated {
      line-height: 32px;
      font-size: 16px;
      margin: 20px 0; }
      @media (max-width: 375px) {
        .credits p.updated {
          font-size: 14px; } }
    .credits p a {
      color: #eca44f;
      padding: 5px;
      border-radius: 40px;
      -webkit-transition: 0.4s;
      -o-transition: 0.4s;
      transition: 0.4s;
      text-decoration: none;
      font-weight: 900;
      text-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
      .credits p a:hover, .credits p a.active {
        background-color: #eca44f;
        color: white; }

nav.filters {
  margin: 40px 0 0; }
  nav.filters ul {
    padding: 0;
    margin: 0; }
    nav.filters ul li {
      display: inline-block;
      margin: 6px; }
      nav.filters ul li a {
        color: #eca44f;
        padding: 5px;
        border-radius: 40px;
        -webkit-transition: 0.4s;
        -o-transition: 0.4s;
        transition: 0.4s;
        text-decoration: none;
        font-weight: 900;
        text-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
        display: block;
        padding: 4px; }
        nav.filters ul li a:hover, nav.filters ul li a.active {
          background-color: #eca44f;
          color: white; }
      nav.filters ul li.filter-toggle a.active {
        background-color: transparent;
        color: white; }
      nav.filters ul li.filter-spacer {
        display: block; }
      nav.filters ul li.filter {
        display: none; }
        nav.filters ul li.filter.visible {
          display: inline-block; }

footer {
  position: absolute;
  top: 0;
  right: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 767px) {
    footer {
      position: relative;
      right: auto;
      margin: 60px 0;
      display: block; } }
  footer .site-credit {
    margin: 20px 20px 0 0;
    font-size: 12px; }
    @media (max-width: 767px) {
      footer .site-credit {
        font-size: 14px;
        margin: 0 0 30px;
        text-align: center; } }
    footer .site-credit span.label {
      display: none; }
      @media (max-width: 767px) {
        footer .site-credit span.label {
          display: inline-block; } }
    footer .site-credit a {
      color: #eca44f;
      padding: 5px;
      border-radius: 40px;
      -webkit-transition: 0.4s;
      -o-transition: 0.4s;
      transition: 0.4s;
      text-decoration: none;
      font-weight: 900;
      text-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
      footer .site-credit a:hover, footer .site-credit a.active {
        background-color: #eca44f;
        color: white; }
  footer .site-sponsor img {
    margin-top: -10px;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
    width: 150px;
    display: block; }
    @media (max-width: 767px) {
      footer .site-sponsor img {
        margin: 0 auto; } }
    footer .site-sponsor img:hover {
      margin-top: 0;
      background-color: transparent; }

header h1 {
  font-weight: 500;
  color: #eca44f;
  font-size: 32px;
  margin: 10px 0; }
  @media (max-width: 767px) {
    header h1 {
      font-size: 32px; } }

header h2 {
  font-weight: 900;
  font-size: 80px;
  color: white;
  margin: 40px 0; }
  @media (max-width: 767px) {
    header h2 {
      font-size: 32px; } }
