@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@700&family=Roboto:wght@400;500&family=Poppins:wght@500&display=swap");
html {
  font-size: 62.5%;
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 80%;
  }
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
}

a {
  text-decoration: none;
  color: inherit;
  font-weight: inherit;
}

li {
  list-style: none;
}

fieldset {
  border: 0;
}

button {
  border: 0;
  background: transparent;
  text-align: left;
}

*:focus {
  outline: none;
}

button, input, textarea {
  font: inherit;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes slidein-from-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slidein-from-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes slidein-from-top {
  from {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slidein-from-top {
  from {
    opacity: 0;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
html {
  font-size: 75%;
  line-height: 1.7;
  overflow-y: scroll;
}
@media screen and (min-width: 750px) {
  html {
    font-size: 78%;
  }
}
@media screen and (min-width: 900px) {
  html {
    font-size: 80%;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 84%;
  }
}
@media screen and (min-width: 1150px) {
  html {
    font-size: 88%;
  }
}
@media screen and (min-width: 1250px) {
  html {
    font-size: 92%;
  }
}

::-webkit-scrollbar {
  width: 0.5714285714rem;
  background-color: #ffffff;
}

::-webkit-scrollbar-thumb {
  background: #58b74e;
  border-radius: 0;
}

::-moz-selection {
  display: block;
  background-color: rgba(88, 183, 78, 0.4);
  color: white;
}

::selection {
  display: block;
  background-color: rgba(88, 183, 78, 0.4);
  color: white;
}

body {
  color: #303030;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
}

body.has-intro #wrapper {
  padding-top: 0;
}

#header {
  z-index: 10000;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  border-top: 8px solid #58b74e;
  background-color: #4d4d4d;
  color: white;
}
@media screen and (min-width: 750px) {
  #header > .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#header h1 a {
  display: block;
  background-image: url("img/logo.png");
  background-size: contain;
  width: 152px;
  height: 100px;
  text-indent: -9999px;
}

.header__navigation {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

.header__secondary-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header__secondary-nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #58b74e;
  padding: 0.3333333333rem 1rem;
}
.header__secondary-nav > ul li {
  position: relative;
  padding-right: 1rem;
  margin-right: 1rem;
}
.header__secondary-nav > ul li:after {
  content: "|";
  position: absolute;
  top: 0;
  right: 0;
}
.header__secondary-nav > ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}
.header__secondary-nav > ul li:last-child:after {
  content: none;
}
.header__secondary-nav > ul li.active a {
  border-bottom: 1px solid white;
}

.header__navigation-subnav {
  background-color: #343434;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
@media screen and (min-width: 750px) {
  .header__navigation-subnav {
    text-align: center;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -4rem;
    z-index: 9999;
    border-bottom: 1px solid white;
    background-color: #e4f3e3;
  }
  .header__navigation-subnav:after {
    content: "";
    display: table;
    clear: both;
  }
}
.header__navigation-subnav > li > a {
  position: relative;
  display: block;
  text-transform: lowercase;
  padding: 0.5rem 1rem;
}
@media screen and (min-width: 750px) {
  .header__navigation-subnav > li > a {
    padding: 0 1rem;
    height: 4rem;
    line-height: 4rem;
    color: #58b74e;
    font-family: "Roboto Slab";
  }
}
@media screen and (min-width: 900px) {
  .header__navigation-subnav > li > a {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 1150px) {
  .header__navigation-subnav > li > a {
    padding: 0 3rem;
  }
}
@media screen and (min-width: 1450px) {
  .header__navigation-subnav > li > a {
    padding: 0 4rem;
  }
}
.header__navigation-subnav > li.active a {
  color: #58b74e;
}
@media screen and (min-width: 750px) {
  .header__navigation-subnav > li {
    display: inline-block;
  }
  .header__navigation-subnav > li.active > a {
    background-color: #58b74e;
    color: white;
  }
  .header__navigation-subnav > li.active > a:after {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1rem;
    margin-left: -1rem;
    width: 0;
    height: 0;
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1rem solid #58b74e;
  }
}

body.has-intro #header {
  background-color: transparent;
}

body.open-nav #header {
  background-color: #4d4d4d;
}

#mainnav {
  display: none;
  letter-spacing: 1px;
  font-weight: 300;
  padding-top: 1rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  #mainnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
}
@media screen and (min-width: 750px) {
  #mainnav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#mainnav > ul > li {
  padding-top: 0.6666666667rem;
}
@media screen and (min-width: 750px) {
  #mainnav > ul > li {
    padding: 1.3333333333rem 0 1.3333333333rem 0.6666666667rem;
  }
}
@media screen and (min-width: 1024px) {
  #mainnav > ul > li {
    padding-left: 1rem;
  }
}
@media screen and (min-width: 1250px) {
  #mainnav > ul > li {
    padding-left: 2rem;
  }
}
#mainnav > ul > li > a {
  display: block;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  border: 1px solid #ccc;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
@media screen and (min-width: 750px) {
  #mainnav > ul > li > a {
    display: initial;
  }
}
#mainnav > ul > li > a:hover {
  background-color: rgba(238, 238, 238, 0.2);
}
#mainnav > ul > li.active > a {
  border-color: white;
  background-color: rgba(255, 255, 255, 0.75);
  color: #4d4d4d;
}

body.open-nav #mainnav {
  display: block;
}
@media screen and (min-width: 750px) {
  body.open-nav #mainnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.hamburger-icon {
  position: absolute;
  top: 2rem;
  right: 2rem;
  display: block;
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.hamburger-icon > span {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  margin-top: -1px;
  background-color: white;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.hamburger-icon:before, .hamburger-icon:after {
  content: "";
  position: absolute;
  right: 0;
  height: 2px;
  width: 100%;
  background-color: white;
  -webkit-transition: width 0.3s, top 0.2s, bottom 0.2s, -webkit-transform 0.2s;
  transition: width 0.3s, top 0.2s, bottom 0.2s, -webkit-transform 0.2s;
  transition: transform 0.2s, width 0.3s, top 0.2s, bottom 0.2s;
  transition: transform 0.2s, width 0.3s, top 0.2s, bottom 0.2s, -webkit-transform 0.2s;
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}
.hamburger-icon:before {
  top: 0;
}
.hamburger-icon:after {
  bottom: 0;
}
@media screen and (min-width: 750px) {
  .hamburger-icon {
    display: none;
  }
}

body.open-nav .hamburger-icon {
  -webkit-transform: rotate(-450deg);
          transform: rotate(-450deg);
}
body.open-nav .hamburger-icon:after {
  width: 50%;
  bottom: 50%;
  margin-bottom: -1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
body.open-nav .hamburger-icon:before {
  width: 50%;
  top: 50%;
  margin-top: -1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#intro {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-color: black;
  line-height: 1.5;
  height: 80vh;
}
@media screen and (min-width: 750px) {
  #intro {
    padding-top: 8rem;
    padding-bottom: 8rem;
    height: 70vh;
  }
}
@media screen and (min-width: 1375px) {
  #intro {
    height: 90vh;
  }
}
#intro:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(#303030), color-stop(25%, transparent));
  background: linear-gradient(to bottom, #303030, transparent 25%);
  opacity: 0.33;
  pointer-events: none;
}
#intro button {
  display: none;
}
@media screen and (min-width: 1024px) {
  #intro button {
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -2rem;
    width: 2.5rem;
    height: 2.5rem;
    z-index: 9999;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
    background-repeat: no-repeat;
    background-position: center center;
  }
  #intro button.next {
    right: 1rem;
    background-image: url("img/arrow.svg");
  }
  #intro button.prev {
    left: 1rem;
    background-image: url("img/arrow.svg");
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
}
@media screen and (min-width: 1150px) {
  #intro button.next {
    right: 2rem;
  }
  #intro button.prev {
    left: 2rem;
  }
}
#intro.hide-read-more a {
  display: none;
}

#intro > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-position: center center;
  background-size: cover;
  -webkit-animation: fadein 1s;
          animation: fadein 1s;
  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;
  padding: 2rem;
}
#intro > div .intro__inner-wrap {
  z-index: 2;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 750px) {
  #intro > div .intro__inner-wrap {
    width: 75%;
  }
}
@media screen and (min-width: 1150px) {
  #intro > div .intro__inner-wrap {
    width: 66.66%;
  }
}
@media screen and (min-width: 1375px) {
  #intro > div .intro__inner-wrap {
    width: 50%;
  }
}
#intro > div .intro__footer {
  margin-top: 2rem;
}
#intro > div > div {
  -webkit-animation: slidein-from-top 3s cubic-bezier(0.075, 0.82, 0.165, 1);
          animation: slidein-from-top 3s cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

#main {
  padding-top: 5rem;
  padding-bottom: 2rem;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (min-width: 750px) {
  #main {
    padding-top: 0;
  }
}

