/*
 * Breakpoints
 */

:root {
  --font-stack-base: 'Mallory Compact', sans-serif;
}

html {
  font-size: 16px;
}

@media (min-width: 992px) {

html {
    font-size: 19px;
}
  }

@media (min-width: 1200px) {

html {
    font-size: 21px;
}
  }

body {
  font-family: 'Mallory Compact', sans-serif;
  font-family: var(--font-stack-base);
  color: rgb(50, 54, 55);
  -webkit-font-smoothing: antialiased;
  background-size: contain;
  background-repeat: no-repeat;
}

.container {
  max-width: 1300px;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 1200px) {

.container {
    padding-left: 3rem;
    padding-right: 3rem;
}
  }

a {
  color: #222;
  font-weight: 700;
  -webkit-text-decoration: none;
  text-decoration: none;
}

a:not(.custom) {
  text-decoration-thickness: 2px;
  text-decoration-style: solid;
  text-decoration-line: underline;
  text-underline-offset: 4px;
  background-color: transparent;
  transition:
    background-color 0.1s ease, text-decoration-color 0.1s ease;
}

a:not(.custom):hover {
    background-color: #ffdc7f;
    text-decoration-color: transparent;
  }

.screen-reader-only {
  visibility: hidden;
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

article {
  min-height: 400px;
}

h1 {
  font-family: 'Free Lunch Rough', sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

h2 {
  font-weight: 300;
  font-size: 2.5rem;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin-bottom: 1.25rem;
}

h2 em {
    font-style: normal;
    font-weight: 700;
  }

li {
  margin-bottom: 0.5rem;
}

p,
li {
  font-size: 1.2rem;
  font-family: 'Martina Plantijn', sans-serif;
  margin-bottom: 1.3rem;
}

#site-header {
  max-width: 1400px;
  padding-top: 2.5rem;
  margin-bottom: 2.5rem;
}

#header-logo {
  font-size: 3.5rem;
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 100px;
  color: white;
  background-color: #337083;
  transition: background-color 0.2s ease;
}

#header-logo:hover {
    background-color: #ec557f;
  }

@media (min-width: 1200px) {

#header-logo {
    font-size: 3.5rem;
    width: 5rem;
    height: 5rem;
}
  }

.social-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
}

.social-links li {
    list-style: none;
    padding: 0;
  }

.social-links li:not(:last-of-type) {
      margin-right: 2rem;
    }

.social-links li a {
      display: block;
      font-size: 2.3rem;
    }

.social-links li a:hover {
        animation: icon-hover 0.25s ease forwards;
      }

@keyframes icon-hover {
  0% {
    transform: scale(1) rotate(0deg);
  }
  70% {
    transform: scale(1.15) rotate(-3.5deg);
  }
  100% {
    transform: scale(1.1) rotate(-3deg);
  }
}

#site-footer {
  margin-bottom: 1.5rem;
  position: relative;
}

#footer-contact {
  display: flex;
  align-items: center;
}

#footer-contact p {
    margin: 0;
    font-size: 0.95rem;
  }

#footer-contact p a {
      font-weight: 400;
      font-family: 'Mallory Compact', sans-serif;
      font-family: var(--font-stack-base);
    }

#footer-contact p a:hover {
        text-decoration-thickness: 1.5px;
        text-decoration-style: solid;
        text-decoration-line: underline;
        text-underline-offset: 4px;
      }

/*
 * HOME PAGE
 */

article#home p {
    font-size: 1.5rem;
  }

article#home .container .row {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

article#home .container .row .col > :last-child {
      margin-bottom: 0;
    }

article#home #home-intro h1 {
      font-size: 3.9rem;
    }

article#home #home-intro .row {
      padding-top: 0;
    }

@media (min-width: 992px) {

article#home #home-intro .row {
        padding-top: 2rem;
    }
      }

article#home #home-intro .col:first-of-type {
      margin-bottom: 2rem;
    }

@media (min-width: 1200px) {

article#home #home-intro .col:first-of-type {
        margin-bottom: 0;
    }
      }

article#home #home-intro video {
      border-radius: 0.67rem;
      margin-bottom: 2rem;
    }

@media (min-width: 1200px) {

article#home #home-intro video {
        margin-top: -5rem;
    }
      }

article#home #home-partners {
    background-color: #f9f7f0;
  }

article#home #home-partners ul {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      padding: 0;
      margin: 0;
      justify-content: space-between;
    }

article#home #home-partners ul li {
        list-style: none;
        flex-basis: 45%;
        font-weight: 700;
      }