.page-wrapper:after {
  content: "";
  display: table;
  clear: both;
}
.page-wrapper .page-side {
  padding-bottom: 2rem;
}
@media screen and (min-width: 1024px) {
  .page-wrapper .page-side {
    width: 25%;
    float: left;
    padding-right: 2rem;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1250px) {
  .page-wrapper .page-side {
    padding-right: 4rem;
  }
}
@media screen and (min-width: 1450px) {
  .page-wrapper .page-side {
    padding-right: 6rem;
  }
}
@media screen and (min-width: 1024px) {
  .page-wrapper .page-content {
    width: 75%;
    float: right;
  }
}

.page-side h4 {
  font-family: "Roboto Slab";
  font-size: 1.75rem;
}

.breadcrumbs {
  color: #999;
  margin-top: 2rem;
}
.breadcrumbs ol {
  text-align: right;
}
.breadcrumbs ol li {
  display: inline-block;
  padding-left: 2rem;
  background-repeat: no-repeat;
  background-position: left 0.6666666667rem center;
  background-image: url("img/breadcrumbs-divider.svg");
}
.breadcrumbs ol li a:hover {
  color: #4d4d4d;
}
.breadcrumbs ol li:first-child {
  padding-left: 0;
  background-image: none;
}
.breadcrumbs ol li:last-child {
  color: #4d4d4d;
}

#footer {
  background-color: #4d4d4d;
  color: white;
  padding: 2rem 0 2rem 0;
}
#footer h5 {
  font-family: "Roboto Slab";
  color: #58b74e;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
#footer a {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
#footer a:hover {
  color: #8ee88a;
}
@media screen and (min-width: 1024px) {
  #footer {
    font-size: 0.9rem;
  }
}

.footer-cols {
  line-height: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem;
}
.footer-cols > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 4rem;
  padding: 0 2rem;
}
@media screen and (min-width: 900px) {
  .footer-cols > div {
    width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .footer-cols > div {
    width: 33.33%;
  }
}
@media screen and (min-width: 1250px) {
  .footer-cols > div {
    width: 25%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1350px) {
  .footer-cols > div:nth-child(3) {
    width: 25%;
  }
  .footer-cols > div:last-child {
    width: 20%;
  }
}

#bottom {
  padding: 1rem 0;
  font-size: 0.9rem;
  color: gray;
}
#bottom:after {
  content: "";
  display: table;
  clear: both;
}

#tnt {
  float: right;
  width: 58px;
  height: 27px;
  background-image: url("img/tnt.svg");
  text-indent: -9999px;
}

.efa-logo {
  padding-top: 2rem;
}
.efa-logo a img {
  margin-top: 1rem;
  display: block;
  max-width: 60%;
}
.efa-logo img.ce {
  max-width: 95%;
}

.footer-social-media {
  margin-top: 1rem;
  text-align: left;
}
.footer-social-media li {
  display: inline-block;
  margin-right: 0.4rem;
}
.footer-social-media li a {
  display: block;
  width: 1.5384615385rem;
  height: 1.5384615385rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  text-indent: -9999px;
  opacity: 0.75;
  -webkit-transition: opacity 0.5s !important;
  transition: opacity 0.5s !important;
}
.footer-social-media li a:hover {
  opacity: 1;
}
.footer-social-media li.youtube a {
  background-image: url("img/social-media/youtube-white.svg");
}
.footer-social-media li.facebook a {
  background-image: url("img/social-media/fb-white.svg");
}
.footer-social-media li.instagram a {
  background-image: url("img/social-media/instagram-white.svg");
}
.footer-social-media li.twitter a {
  background-image: url("img/social-media/twitter-white.svg");
}

.footer-trainings li, .footer-blogposts li, .footer-news li {
  line-height: 1.5;
  border-bottom: 1px solid gray;
}
.footer-trainings li a, .footer-blogposts li a, .footer-news li a {
  display: block;
  padding: 0.6666666667rem 0;
}
.footer-trainings li:last-child, .footer-blogposts li:last-child, .footer-news li:last-child {
  border-bottom: 0;
}
.footer-trainings li:last-child a, .footer-blogposts li:last-child a, .footer-news li:last-child a {
  padding-bottom: 0;
}
.footer-trainings li span, .footer-blogposts li span, .footer-news li span {
  display: block;
  color: #999;
}

.item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem;
}
.item-list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
@media screen and (min-width: 750px) {
  .item-list > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 50%;
    margin-bottom: 2rem;
    padding: 0 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .item-list > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 33.33%;
    margin-bottom: 2rem;
    padding: 0 1rem;
  }
}
.item-list > li a {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  background-color: white;
}
.item-list > li a:hover img {
  opacity: 0.5;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.item-list > li a:hover span.item-header:after {
  -webkit-animation: fadein 0.4s;
          animation: fadein 0.4s;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  margin-top: -2rem;
  margin-left: -2rem;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #58b74e;
  background-image: url("img/arrow.svg");
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  content: "";
}

span.item-header {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: black;
}
span.item-header > img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: block;
  width: 100%;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: transform 0.5s, opacity 0.5s;
  transition: transform 0.5s, opacity 0.5s, -webkit-transform 0.5s;
}

span.item-title {
  display: block;
  color: #58b74e;
  background-color: white;
  line-height: 1.5;
  font-family: "Roboto Slab";
  padding: 1rem;
}
@media screen and (min-width: 1024px) {
  span.item-title {
    font-size: 1.1rem;
    padding: 2rem;
  }
}
@media screen and (min-width: 1250px) {
  span.item-title {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1350px) {
  span.item-title {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1700px) {
  span.item-title {
    font-size: 1.5rem;
  }
}

span.item-date {
  display: block;
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  line-height: 1.5;
  font-family: "Roboto Slab";
  text-transform: uppercase;
  padding: 0.6666666667rem 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 1rem;
}

span.item-subtitle {
  display: block;
  font-size: 0.85rem;
  text-transform: none;
}
@media screen and (min-width: 1024px) {
  span.item-subtitle {
    font-size: 1rem;
  }
}

.item-description {
  display: block;
  margin-top: 2rem;
}

.big-title {
  text-align: center;
  position: relative;
  margin: 0 auto;
  margin-bottom: 2rem;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 2rem;
}
.big-title > span {
  font-weight: bold;
}
.big-title:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .big-title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1350px) {
  .big-title {
    font-size: 3rem;
  }
}

.tfa-button,
.effe-button {
  margin: 4rem 0;
  display: block;
}
.tfa-button > img,
.effe-button > img {
  display: block;
  width: 100%;
}

.newsletter-form label {
  display: none;
}
.newsletter-form input {
  display: block;
  width: 100%;
  border: 2px solid #8ee88a;
  padding: 0 1rem;
}
.newsletter-form button {
  color: white;
  background-color: #4d4d4d;
  font-family: "Roboto Slab";
  padding: 0 2rem;
  cursor: pointer;
  margin-top: 1rem;
}

.page-side nav {
  color: #999;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.page-side nav ul {
  text-align: left;
}
.page-side nav ul:after {
  content: "";
  display: table;
  clear: both;
}
.page-side nav ul li {
  display: block;
}
@media screen and (min-width: 450px) {
  .page-side nav ul li {
    width: 50%;
    float: left;
  }
}
@media screen and (min-width: 750px) {
  .page-side nav ul li {
    display: inline-block;
    width: initial;
    float: none;
  }
}
@media screen and (min-width: 1024px) {
  .page-side nav ul li {
    display: block;
    border-bottom: 1px solid gray;
  }
}
.page-side nav ul li:last-child {
  border-bottom: 0;
}
.page-side nav ul li a {
  padding: 1rem;
  display: block;
  text-align: center;
  -webkit-transition: color 0.5s;
  transition: color 0.5s;
}
@media screen and (min-width: 1024px) {
  .page-side nav ul li a {
    padding: 1rem 0;
    background-color: #4d4d4d;
  }
  .page-side nav ul li a:hover {
    color: white;
  }
}
.page-side nav ul li.active a {
  color: #58b74e;
  background-color: #343434;
}

.sitemap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem;
}

.sitemap-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33.33%;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
.sitemap-block h3 {
  font-family: "Roboto Slab";
  font-size: 2rem;
  margin-bottom: 1rem;
}
.sitemap-block > div {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 2rem;
  background-color: white;
}

.sitemap-block ul > li a {
  border-bottom: 1px dotted #58b74e;
}
.sitemap-block ul > li > ul {
  padding-left: 2rem;
  font-size: 0.9rem;
}
.sitemap-block ul > li > ul > li > ul {
  font-size: 0.8rem;
}
.sitemap-block ul > li > ul > li > ul > li {
  display: inline;
  margin-right: 0.5rem;
}
.sitemap-block ul > li > ul > li > ul > li:after {
  content: ", ";
}
.sitemap-block ul > li > ul > li > ul > li:last-child:after {
  display: none;
}

.archive-filters {
  padding: 2rem;
  margin-bottom: 2rem;
  background-color: #4d4d4d;
  color: white;
}

.placeholder {
  padding: 2rem;
  background-color: white;
  color: #58b74e;
  font-size: 1.25rem;
  text-align: center;
}

.training-view-intro {
  background-color: white;
  font-size: 1.5rem;
  font-weight: 300;
  padding: 4rem 2rem;
  margin-bottom: 2rem;
}

.training-view-editions {
  margin-top: 4rem;
}

.edition-view-intro {
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 3rem;
}

.edition-view-call-to-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -1rem;
  margin-right: -1rem;
}
.edition-view-call-to-action.show-text .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
.edition-view-call-to-action.show-text .text > div {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: white;
  padding: 2rem;
}
.edition-view-call-to-action.show-text .text > div h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: #58b74e;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .edition-view-call-to-action.show-text .text > div h2 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.edition-view-call-to-action.show-apply .text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 900px) {
  .edition-view-call-to-action.show-apply .text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 66.66%;
  }
}
@media screen and (min-width: 900px) {
  .edition-view-call-to-action.show-apply.show-text .apply {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 33.33%;
  }
}
.edition-view-call-to-action.show-apply .apply {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
.edition-view-call-to-action.show-apply .apply > a {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: white;
  background-color: #58b74e;
  padding: 2rem;
}
.edition-view-call-to-action.show-apply .apply > a .title {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: white;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
  display: block;
  text-align: center;
  margin-bottom: 0 !important;
}
@media screen and (min-width: 1024px) {
  .edition-view-call-to-action.show-apply .apply > a .title {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.edition-view-call-to-action.show-apply .apply > a .deadline {
  margin: 2rem 0;
}
.edition-view-call-to-action.show-apply .apply > a .subtitle {
  display: block;
  text-align: center;
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: bold;
}
.edition-view-call-to-action.show-apply .apply > a .date {
  display: block;
  text-align: center;
}
.edition-view-call-to-action.show-apply .apply > a .button {
  display: inline-block;
  border: 1px solid white;
  color: white;
  text-align: center;
  border-radius: 3px;
  padding: 0.5rem 2rem;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
  margin: 0 auto;
}
.edition-view-call-to-action.show-apply .apply > a .button:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.edition-view-news {
  margin: 2rem 0;
}

.edition-view-videos {
  margin: 2rem 0;
}

.thumb-gallery {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.thumb-gallery li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33.33%;
  margin-bottom: 1rem;
  padding: 0 0.5rem;
}
.thumb-gallery li a {
  display: block;
}
.thumb-gallery li a > img {
  display: block;
  width: 100%;
}
.thumb-gallery li a.video {
  position: relative;
}
.thumb-gallery li a.video:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: #8ee88a;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}
.thumb-gallery li a.video:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("img/play-button.svg");
  background-size: 2.5rem;
  background-position: center;
  background-repeat: no-repeat;
}
.thumb-gallery li a.video:hover:before, .thumb-gallery li a.video:focus:before, .thumb-gallery li a.video:active:before {
  opacity: 0.35;
}

ul.tag-cloud {
  margin-bottom: 2rem;
  text-align: left;
}
ul.tag-cloud li {
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}
ul.tag-cloud li a {
  display: inline-block;
  background-color: #58b74e;
  color: white;
  padding: 0 1rem;
  border-radius: 2px;
  text-transform: lowercase;
  font-size: 0.9rem;
}

.tnt-lightbox-overlay {
  position: fixed;
  z-index: 10001;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.tnt-lightbox-overlay:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 2rem;
  height: 2rem;
  margin-left: -1rem;
  margin-top: -1rem;
  border: 4px solid #8ee88a;
  border-top: 4px solid transparent;
  border-radius: 50%;
  opacity: 0;
  -webkit-transform: translateX(50%) translateY(50%);
          transform: translateX(50%) translateY(50%);
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  -webkit-animation: spin 0.4s linear infinite;
          animation: spin 0.4s linear infinite;
}
.tnt-lightbox-overlay.hidden {
  display: none;
}
.tnt-lightbox-overlay.loading > div:after {
  -webkit-animation: none;
          animation: none;
}
.tnt-lightbox-overlay.loading:after {
  opacity: 1;
}
.tnt-lightbox-overlay > div {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: 0;
  left: 50%;
  width: 70%;
  height: 70vh;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 900px) {
  .tnt-lightbox-overlay > div {
    margin-top: 2rem;
  }
}
.tnt-lightbox-overlay > div > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-animation: fadein 1s;
          animation: fadein 1s;
}
.tnt-lightbox-overlay > div > iframe {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-animation: fadein 1s;
          animation: fadein 1s;
}

.tnt-lightbox-next,
.tnt-lightbox-prev,
.tnt-lightbox-close {
  position: absolute;
  z-index: 9999;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
}
.tnt-lightbox-next:after, .tnt-lightbox-next:before,
.tnt-lightbox-prev:after,
.tnt-lightbox-prev:before,
.tnt-lightbox-close:after,
.tnt-lightbox-close:before {
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
.tnt-lightbox-next:hover:after,
.tnt-lightbox-prev:hover:after,
.tnt-lightbox-close:hover:after {
  background-color: #58b74e;
}
.tnt-lightbox-next:hover:before,
.tnt-lightbox-prev:hover:before,
.tnt-lightbox-close:hover:before {
  background-color: #58b74e;
}

.tnt-lightbox-next,
.tnt-lightbox-prev {
  width: 1.3333333333rem;
}

.tnt-lightbox-next,
.tnt-lightbox-prev {
  top: 50%;
}
.tnt-lightbox-next:after, .tnt-lightbox-next:before,
.tnt-lightbox-prev:after,
.tnt-lightbox-prev:before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  height: 4px;
  background-color: #58b74e;
}

.tnt-lightbox-next {
  right: 2rem;
}
.tnt-lightbox-next:after, .tnt-lightbox-next:before {
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
}
.tnt-lightbox-next:after {
  -webkit-transform: rotate(-45deg) translateY(-2px);
          transform: rotate(-45deg) translateY(-2px);
}
.tnt-lightbox-next:before {
  -webkit-transform: rotate(45deg) translateY(2px);
          transform: rotate(45deg) translateY(2px);
}

.tnt-lightbox-prev {
  left: 2rem;
}
.tnt-lightbox-prev:after, .tnt-lightbox-prev:before {
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
}
.tnt-lightbox-prev:after {
  -webkit-transform: rotate(-45deg) translateY(2px);
          transform: rotate(-45deg) translateY(2px);
}
.tnt-lightbox-prev:before {
  -webkit-transform: rotate(45deg) translateY(-2px);
          transform: rotate(45deg) translateY(-2px);
}

.tnt-lightbox-close {
  top: 7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 900px) {
  .tnt-lightbox-close {
    top: 3rem;
  }
}
.tnt-lightbox-close:after, .tnt-lightbox-close:before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  height: 5px;
  background-color: #58b74e;
}
.tnt-lightbox-close:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.tnt-lightbox-close:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.richtext p {
  margin-bottom: 1rem;
}
.richtext p:last-child {
  margin-bottom: 0;
}
.richtext strong {
  font-weight: 700;
}
.richtext em {
  font-style: italic;
}
.richtext a {
  border-bottom: 1px solid #999;
}
.richtext ul, .richtext ol {
  margin-bottom: 0.6666666667rem;
  margin-left: 1.3333333333rem;
}
.richtext ul:last-child, .richtext ol:last-child {
  margin-bottom: 0;
}
.richtext ul li, .richtext ol li {
  padding-left: 0.6666666667rem;
  list-style: square;
}
.richtext ol li {
  list-style: decimal;
}

.page-intro {
  margin-bottom: 2rem;
}
.page-intro h1 {
  line-height: 1.3;
  letter-spacing: 1px;
  color: #58b74e;
  font-size: 2.5rem;
  font-family: "Roboto Slab";
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .page-intro h1 {
    font-size: 3rem;
    margin-bottom: 2rem;
  }
}
.page-intro p {
  font-size: 1.5rem;
  font-weight: 300;
}
@media screen and (min-width: 1450px) {
  .page-intro {
    margin-bottom: 3rem;
  }
}