article#home #home-partners ul li:not(:nth-last-child(-n + 2)) {
          margin-bottom: 3rem;
        }

article#home #home-partners ul li img {
          display: block;
          width: 125px;
          height: 90px;
          -o-object-fit: contain;
             object-fit: contain;
          -o-object-position: bottom center;
             object-position: bottom center;
          margin-bottom: 1rem;
        }

@media (min-width: 992px) {

article#home #home-partners ul li img {
            width: 250px;
            height: 170px;
            -o-object-fit: contain;
               object-fit: contain;
            -o-object-position: bottom left;
               object-position: bottom left;
        }
          }

article#home #home-projects ul {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      padding: 0;
      margin: 0;
      justify-content: space-between;
    }

article#home #home-projects ul li {
        list-style: none;
        flex-basis: 50%;
        margin-bottom: 0;
        --project-radius: 0.7rem;
      }

article#home #home-projects ul li a {
          display: block;
          width: 100%;
          height: 45vw;
          position: relative;
          overflow: hidden;
        }

@media (min-width: 992px) {

article#home #home-projects ul li a {
            height: 350px;
        }
          }

article#home #home-projects ul li a figure {
            margin-left: auto;
            margin-right: auto;
            width: 100%;
            position: absolute;
            top: 45%;
            left: 50%;
            transform: translate(-50%, -55%);
          }

article#home #home-projects ul li a figure img {
              display: block;
              max-width: 100%;
              height: auto;
            }

article#home #home-projects ul li a span {
            position: absolute;
            left: 0.67rem;
            bottom: 0.5rem;
            font-size: 1rem;
          }

@media (min-width: 768px) {

article#home #home-projects ul li a span {
              font-size: 1.2rem;
          }
            }

@media (min-width: 992px) {

article#home #home-projects ul li a span {
              left: 1rem;
              bottom: 0.67rem;
              font-size: 1.3rem;
          }
            }

article#home #home-projects ul li a#calendar-2025 {
            background-image: url('../_assets/card-2025.jpg');
            background-size: cover;
            background-position: center;
            border-left-width: 1px;
            border-top-width: 1px;
            border-right-width: 0;
            border-bottom-width: 0;
            border-color: #e8e2d8;
            border-style: solid;
            border-top-left-radius: var(--project-radius);
          }

article#home #home-projects ul li a#calendar-2025 span {
              color: #222;
            }

article#home #home-projects ul li a#project-2024 {
            background-image: url('../_assets/card-2024.jpg');
            background-size: cover;
            background-position: center;
            border-top-right-radius: var(--project-radius);
          }

article#home #home-projects ul li a#project-2024 span {
              color: white;
            }

article#home #home-projects ul li a#calendar-2022 {
            background-image: url('../_assets/card-2022-bg.jpg');
            background-size: cover;
            background-position: center;
          }

article#home #home-projects ul li a#calendar-2022 span {
              color: white;
            }

article#home #home-projects ul li a#calendar-2021 {
            background-color: #f9f7f3;
            border-width: 0;
            border-style: solid;
            border-color: #d9d9e4;
            border-right-width: 1px;
          }

article#home #home-projects ul li a#calendar-2021 figure {
              width: 140%;
            }

article#home #home-projects ul li a#calendar-2021 span {
              color: #37394e;
            }

article#home #home-projects ul li a#calendar-2020 {
            background-image: url('../_assets/card-2020-bg.jpg');
            background-size: cover;
            background-position: center;
          }

article#home #home-projects ul li a#calendar-2020 figure {
              width: 65%;
            }

article#home #home-projects ul li a#calendar-2020 span {
              color: white;
            }

article#home #home-projects ul li a#stay-home {
            background-image: url('../_assets/card-stayhome-bg.jpg');
            background-size: cover;
            background-position: center;
            border-bottom-right-radius: var(--project-radius);
          }

article#home #home-projects ul li a#stay-home span {
              color: white;
            }

article#home #home-projects ul li a#calendar-2019 {
            background-color: #1f4958;
            border-bottom-left-radius: var(--project-radius);
            border-bottom-right-radius: var(--project-radius);
          }

article#home #home-projects ul li a#calendar-2019 figure {
              width: 60%;
            }

article#home #home-projects ul li a#calendar-2019 span {
              color: white;
            }

article#home #home-projects ul li a:hover span {
              text-decoration-thickness: 2px;
              text-decoration-style: solid;
              text-decoration-line: underline;
              text-underline-offset: 4px;
            }