.page-simple-text-block {
  overflow: hidden;
  margin-bottom: 2rem;
  background-color: white;
  padding: 2rem;
}
@media screen and (min-width: 900px) {
  .page-simple-text-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.page-simple-text-block h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: #343434;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .page-simple-text-block h2 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.page-simple-text-block h3 {
  color: #58b74e;
  font-size: 1.5rem;
  font-weight: 300;
  font-family: "Roboto Slab";
  margin-bottom: 1rem;
}
.page-simple-text-block > div > a {
  display: block;
}
.page-simple-text-block > div > a.video {
  position: relative;
}
.page-simple-text-block > div > a.video:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: #8ee88a;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}
.page-simple-text-block > div > a.video:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("img/play-button.svg");
  background-size: 4rem;
  background-position: center;
  background-repeat: no-repeat;
}
.page-simple-text-block > div > a.video:hover:before, .page-simple-text-block > div > a.video:focus:before, .page-simple-text-block > div > a.video:active:before {
  opacity: 0.35;
}
.page-simple-text-block > div > img,
.page-simple-text-block > div > a > img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 900px) {
  .page-simple-text-block > div > img,
  .page-simple-text-block > div > a > img {
    max-width: initial;
    width: 100%;
  }
}
@media screen and (min-width: 900px) {
  .page-simple-text-block > div {
    float: left;
  }
}
@media screen and (min-width: 900px) {
  .page-simple-text-block > div.text {
    width: 55%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.page-simple-text-block > div.photo {
  margin-top: 2rem;
}
.page-simple-text-block > div.photo .photo-description {
  margin-top: 1rem;
  text-align: center;
  color: #999;
  padding: 0 2rem;
  line-height: 1.3;
}
@media screen and (min-width: 900px) {
  .page-simple-text-block > div.photo {
    margin-top: 0;
    width: 45%;
    padding-left: 2rem;
  }
}
.page-simple-text-block > .video {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 2rem;
}
@media screen and (min-width: 1024px) {
  .page-simple-text-block > .video {
    width: 45%;
    max-width: initial;
    margin: 0;
  }
}
.page-simple-text-block > .video img {
  display: block;
  width: 100%;
}
.page-simple-text-block.small h3 {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: #343434;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .page-simple-text-block.small h3 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 900px) {
  .page-simple-text-block.small {
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
  }
}
@media screen and (min-width: 900px) {
  .page-simple-text-block.small > div.text {
    padding: 2rem;
    width: 65%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    background-color: white;
  }
}
@media screen and (min-width: 900px) {
  .page-simple-text-block.small {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .page-simple-text-block.small > div.photo {
    width: 35%;
  }
}

.page-simple-text-video-block {
  overflow: hidden;
  margin-bottom: 2rem;
  background-color: white;
  padding: 2rem;
}
@media screen and (min-width: 900px) {
  .page-simple-text-video-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.page-simple-text-video-block h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: #343434;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .page-simple-text-video-block h2 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.page-simple-text-video-block h3 {
  color: #58b74e;
  font-size: 1.5rem;
  font-weight: 300;
  font-family: "Roboto Slab";
  margin-bottom: 1rem;
}
@media screen and (min-width: 900px) {
  .page-simple-text-video-block > div.text {
    width: 55%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.page-simple-text-video-block > .video {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 2rem;
}
@media screen and (min-width: 900px) {
  .page-simple-text-video-block > .video {
    width: 45%;
    max-width: initial;
    padding-left: 2rem;
    margin: 0;
  }
}

.page-two-columns-text-block {
  background-color: white;
  overflow: hidden;
  margin-bottom: 2rem;
  padding: 2rem;
}
.page-two-columns-text-block h3 {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.3;
  color: #343434;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .page-two-columns-text-block h3 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.page-two-columns-text-block h4 {
  color: #777;
  font-size: 1.1rem;
  font-weight: 700;
  font-family: "Roboto Slab";
  margin-bottom: 1rem;
}
.page-two-columns-text-block > div {
  margin-bottom: 2rem;
}
.page-two-columns-text-block > div:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .page-two-columns-text-block > div {
    margin-bottom: 0;
    width: 50%;
    float: left;
  }
  .page-two-columns-text-block > div:nth-of-type(1) {
    padding-right: 1rem;
  }
  .page-two-columns-text-block > div:nth-of-type(2) {
    padding-left: 1rem;
  }
}

.page-highlight {
  color: white;
  background-color: #58b74e;
  text-align: right;
  margin-bottom: 2rem;
  padding: 2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.25rem;
  font-weight: 300;
}
@media screen and (min-width: 750px) {
  .page-highlight {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.page-highlight .media-wrap {
  margin: 3rem 0 0 0;
  width: 100%;
}
@media screen and (min-width: 750px) {
  .page-highlight .media-wrap {
    width: auto;
    margin: 0 0 0 3rem;
  }
}
.page-highlight .media-wrap a {
  display: block;
}
.page-highlight .media-wrap a.video {
  position: relative;
}
.page-highlight .media-wrap a.video:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: #8ee88a;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}
.page-highlight .media-wrap a.video:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("img/play-button.svg");
  background-size: 4rem;
  background-position: center;
  background-repeat: no-repeat;
}
.page-highlight .media-wrap a.video:hover:before, .page-highlight .media-wrap a.video:focus:before, .page-highlight .media-wrap a.video:active:before {
  opacity: 0.35;
}
.page-highlight .media-wrap img {
  display: block;
  width: 100%;
}
.page-highlight .content-wrap {
  width: 100%;
}
.page-highlight .content-wrap .page-highlight-title {
  display: block;
  font-size: 1.5rem;
  font-weight: 300;
  margin-bottom: 2rem;
  line-height: 1.3;
}
@media screen and (min-width: 750px) {
  .page-highlight {
    padding: 2rem 3rem;
  }
}
@media screen and (min-width: 1024px) {
  .page-highlight {
    padding: 3rem 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .page-highlight {
    padding-left: 75px;
  }
  .page-highlight:before {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    border-right: 75px solid transparent;
    border-bottom: 150px solid #eee;
  }
}

.embed-container {
  --video--width: 1920;
  --video--height: 1080;
  position: relative;
  padding-bottom: calc(var(--video--height) / var(--video--width) * 100%); /* 41.66666667% */
  overflow: hidden;
  max-width: 100%;
  background: black;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.photo-block img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-call-to-action-text-block {
  overflow: hidden;
  margin-bottom: 3rem;
}
.page-call-to-action-text-block h3 {
  color: #58b74e;
  font-size: 1.5rem;
  font-weight: 300;
  font-family: "Roboto Slab";
  margin-bottom: 1rem;
}
.page-call-to-action-text-block > div {
  float: right;
}
.page-call-to-action-text-block > div > img {
  display: block;
  width: 100%;
}
.page-call-to-action-text-block > div:first-child {
  width: 36%;
  padding-left: 2rem;
}
.page-call-to-action-text-block > div:first-child .call-to-action a {
  display: block;
  padding: 2rem;
  background-color: #58b74e;
  color: white;
  font-weight: 300;
}
.page-call-to-action-text-block > div:first-child .call-to-action a span.call-to-action-title {
  display: block;
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
.page-call-to-action-text-block > div:last-child {
  padding: 2rem;
  width: 64%;
  background-color: white;
}

.cookie-notice {
  position: fixed;
  z-index: 9999;
  right: 0;
  bottom: 0;
  left: 0;
  color: #ffffff;
  background-color: #58b74e;
}
.cookie-notice .cookie-notice-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 1rem 0;
}
.cookie-notice .cookie-notice-text {
  text-align: left;
}
.cookie-notice .cookie-notice-text a.disclaimer {
  border-bottom: 1px solid #ffffff;
  color: #ffffff;
}
.cookie-notice #cookie-notice-agree-btn {
  margin-left: 1rem;
  cursor: pointer;
}

.form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  background-color: white;
}
.form .form__header {
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 750px) {
  .form .form__header {
    margin-bottom: 2.5rem;
  }
}
@media screen and (min-width: 750px) {
  .form {
    padding: 0 3rem 0 3rem;
  }
}
@media screen and (min-width: 1024px) {
  .form {
    padding: 0 5rem 0 5rem;
  }
}
@media screen and (min-width: 1500px) {
  .form {
    padding: 0 9rem 0 9rem;
  }
}
.form form {
  display: block;
  width: 100%;
}
.form > .input-pair {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  padding: 0 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1150px) {
  .form {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .form > .input-pair {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-bottom: 0;
  }
}
.form fieldset {
  width: 100%;
  margin-bottom: 2rem;
}
.form fieldset.required label:after {
  content: "*";
}
.form fieldset.input-place {
  display: inline-block;
  width: 50%;
}
.form input,
.form textarea,
.form select {
  width: 100%;
  padding: 0.5rem 1rem 0.5rem 1.5rem;
  height: 3rem;
  border: 0;
  border-radius: 2rem;
  background-color: #f7f7f7;
  color: #303030;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
}
.form input:focus,
.form textarea:focus,
.form select:focus {
  color: #58b74e;
}
.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  background-image: url("img/arrow01.svg");
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 0.7111111111rem;
}
@media screen and (min-width: 650px) {
  .form select {
    background-size: 1.1111111111rem;
  }
}
.form textarea {
  resize: none;
  overflow: auto;
  height: calc(100% - 3rem);
}
.form .message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.form .message fieldset {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.form .submit {
  display: block;
  margin-left: auto;
}
.form .error {
  display: none;
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
}

.form .split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.form .split > fieldset,
.form .split > div {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form .split > fieldset:first-child,
.form .split > div:first-child {
  padding-left: 0;
}
.form .split > fieldset:last-child,
.form .split > div:last-child {
  padding-right: 0;
}
@media screen and (min-width: 750px) {
  .form .split > fieldset,
  .form .split > div {
    padding: 0 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.input-pair:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.radio__field {
  display: none;
}
.radio__field:checked + .radio__label {
  background-color: #58b74e;
  color: white;
}
.radio__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  padding: 0.5rem 1rem;
  background-color: #f7f7f7;
  color: black;
  cursor: pointer;
  white-space: nowrap;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
}

.radio-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.radio-list__item {
  margin-right: 1rem;
  margin-bottom: 0.4rem;
}

.styled-checkbox {
  position: relative;
  padding-left: 2rem;
  touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.styled-checkbox label {
  display: block;
  cursor: pointer;
  text-transform: initial;
  margin-bottom: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  line-height: 1.25;
  color: #bbb;
}
.styled-checkbox label:before,
.styled-checkbox label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1rem;
  height: 1rem;
}
.styled-checkbox label:before {
  background-color: #f7f7f7;
  vertical-align: middle;
}
.styled-checkbox label:after {
  -webkit-transform: scale(0.01);
          transform: scale(0.01);
  -webkit-transition: background-color 0.1s, -webkit-transform 0.15s;
  transition: background-color 0.1s, -webkit-transform 0.15s;
  transition: background-color 0.1s, transform 0.15s;
  transition: background-color 0.1s, transform 0.15s, -webkit-transform 0.15s;
}
.styled-checkbox input:checked + label:after {
  background-color: #58b74e;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.styled-checkbox input {
  display: none;
  opacity: 0;
}
.styled-checkbox label span {
  margin-left: 0.5rem;
  color: black;
}

.button {
  /*
      Config
   */
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  cursor: pointer;
  color: #ffffff;
  background-color: #58b74e;
  padding: 0.5rem 1.6rem;
  border-radius: 2rem;
  border: 2px solid #58b74e;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  -webkit-transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86), background-color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.button:hover {
  color: #303030;
  background-color: #ffffff;
}
.button--negative {
  color: #303030;
  background-color: transparent;
  border: 2px solid #58b74e;
}
.button--negative:hover {
  color: #ffffff;
  background-color: #58b74e;
}

.button--light {
  color: #ffffff;
  background-color: transparent;
  border: 2px solid #ffffff;
}
.button--light:hover {
  color: #303030;
  background-color: #ffffff;
}

@media screen and (min-width: 750px) {
  body.transparent-menu .button--header {
    color: #ffffff;
    border: 2px solid #ffffff;
  }
  body.transparent-menu .button--header:hover {
    color: #58b74e;
    background-color: #ffffff;
  }
}

.field-button {
  position: relative;
  display: block;
  width: 100%;
}
.field-button__field {
  position: relative;
}
.field-button__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: absolute;
  z-index: 1;
  right: 0;
  top: 50%;
  height: 2rem;
  width: 2rem;
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.field {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  display: block;
  width: 100%;
  padding: 0.3333333333rem 0;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #bbb;
  color: #303030;
  background-color: transparent;
  -webkit-transition: border-color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: border-color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.field::-ms-expand {
  display: none;
}
.field::-webkit-input-placeholder {
  color: #bbb;
}
.field::-moz-placeholder {
  color: #bbb;
}
.field:-ms-input-placeholder {
  color: #bbb;
}
.field::-ms-input-placeholder {
  color: #bbb;
}
.field::placeholder {
  color: #bbb;
}

.hamburger {
  /*
  	Config
   */
  display: block;
  width: 2.5rem;
  padding: 1.1428571429rem 0;
  cursor: pointer;
}
.hamburger__line {
  display: block;
  width: 100%;
  height: 3px;
  margin: 0.5rem 0;
  background-color: #ffffff;
  opacity: 1;
}
.hamburger__top-line {
  margin-top: 0;
}
body.open-menu .hamburger__top-line {
  opacity: 0;
}
.hamburger__bottom-line {
  margin-bottom: 0;
}
body.open-menu .hamburger__bottom-line {
  opacity: 0;
}

.icon-button {
  display: inline-block;
  padding: 2rem;
  border-radius: 50%;
  background-color: #58b74e;
  cursor: pointer;
}
.icon-button--light {
  background-color: #ffffff;
}

.icon-item {
  display: block;
  width: 100%;
  height: 12rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
          box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
  padding: 2.5rem 3rem;
}
.icon-item svg {
  display: block;
  width: 100%;
  height: 100%;
}

.icon-paragraph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.icon-paragraph__icon {
  display: inline-block;
  margin-right: 0.8rem;
}
@media screen and (min-width: 750px) {
  .icon-paragraph__icon {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
}
.icon-paragraph__paragraph {
  display: inline-block;
}

.icon {
  /*
      Config
   */
  display: block;
  width: 1.4285714286rem;
  height: 1.4285714286rem;
}
@media screen and (min-width: 650px) {
  .icon {
    width: 1.4285714286rem;
    height: 1.4285714286rem;
  }
}
.icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #58b74e;
}
.icon--light svg {
  fill: #ffffff;
}

.icon--dark svg {
  fill: #303030;
}

.icon--muted svg {
  fill: #bbb;
}

.icon--small {
  width: 0.7111111111rem;
  height: 0.7111111111rem;
}
@media screen and (min-width: 650px) {
  .icon--small {
    width: 1.1111111111rem;
    height: 1.1111111111rem;
  }
}

.icon--rotated-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.icon--mirrored {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.link-button {
  /*
      Config
   */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  cursor: pointer;
  color: #303030;
  padding: 0.5rem 0;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
}
@media screen and (min-width: 750px) {
  .link-button {
    padding: 0;
  }
}
.link-button--mirrored {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.link-button--muted {
  color: #bbb;
}

.link-button--download {
  width: 100%;
  border-bottom: 1px solid #bbb;
}

.link-button__icon {
  overflow: hidden;
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  margin-left: 2rem;
}
.link-button__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #58b74e;
  -webkit-transition: -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.link-button--mirrored .link-button__icon {
  margin-left: 0;
  margin-right: 2rem;
}
.link-button--mirrored .link-button__icon svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.link-button--muted .link-button__icon svg {
  fill: #bbb;
}
.link-button--download .link-button__icon {
  margin-left: auto;
  width: 1rem;
  height: 1rem;
}
.link-button--download .link-button__icon svg {
  fill: #303030;
}
@-webkit-keyframes hideAndAppearHorizontal {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  47% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  49% {
    -webkit-transform: translateX(100%) translateY(150%);
            transform: translateX(100%) translateY(150%);
  }
  50% {
    -webkit-transform: translateX(-100%) translateY(150%);
            transform: translateX(-100%) translateY(150%);
  }
  51% {
    -webkit-transform: translateX(-100%) translateY(0);
            transform: translateX(-100%) translateY(0);
  }
  53% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes hideAndAppearHorizontal {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  47% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  49% {
    -webkit-transform: translateX(100%) translateY(150%);
            transform: translateX(100%) translateY(150%);
  }
  50% {
    -webkit-transform: translateX(-100%) translateY(150%);
            transform: translateX(-100%) translateY(150%);
  }
  51% {
    -webkit-transform: translateX(-100%) translateY(0);
            transform: translateX(-100%) translateY(0);
  }
  53% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.link-button:hover .link-button__icon svg {
  -webkit-animation: hideAndAppearHorizontal 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
          animation: hideAndAppearHorizontal 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@-webkit-keyframes hideAndAppearVertical {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  47% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  49% {
    -webkit-transform: translateY(100%) translateX(150%);
            transform: translateY(100%) translateX(150%);
  }
  50% {
    -webkit-transform: translateY(-100%) translateX(150%);
            transform: translateY(-100%) translateX(150%);
  }
  51% {
    -webkit-transform: translateY(-100%) translateX(0);
            transform: translateY(-100%) translateX(0);
  }
  53% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes hideAndAppearVertical {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  47% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  49% {
    -webkit-transform: translateY(100%) translateX(150%);
            transform: translateY(100%) translateX(150%);
  }
  50% {
    -webkit-transform: translateY(-100%) translateX(150%);
            transform: translateY(-100%) translateX(150%);
  }
  51% {
    -webkit-transform: translateY(-100%) translateX(0);
            transform: translateY(-100%) translateX(0);
  }
  53% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes hideAndAppearHorizontalReverse {
  0% {
    -webkit-transform: scaleX(-1) translateX(0);
            transform: scaleX(-1) translateX(0);
  }
  47% {
    -webkit-transform: scaleX(-1) translateX(100%);
            transform: scaleX(-1) translateX(100%);
  }
  49% {
    -webkit-transform: scaleX(-1) translateX(100%) translateY(150%);
            transform: scaleX(-1) translateX(100%) translateY(150%);
  }
  50% {
    -webkit-transform: scaleX(-1) translateX(-100%) translateY(150%);
            transform: scaleX(-1) translateX(-100%) translateY(150%);
  }
  51% {
    -webkit-transform: scaleX(-1) translateX(-100%) translateY(0);
            transform: scaleX(-1) translateX(-100%) translateY(0);
  }
  53% {
    -webkit-transform: scaleX(-1) translateX(-100%);
            transform: scaleX(-1) translateX(-100%);
  }
  100% {
    -webkit-transform: scaleX(-1) translateX(0);
            transform: scaleX(-1) translateX(0);
  }
}
@keyframes hideAndAppearHorizontalReverse {
  0% {
    -webkit-transform: scaleX(-1) translateX(0);
            transform: scaleX(-1) translateX(0);
  }
  47% {
    -webkit-transform: scaleX(-1) translateX(100%);
            transform: scaleX(-1) translateX(100%);
  }
  49% {
    -webkit-transform: scaleX(-1) translateX(100%) translateY(150%);
            transform: scaleX(-1) translateX(100%) translateY(150%);
  }
  50% {
    -webkit-transform: scaleX(-1) translateX(-100%) translateY(150%);
            transform: scaleX(-1) translateX(-100%) translateY(150%);
  }
  51% {
    -webkit-transform: scaleX(-1) translateX(-100%) translateY(0);
            transform: scaleX(-1) translateX(-100%) translateY(0);
  }
  53% {
    -webkit-transform: scaleX(-1) translateX(-100%);
            transform: scaleX(-1) translateX(-100%);
  }
  100% {
    -webkit-transform: scaleX(-1) translateX(0);
            transform: scaleX(-1) translateX(0);
  }
}
.link-button--mirrored:hover .link-button__icon svg {
  -webkit-animation: hideAndAppearHorizontalReverse 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
          animation: hideAndAppearHorizontalReverse 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.link-button--download:hover .link-button__icon svg {
  -webkit-animation: hideAndAppearVertical 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
          animation: hideAndAppearVertical 1s 1 cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.logo {
  /*
      Config
   */
  position: relative;
  display: block;
  width: 8rem;
  -webkit-transform: translateX(-2rem);
          transform: translateX(-2rem);
}
@media screen and (min-width: 750px) {
  .logo {
    width: 12rem;
  }
}
.logo img {
  display: block;
  width: 100%;
}

.paragraph {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
}
.paragraph--large {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  letter-spacing: 0;
  line-height: 1.6;
}

.paragraph--strong {
  font-weight: 500;
}

.photo {
  display: block;
  width: 100%;
}
.photo img {
  display: block;
  width: 100%;
}
.photo--contain img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  height: clamp(8rem, 20vh, 14rem);
}

.photo__credit {
  color: #bbb;
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.primary-nav-item {
  /*
      Config
   */
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  color: #303030;
  -webkit-transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.primary-nav-item:hover {
  color: #58b74e;
}
.primary-nav-item--active {
  color: #58b74e;
}

.primary-nav-item--light {
  color: #ffffff;
}
.primary-nav-item--light:hover {
  color: #58b74e;
}

@media screen and (min-width: 750px) {
  body.transparent-menu .primary-nav-item {
    color: #ffffff;
  }
  body.transparent-menu .primary-nav-item:hover {
    color: #58b74e;
  }
}
.primary-nav-item--muted {
  color: #bbb;
}
.primary-nav-item--muted:hover {
  color: #bbb;
}

.primary-nav-item--dark {
  color: #303030;
}
.primary-nav-item--dark:hover {
  color: #58b74e;
}
@media screen and (min-width: 750px) {
  .primary-nav-item--dark {
    color: #303030;
  }
  .primary-nav-item--dark:hover {
    color: #58b74e;
  }
}
body.transparent-menu .primary-nav-item--dark {
  color: #303030;
}
body.transparent-menu .primary-nav-item--dark:hover {
  color: #58b74e;
}
@media screen and (min-width: 750px) {
  body.transparent-menu .primary-nav-item--dark {
    color: #303030;
  }
  body.transparent-menu .primary-nav-item--dark:hover {
    color: #58b74e;
  }
}

.secondary-nav-item {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  position: relative;
  display: inline-block;
  color: #ffffff;
}

.select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid #bbb;
  width: 100%;
}
.select--dark {
  border-bottom: 1px solid #303030;
}

@media screen and (min-width: 750px) {
  .select {
    width: 100%;
  }
}
.select__selection {
  position: relative;
  padding-top: 0.3333333333rem;
  padding-bottom: 0.3333333333rem;
  padding-right: 2rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  white-space: nowrap;
  color: #bbb;
  cursor: pointer;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}
.select--dark .select__selection {
  color: #303030;
}
.select__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: absolute;
  z-index: 1;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.select--open .select__icon {
  -webkit-transform: translateY(-50%) scaleY(-1);
          transform: translateY(-50%) scaleY(-1);
}
.select__container {
  color: #303030;
  background: transparent;
  max-height: 0;
  width: 100%;
  opacity: 0;
  -webkit-transition: all 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: all 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  overflow: hidden;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.select--open .select__container {
  max-height: 12rem;
  opacity: 1;
  overflow-y: scroll;
}
.select__container::-webkit-scrollbar {
  width: 1px;
  background: transparent;
  border-radius: 0;
}
.select__container::-webkit-scrollbar-thumb {
  background: #bbb;
  min-height: 2rem;
  border-radius: 0;
}
.select--open .select__container::-webkit-scrollbar-thumb {
  background: #303030;
}
.select__option {
  cursor: pointer;
}
.select__option--hidden {
  display: none;
}
.select__default-option {
  cursor: pointer;
  display: block;
}
.select--default .select__default-option {
  padding-top: 0;
  padding-bottom: 0;
  display: none;
}
.select__radio {
  display: none;
}
.select__label {
  padding-top: 0.3333333333rem;
  padding-bottom: 0.3333333333rem;
  cursor: pointer;
  width: 100%;
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  color: #303030;
}

.sub-nav-item {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  color: #bbb;
  -webkit-transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: color 150ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.sub-nav-item:hover {
  color: #303030;
}
.sub-nav-item--active {
  color: #303030;
}

.title {
  /*
  	Config
   */
  display: inline-block;
  color: #303030;
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.03rem;
  font-size: 2.3rem;
  line-height: 1.25;
}
@media screen and (min-width: 750px) {
  .title {
    font-size: 2.7rem;
  }
}
.title--secondary {
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.02rem;
  line-height: 1.4;
  font-size: 1.65rem;
}
@media screen and (min-width: 750px) {
  .title--secondary {
    font-size: 1.8rem;
  }
}

.title--tertiary {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  letter-spacing: 0;
  line-height: 1.6;
}

.title--quaternary {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.17rem;
  letter-spacing: 0.07rem;
}

.title--quinary {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
}

.title--highlight {
  color: #58b74e;
}

.title--light {
  color: #ffffff;
}

.title--muted {
  color: #bbb;
}

.tnt-credit {
  /*
  	Config
   */
  display: block;
  width: 4.5rem;
}
.tnt-credit svg {
  display: block;
  width: 100%;
  height: auto;
}
.tnt-credit svg > * {
  fill: #bbb;
}

.wysiwyg {
  /*
  	Config
   */
}
.wysiwyg p, .wysiwyg ul, .wysiwyg ol {
  margin-bottom: 2rem;
}
.wysiwyg p:last-child, .wysiwyg ul:last-child, .wysiwyg ol:last-child {
  margin-bottom: 0;
}
.wysiwyg ul, .wysiwyg ol {
  margin-left: 1.3333333333rem;
}
.wysiwyg ul li,
.wysiwyg ol li {
  padding-left: 0.6666666667rem;
  list-style: square;
}
.wysiwyg ul li:last-child,
.wysiwyg ol li:last-child {
  margin-bottom: 0;
}
.wysiwyg a {
  border-bottom: 1px solid #303030;
}
.wysiwyg strong {
  font-weight: bold;
}
.wysiwyg em {
  font-style: italic;
}

.button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.button-group__item {
  margin-bottom: 1rem;
  margin-right: 1rem;
}
.button-group--stretch .button-group__item {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.button-group--stretch .button-group__item > * {
  width: 100%;
}

.card-grid {
  display: block;
  width: 100%;
}
.card-grid__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2rem;
}
.card-grid__main {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: 1fr;
  width: 100%;
}
@media screen and (min-width: 650px) {
  .card-grid__main {
    grid-gap: 3rem 2.5rem;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  }
}
@media screen and (min-width: 750px) {
  .card-grid__main {
    grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr));
  }
}
.card-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.card-grid__footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6rem;
}

.card {
  position: relative;
  display: block;
  width: 100%;
  cursor: pointer;
  -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
          box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
}
.card:hover .card__photo .photo, .card:active .card__photo .photo, .card:focus .card__photo .photo {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.card--no-hover {
  cursor: auto;
}
.card--no-hover:hover .card__photo .photo, .card--no-hover:active .card__photo .photo, .card--no-hover:focus .card__photo .photo {
  -webkit-transform: none;
          transform: none;
}

.card__photo {
  display: block;
  position: relative;
  overflow: hidden;
}
.card__photo .photo {
  -webkit-transition: -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.card__tag {
  position: absolute;
  top: 1.3333333333rem;
  right: 1.3333333333rem;
  z-index: 2;
}
.card__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2rem 2rem 2rem 2rem;
}
.card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
.card__title {
  margin-bottom: 1rem;
}
.carousel {
  position: relative;
  display: block;
  width: 100%;
}
.carousel__slides {
  position: relative;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.carousel__item {
  float: left;
  width: 25%;
}
.carousel__buttons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1rem;
}
@media screen and (min-width: 650px) {
  .carousel__buttons {
    position: absolute;
    top: -3rem;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.carousel__buttons > * {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 2rem;
  cursor: pointer;
  background-image: url("img/arrow.svg");
  background-size: 2.5rem 2.5rem;
}
.carousel__buttons > *:last-child {
  margin-right: 0;
}
.carousel__prev-button {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.content-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
.content-block__header {
  width: 100%;
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 750px) {
  .content-block__header {
    margin-bottom: 2.5rem;
  }
}
.content-block__header--compact {
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 750px) {
  .content-block--even-columns .content-block__header {
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-block--even-columns .content-block__header {
    padding: 0 4.5rem;
  }
}
@media screen and (min-width: 1500px) {
  .content-block--even-columns .content-block__header {
    padding: 0 9rem;
  }
}
.content-block__header > * {
  display: block;
  margin-bottom: 0.6666666667rem;
}
.content-block__header > *:first-child {
  margin-top: 0;
}
.content-block__header > *:last-child {
  margin-bottom: 0;
}
.content-block__column {
  width: 100%;
  margin-bottom: 2rem;
}
.content-block__column > * {
  margin: 3rem 0;
}
.content-block__column > *:first-child {
  margin-top: 0;
}
.content-block__column > *:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .content-block__column > * {
    margin: 4rem 0;
  }
}
@media screen and (min-width: 750px) {
  .content-block__column {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 750px) {
  .content-block__column-left {
    width: 50%;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 750px) {
  .content-block--reverse-order .content-block__column-left {
    padding: 0 0 0 1rem;
  }
}
.content-block__column-right {
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .content-block__column-right {
    width: 50%;
    padding: 0 1rem 0 3rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-block__column-right {
    padding: 0 5rem 0 5rem;
  }
}
@media screen and (min-width: 1500px) {
  .content-block__column-right {
    padding: 0 9rem 0 9rem;
  }
}
@media screen and (min-width: 750px) {
  .content-block--uneven-columns .content-block__column-right {
    width: 70%;
  }
}
.content-block--reverse-order .content-block__column-right {
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .content-block--reverse-order .content-block__column-right {
    padding: 0 3rem 0 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-block--reverse-order .content-block__column-right {
    padding: 0 5rem 0 5rem;
  }
}
@media screen and (min-width: 1500px) {
  .content-block--reverse-order .content-block__column-right {
    padding: 0 9rem 0 9rem;
  }
}
.content-block--reverse-order {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 750px) {
  .content-block--reverse-order {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 750px) {
  .content-block--even-columns .content-block__column-left {
    width: 50%;
    padding: 0 0 0 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-block--even-columns .content-block__column-left {
    padding: 0 4.5rem 0 4.5rem;
  }
}
@media screen and (min-width: 1500px) {
  .content-block--even-columns .content-block__column-left {
    padding: 0 7.5rem 0 9rem;
  }
}

@media screen and (min-width: 750px) {
  .content-block--uneven-columns .content-block__column-left {
    width: 30%;
    padding: 0 0 0 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-block--uneven-columns .content-block__column-left {
    padding: 0 4.5rem 0 4.5rem;
  }
}
@media screen and (min-width: 1500px) {
  .content-block--uneven-columns .content-block__column-left {
    padding: 0 7.5rem 0 9rem;
  }
}

.content-block--v-align-center .content-block__column-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.filter-grid {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 750px) {
  .filter-grid {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.filter-grid__item {
  width: clamp(8rem, 45%, 24rem);
  margin: 1rem 0;
}
.filter-grid__item:nth-child(even) {
  margin-left: auto;
}
@media screen and (min-width: 750px) {
  .filter-grid__item {
    width: clamp(12rem, 20%, 20rem);
    margin: 0 2rem;
  }
  .filter-grid__item:nth-child(even) {
    margin-left: 2rem;
  }
  .filter-grid__item:last-child {
    margin-right: -2rem;
  }
}
.filter-grid__item--align-end {
  margin-left: auto !important;
}

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.footer-nav__item {
  position: relative;
}
.footer-nav__item:after {
  content: "";
  display: inline-block;
  margin: 1rem 0;
  height: 1px;
  width: 100%;
  background-color: #bbb;
}
.footer-nav__item:last-child:after {
  display: none;
}

.icon-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.icon-group__item {
  margin: 0 0.6666666667rem;
}
@media screen and (min-width: 650px) {
  .icon-group__item {
    margin: 0 0.4444444444rem;
  }
}
.icon-group__item:first-child {
  margin-left: 0;
}
.icon-group__item:last-child {
  margin-right: 0;
}
.icon-group--alternate-direction .icon-group__item {
  margin: 1rem 0;
}
.icon-group--alternate-direction .icon-group__item:first-child {
  margin-top: 0;
}
.icon-group--alternate-direction .icon-group__item:last-child {
  margin-bottom: 0;
}
.icon-group--alternate-direction {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

.icon-item-card-grid {
  display: block;
  width: 100%;
}
.icon-item-card-grid__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4rem;
}
.icon-item-card-grid__main {
  width: 100%;
  display: grid;
  grid-gap: 3rem;
}
@media screen and (min-width: 650px) {
  .icon-item-card-grid__main {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1150px) {
  .icon-item-card-grid__main {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  }
}
.icon-item-card-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.icon-item-card-grid__footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6rem;
}

.icon-item-card {
  position: relative;
  display: block;
  width: 100%;
}
.icon-item-card__photo {
  display: block;
  position: relative;
}
.icon-item-card__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2rem;
}
.icon-item-card__body {
  text-align: center;
}
.icon-item-card__highlight {
  font-family: "Roboto Slab", serif;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.03rem;
  font-size: 2.3rem;
  line-height: 1.25;
  color: #58b74e;
}
@media screen and (min-width: 750px) {
  .icon-item-card__highlight {
    font-size: 2.7rem;
  }
}

.map {
  position: relative;
  display: block;
  width: 100%;
}
.map__header {
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 750px) {
  .map__header {
    margin-bottom: 2.5rem;
  }
}
.map__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 750px) {
  .map__wrap {
    height: 40rem;
    height: 66.66vh;
    overflow: hidden;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.map__main {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  height: 40rem;
  height: 66.66vh;
}
.map__entry {
  display: none;
}
.map__side {
  margin-top: 2rem;
}
@media screen and (min-width: 750px) {
  .map__side {
    margin-top: 0;
    margin-left: 3rem;
    padding-right: 1rem;
    height: 100%;
    overflow-y: auto;
    width: clamp(22.5vw, 50%, 45vw);
  }
}
.map--hide-results .map__side {
  display: none;
  margin-top: 0;
}
@media screen and (min-width: 750px) {
  .map--hide-results .map__side {
    display: block;
    width: 0;
    margin-left: 0;
    padding-right: 0;
    overflow-y: hidden;
  }
}
.map__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.5rem;
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.map__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  background-color: #58b74e;
  color: #ffffff;
  cursor: pointer;
}

.map-popup {
  position: relative;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.04rem;
  letter-spacing: 0;
  line-height: 1.6;
  color: #ffffff;
}
.map-popup .map-popup__wrapper {
  background-color: rgba(88, 183, 78, 0.66);
  padding: 1rem 1.3333333333rem;
  padding-right: 3rem;
}
.map-popup .map-popup__wrapper .map-popup__close {
  color: #ffffff;
  position: absolute;
  top: 0;
  right: 0;
  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;
  width: 3rem;
  height: 3rem;
  font-size: 1.5rem;
  background-color: transparent;
  cursor: pointer;
}
.map-popup .map-popup-title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.17rem;
  letter-spacing: 0.07rem;
  color: #303030;
  margin-bottom: 0.5rem;
}
.map-popup a:hover {
  color: #58b74e;
}

.popup-bubble {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  overflow-y: auto;
  max-height: 16rem;
}

/* The parent of the bubble. A zero-height div at the top of the tip. */
.popup-bubble-anchor {
  /* Position the div a fixed distance above the tip. */
  position: absolute;
  width: 100%;
  bottom: 1rem;
  left: 0;
}

/* This element draws the tip. */
.popup-bubble-anchor::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  /* Center the tip horizontally. */
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  /* The tip is a https://css-tricks.com/snippets/css/css-triangle/ */
  width: 0;
  height: 0;
  /* The tip is 8px high, and 12px wide. */
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 1rem solid rgba(88, 183, 78, 0.66);
}

/* JavaScript will position this div at the bottom of the popup tip. */
.popup-container {
  cursor: auto;
  height: 0;
  position: absolute;
  width: 20rem;
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
}

.media-card-list {
  display: block;
  width: 100%;
}
.media-card-list__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2rem;
}
.media-card-list__row {
  margin-bottom: 2rem;
}
.media-card-list__main {
  display: grid;
  grid-template-columns: 1;
  grid-gap: 2rem;
  width: 100%;
}
.media-card-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.media-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: 100%;
  cursor: pointer;
  -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
          box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
}
.media-card:hover .media-card__photo .photo, .media-card:active .media-card__photo .photo, .media-card:focus .media-card__photo .photo {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.media-card__photo {
  position: relative;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.media-card__photo .photo {
  height: 100%;
  -webkit-transition: -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 300ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.media-card__photo img {
  -o-object-fit: cover;
     object-fit: cover;
  width: clamp(4rem, 22ch, 10rem);
  height: 100%;
}
.media-card__tag {
  position: absolute;
  top: 1.3333333333rem;
  right: 1.3333333333rem;
  z-index: 2;
}
.media-card__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  padding: 1rem 1.3333333333rem;
}
.media-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
.media-card__title {
  margin-bottom: 1rem;
}
.member-card-grid {
  display: block;
  width: 100%;
}
.member-card-grid__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3rem;
}
.member-card-grid__main {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: 1fr;
  width: 100%;
}
.member-card-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 2rem;
  border-bottom: 1px solid #303030;
}
.member-card-grid__item--hide {
  display: none;
}
.member-card-grid__empty {
  display: none;
  border-bottom: none;
}
.member-card-grid--empty .member-card-grid__empty {
  display: block;
}
.member-card-grid__footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 3rem;
}

.member-card {
  position: relative;
  display: block;
  width: 100%;
}
.member-card__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.member-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1150px) {
  .member-card__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.member-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.member-card__footer {
  margin-top: 0.6666666667rem;
}

.message {
  /*
  	Config
   */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.3333333333rem 2rem;
  background-color: #58b74e;
}
.message__text {
  margin-right: 2rem;
  color: #ffffff;
}
.message__text a {
  color: #ffffff;
  border-bottom: 1px solid #ffffff;
}
.message__footer {
  margin-top: 0.5rem;
}
@media screen and (min-width: 750px) {
  .message__footer {
    margin-top: 0;
  }
}

.pagination {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pagination__item {
  margin: 0;
}
.pagination__item a {
  position: relative;
  height: 2rem;
  margin: 0 0.5rem;
  border-radius: 50%;
  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;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  color: #303030;
}
.pagination__item a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: solid 2px type-menu-item;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 450ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: -webkit-transform 450ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 450ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: transform 450ms cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 450ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.pagination__item a:hover:before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
.pagination__item--active a:before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.pagination__arrow {
  margin: 0 1rem;
}
.pagination__arrow:first-child {
  margin-left: 0;
}
.pagination__arrow:last-child {
  margin-right: 0;
}
.pagination__arrow-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.paragraph-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
}
@media screen and (min-width: 750px) {
  .paragraph-block__content {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%;
  }
}
@media screen and (min-width: 1024px) {
  .paragraph-block__content {
    -ms-flex-preferred-size: 60%;
        flex-basis: 60%;
  }
}
@media screen and (min-width: 1150px) {
  .paragraph-block__content {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
.paragraph-block__suptitle {
  margin-bottom: 0.3333333333rem;
}
.paragraph-block__cta {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  margin-left: auto;
  margin-top: 1rem;
}
@media screen and (min-width: 750px) {
  .paragraph-block__cta {
    margin-top: 0;
  }
}

.primary-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media screen and (min-width: 750px) {
  .primary-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.primary-nav--footer {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-height: 15rem;
}
@media screen and (min-width: 750px) {
  .primary-nav--footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.primary-nav__item {
  margin: 1rem 0;
}
@media screen and (min-width: 750px) {
  .primary-nav__item {
    margin: 0 2rem;
  }
}
.primary-nav--alternate-direction .primary-nav__item {
  margin: 0.5rem 0;
}
.primary-nav--footer .primary-nav__item {
  margin: 1rem 0;
}
.primary-nav--footer .primary-nav__item:first-child {
  margin-top: 1rem;
}
.primary-nav--footer .primary-nav__item:last-child {
  margin-bottom: 1rem;
}
@media screen and (min-width: 750px) {
  .primary-nav--footer .primary-nav__item {
    margin: 0 2rem;
  }
  .primary-nav--footer .primary-nav__item:first-child {
    margin-top: 0;
    margin-left: 0;
  }
  .primary-nav--footer .primary-nav__item:last-child {
    margin-right: 0;
    margin-bottom: 0;
  }
}
.primary-nav__item:first-child {
  margin-top: 0;
  margin-left: 0;
}
.primary-nav__item:last-child {
  margin-right: 0;
  margin-bottom: 0;
}
.primary-nav--alternate-direction {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.quote {
  position: relative;
  display: block;
  width: 100%;
  -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
          box-shadow: 0 0.5rem 2rem 0 rgba(187, 187, 187, 0.2);
}
.quote__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2rem 3rem;
}
@media screen and (min-width: 650px) {
  .quote__inner-wrap {
    padding: 5rem 10rem;
  }
}
.quote__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}
.secondary-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px) {
  .secondary-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.secondary-nav__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}
.secondary-nav__item:after {
  content: "";
  display: inline-block;
  width: 1px;
  margin: 0 1rem;
  height: 1.3333333333rem;
  background-color: #ffffff;
}
.secondary-nav__item:last-child:after {
  display: none;
}

.sub-nav {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 750px) {
  .sub-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.3333333333rem 1.3333333333rem;
  }
  .sub-nav::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}
.sub-nav__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sub-nav__separator {
  height: 1rem;
}
@media screen and (min-width: 750px) {
  .sub-nav__separator {
    display: block;
    width: 1px;
    height: 1.3333333333rem;
    background-color: #58b74e;
  }
}

.text-block {
  display: block;
  width: 100%;
}
.text-block__header {
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 750px) {
  .text-block__header {
    margin-bottom: 2.5rem;
  }
}
.text-block__header--compact {
  margin-bottom: 1.6rem;
}
.text-block__header > * {
  display: block;
  margin-bottom: 0.6666666667rem;
}
.text-block__header > *:first-child {
  margin-top: 0;
}
.text-block__header > *:last-child {
  margin-bottom: 0;
}
.text-block__content > * {
  margin: 2rem 0;
}
.text-block__content > *:first-child {
  margin-top: 0;
}
.text-block__content > *:last-child {
  margin-bottom: 0;
}
.text-block__footer {
  margin-top: 1.3333333333rem;
}

.wrap {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
}
@media screen and (min-width: 1024px) {
  .wrap {
    padding: 0 6%;
  }
}
@media screen and (min-width: 1500px) {
  .wrap {
    padding: 0 9%;
  }
}
@media screen and (min-width: 650px) {
  .wrap--small {
    padding: 0 10%;
  }
}
@media screen and (min-width: 1500px) {
  .wrap--small {
    padding: 0 15%;
  }
}

@media screen and (min-width: 650px) {
  .wrap--extra-small {
    padding: 0 16.6666666667%;
  }
}
@media screen and (min-width: 1500px) {
  .wrap--extra-small {
    padding: 0 25%;
  }
}

.content-section {
  display: block;
  width: 100%;
  margin-bottom: 3rem;
}
@media screen and (min-width: 750px) {
  .content-section {
    margin-bottom: 6rem;
  }
}
@media screen and (min-width: 1024px) {
  .content-section {
    margin-bottom: 8rem;
  }
}
.content-section:first-of-type {
  margin-top: 2rem;
}
@media screen and (min-width: 750px) {
  .content-section:first-of-type {
    margin-top: 3rem;
  }
}
.content-section--compact {
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .content-section--compact {
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 1375px) {
  body.has-intro .content-section:first-of-type {
    margin-top: -15vh;
  }
}
body.has-intro .content-section .content-section__wrap {
  z-index: 0;
}
@media screen and (min-width: 1375px) {
  body.has-intro .content-section .content-section__wrap::after {
    position: absolute;
    content: "";
    top: -4rem;
    left: -5rem;
    right: -5rem;
    bottom: -8rem;
    z-index: -1;
    background-color: #ffffff;
  }
}
.content-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1rem;
}
@media screen and (min-width: 750px) {
  .content-section__header {
    margin-bottom: 2rem;
  }
}
.content-section__header > * {
  display: block;
  margin-bottom: 0.6666666667rem;
}
.content-section__header > *:first-child {
  margin-top: 0;
}
.content-section__header > *:last-child {
  margin-bottom: 0;
}
.content-section__wrap {
  position: relative;
}
.content-section--alternate .content-section__wrap {
  padding: 2.5rem 0;
}
@media screen and (min-width: 750px) {
  .content-section--alternate .content-section__wrap {
    padding: 6rem 0;
  }
}
.content-section__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.content-section__sidebar {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.content-section__sidebar:first-child {
  margin-bottom: 3rem;
}
.content-section__sidebar:last-child {
  margin-top: 3rem;
}
.content-section__sidebar > * {
  margin-bottom: 3rem;
}
.content-section__sidebar > *:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .content-section__sidebar {
    -ms-flex-preferred-size: 33.33%;
        flex-basis: 33.33%;
  }
  .content-section__sidebar:first-child {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    padding-right: 5rem;
    margin-bottom: 0;
  }
  .content-section__sidebar:last-child {
    margin-top: 0;
    padding-left: 5rem;
  }
}
.content-section__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.content-section__content:only-child {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.content-section__content > * {
  margin-bottom: 4rem;
}
.content-section__content > *:last-child {
  margin-bottom: 0;
}

.footer {
  display: block;
  width: 100%;
  padding: 3rem 0 1.6rem 0;
  background-color: #f7f7f7;
}
@media screen and (min-width: 650px) {
  .footer {
    padding: 6rem 0 1.6rem 0;
  }
}
.footer__content {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 3rem 6rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .footer__content {
    grid-template-columns: 0.5fr 1.5fr;
    margin-bottom: 6rem;
  }
}
@media screen and (min-width: 1280px) {
  .footer__content {
    grid-template-columns: 0.5fr 2fr;
    grid-gap: 3rem 9rem;
  }
}
.footer__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__column-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .footer__column-header {
    margin-bottom: 3rem;
  }
}
.footer__column-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.footer__column-footer {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__column-footer-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-top: 1rem;
}
.footer__column-footer-row-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 2rem;
  max-height: 2rem;
}
@media screen and (min-width: 750px) {
  .footer__column-footer-row-item {
    height: 3rem;
    max-height: 3rem;
  }
}
.footer__column-footer-row-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  height: 100%;
}
.footer__column-footer-row-item a svg {
  display: block;
  height: 100%;
}
.footer__column-footer-row-item:first-child {
  margin-left: 0;
}
.footer__column-footer-row-item:last-child {
  margin-right: 0;
}
.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 2rem;
  border-top: 1px solid #bbb;
}
.footer__bottom-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footer__bottom-links-item {
  width: 100%;
  margin-bottom: 0.6666666667rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1.04rem;
  letter-spacing: 0.06rem;
  color: #bbb;
}
@media screen and (min-width: 750px) {
  .footer__bottom-links-item {
    width: auto;
    margin: 0 1rem;
  }
}
.footer__bottom-links-item:first-child {
  margin-left: 0;
}
.footer__bottom-links-item:last-child {
  margin-right: 0;
}
.footer__bottom-credits {
  margin-top: 1.6rem;
}
@media screen and (min-width: 750px) {
  .footer__bottom-credits {
    margin-top: 0;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  background: #58b74e;
}
@media screen and (min-width: 750px) {
  .header {
    z-index: unset;
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    background: #ffffff;
  }
}
.header--transparent {
  background: transparent;
}

@media screen and (min-width: 750px) {
  body.transparent-menu .header {
    background: transparent;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
  }
}
.header--fixed {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
}

.header__secondary-outer-wrap {
  position: fixed;
  z-index: 2;
  bottom: 0;
  height: 5rem;
  right: 0;
  left: 0;
  display: none;
  background: #58b74e;
  padding: 0.6666666667rem 0;
}
body.open-menu .header__secondary-outer-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-self: center;
}
@media screen and (min-width: 750px) {
  .header__secondary-outer-wrap {
    position: relative;
    z-index: unset;
    bottom: unset;
    height: 3rem;
    right: unset;
    left: unset;
    display: block;
  }
}
.header__secondary-inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__primary-inner-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px) {
  .header__primary-inner-wrap {
    padding: 1.3333333333rem 0;
    height: 6rem;
  }
}
@media screen and (min-width: 750px) {
  .header__logo {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
  }
}
.header__nav {
  position: fixed;
  z-index: 1;
  top: 5rem;
  right: 0;
  left: 0;
  bottom: 0;
  display: none;
  text-align: right;
  padding: 1.3333333333rem 2rem;
  padding-bottom: 5rem;
  background-color: #f7f7f7;
}
body.open-menu .header__nav {
  display: block;
}
@media screen and (min-width: 750px) {
  .header__nav {
    position: relative;
    top: auto;
    bottom: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 2rem;
    margin-left: auto;
    background-color: transparent;
  }
}
.header__hamburger {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
}
@media screen and (min-width: 750px) {
  .header__hamburger {
    display: none;
  }
}

.sub-header {
  width: 100%;
  display: block;
  background-color: #f7f7f7;
}
@media screen and (min-width: 750px) {
  body.has-intro .sub-header {
    position: absolute;
    z-index: 10;
    top: 9rem;
    left: 0;
    right: 0;
  }
}
.sub-header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4rem;
  padding: 1.3333333333rem 0;
}
@media screen and (min-width: 750px) {
  .sub-header__wrap {
    padding: 1rem 0;
  }
}
/*# sourceMappingURL=style.css.map */
