/*
                  |  o
 _  _  _    _   __|      __,   __,          _   ,_
/ |/ |/ |  |/  /  |  |  /  |  /  |  |   |  |/  /  |  |   |
  |  |  |_/|__/\_/|_/|_/\_/|_/\_/|_/ \_/|_/|__/   |_/ \_/|/
                                 |\                     /|
                                 |/                     \|
*/
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-Bold.eot');
  src: url('../fonts/Figtree-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/Figtree-Bold.woff2') format('woff2'), url('../fonts/Figtree-Bold.woff') format('woff'), url('../fonts/Figtree-Bold.ttf') format('truetype'), url('../fonts/Figtree-Bold.svg#Figtree-Bold') format('svg');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-SemiBold.eot');
  src: url('../fonts/Figtree-SemiBold.eot?#iefix') format('embedded-opentype'), url('../fonts/Figtree-SemiBold.woff2') format('woff2'), url('../fonts/Figtree-SemiBold.woff') format('woff'), url('../fonts/Figtree-SemiBold.ttf') format('truetype'), url('../fonts/Figtree-SemiBold.svg#Figtree-SemiBold') format('svg');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-Regular.eot');
  src: url('../fonts/Figtree-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/Figtree-Regular.woff2') format('woff2'), url('../fonts/Figtree-Regular.woff') format('woff'), url('../fonts/Figtree-Regular.ttf') format('truetype'), url('../fonts/Figtree-Regular.svg#Figtree-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Figtree';
  src: url('../fonts/Figtree-Italic.eot');
  src: url('../fonts/Figtree-Italic.eot?#iefix') format('embedded-opentype'), url('../fonts/Figtree-Italic.woff2') format('woff2'), url('../fonts/Figtree-Italic.woff') format('woff'), url('../fonts/Figtree-Italic.ttf') format('truetype'), url('../fonts/Figtree-Italic.svg#Figtree-Italic') format('svg');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Fira Code';
  src: url('../fonts/FiraCode-Regular.eot');
  src: url('../fonts/FiraCode-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/FiraCode-Regular.woff2') format('woff2'), url('../fonts/FiraCode-Regular.woff') format('woff'), url('../fonts/FiraCode-Regular.ttf') format('truetype'), url('../fonts/FiraCode-Regular.svg#FiraCode-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Fira Code';
  src: url('../fonts/FiraCode-Bold.eot');
  src: url('../fonts/FiraCode-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/FiraCode-Bold.woff2') format('woff2'), url('../fonts/FiraCode-Bold.woff') format('woff'), url('../fonts/FiraCode-Bold.ttf') format('truetype'), url('../fonts/FiraCode-Bold.svg#FiraCode-Bold') format('svg');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scrollbar-gutter: stable;
}
a {
  cursor: pointer;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: #1A565F;
  color: #ffffff;
  padding: 0.5em 1em;
  font-family: "Fira Code", monospace;
  font-size: 0.9rem;
  text-decoration: none;
}
.skip-link:focus {
  left: 0;
}
.hidden {
  display: none !important;
}
body {
  font-family: "Figtree", sans-serif;
  color: #1A565F;
  line-height: 1.5;
}
/*
 
   _                               
  | |                 |            
  | |     _   __,   __|   _   ,_   
  |/ \   |/  /  |  /  |  |/  /  |  
  |   |_/|__/\_/|_/\_/|_/|__/   |_/
                                   
                                   
 
*/
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 0 30px 0;
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}
@media only screen and (min-width: 361px) {
  header {
    width: 95%;
  }
}
header #logo {
  width: 200px;
  margin-top: 5px;
}
@media only screen and (min-width: 651px) {
  header #logo {
    width: 250px;
    margin-top: 0px;
  }
}
header #logo img {
  width: 100%;
  height: auto;
}
header nav {
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-right: 80px;
  margin-top: 25px;
}
@media only screen and (min-width: 1401px) {
  header nav {
    margin-right: 0;
  }
}
header nav a {
  display: none;
  font-family: "Fira Code", monospace;
  font-size: 3.5vw;
  letter-spacing: -0.5px;
  text-decoration: none;
  color: #65C1CF;
  white-space: nowrap;
  cursor: pointer;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  header nav a {
    display: inline;
    font-size: 1.85vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  header nav a {
    display: inline;
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  header nav a {
    display: inline;
    font-size: 1.1rem;
  }
}
header nav a:hover {
  color: #1A565F;
}
header nav a[aria-current="page"] {
  text-decoration: none;
}
/*

                                                 |
   _  _  _    _   _  _       ,        ,_   _|_  _   _  _  _
  / |/ |/ |  |/  / |/ |  |  |         |/    |  |/  / |/ |/ |
    |  |  |_/|__/  |  |_/ \_/|/       |__/  |_/|__/  |  |  |_/
                      |    /|
                      |    \|

*/
#menuIcon {
  display: none;
}
.menuIconLabel {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  margin-top: 50px;
  margin-right: 20px;
  z-index: 1002;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.menuIconLabel .menuIconImage {
  display: block;
  width: 25px;
  z-index: 10;
}
.menuIconLabel .menuIconImage::before,
.menuIconLabel .menuIconImage::after,
.menuIconLabel .menuIconImage span {
  background-color: #ffffff;
  content: '';
  display: block;
  height: 3px;
  margin: 4px 0;
  transition: all 0.2s ease-in-out;
}
.menu-shape-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  pointer-events: none;
  z-index: 900;
}
#menuShape {
  position: fixed;
  top: 0;
  right: 0;
  margin-top: 50px;
  margin-right: 20px;
  width: 50px;
  height: 50px;
  background-image: url('../img/shape_menu.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform-origin: center center;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  opacity: 0.98;
}
#menuShape.expanded {
  transform: scale(var(--menu-scale));
}
#menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s 0s, visibility 0s 0.2s;
  color: #ffffff;
}
#menu-overlay ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
#menu-overlay li a {
  text-decoration: none;
  color: #ffffff;
}
#menu-overlay li a:hover {
  color: #1A565F;
}
#menu-overlay li a:focus,
#menu-overlay li a:focus-visible {
  outline: none;
}
#menu-overlay.menu-grid #menu-logo {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 50px;
}
@media only screen and (min-width: 361px) {
  #menu-overlay.menu-grid #menu-logo {
    width: 95%;
  }
}
#menu-overlay.menu-grid #menu-logo img {
  width: 200px;
  height: auto;
  display: none;
}
@media only screen and (min-width: 651px) {
  #menu-overlay.menu-grid #menu-logo img {
    width: 250px;
  }
}
#menu-overlay.menu-grid > ul {
  counter-reset: menu-section;
  padding: 50px 0 50px;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
}
@media only screen and (min-width: 361px) {
  #menu-overlay.menu-grid > ul {
    width: 95%;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  #menu-overlay.menu-grid > ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 2em 3em;
  }
}
@media only screen and (min-width: 769px) {
  #menu-overlay.menu-grid > ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5em 4em;
  }
}
#menu-overlay.menu-grid > ul > li {
  counter-increment: menu-section;
  border-left: 1px solid #ffffff;
  padding-left: 1.2em;
}
#menu-overlay.menu-grid > ul > li::before {
  content: counter(menu-section, decimal-leading-zero);
  display: block;
  font-family: "Fira Code", monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 0;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  #menu-overlay.menu-grid > ul > li::before {
    font-size: 0.7rem;
  }
}
@media only screen and (min-width: 769px) {
  #menu-overlay.menu-grid > ul > li::before {
    font-size: 0.75rem;
  }
}
#menu-overlay.menu-grid > ul > li > a {
  display: block;
  font-family: "Figtree", sans-serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.03em;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  #menu-overlay.menu-grid > ul > li > a {
    font-size: 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  #menu-overlay.menu-grid > ul > li > a {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  #menu-overlay.menu-grid > ul > li > a {
    font-size: 1.4rem;
  }
}
#menu-overlay.menu-grid > ul > li > ul {
  margin-top: 0.4em;
}
#menu-overlay.menu-grid > ul > li > ul > li {
  font-family: "Figtree", sans-serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.03em;
  margin-top: 0.4em;
  opacity: 0.85;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  #menu-overlay.menu-grid > ul > li > ul > li {
    font-size: 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  #menu-overlay.menu-grid > ul > li > ul > li {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  #menu-overlay.menu-grid > ul > li > ul > li {
    font-size: 1.4rem;
  }
}
#menu-overlay.menu-grid > ul > li > ul > li > a::before {
  content: "–";
  display: inline-block;
  width: 1em;
}
#menu-overlay.menu-grid > ul > li > ul > li > details > summary {
  list-style: none;
  cursor: pointer;
}
#menu-overlay.menu-grid > ul > li > ul > li > details > summary::-webkit-details-marker {
  display: none;
}
#menu-overlay.menu-grid > ul > li > ul > li > details > summary::before {
  content: "+";
  display: inline-block;
  width: 1em;
}
#menu-overlay.menu-grid > ul > li > ul > li > details > summary:hover {
  color: #1A565F;
}
#menu-overlay.menu-grid > ul > li > ul > li > details[open] > summary::before {
  content: "–";
}
#menu-overlay.menu-grid > ul > li > ul ul {
  margin-top: 0.2em;
  padding-left: 1.05em;
}
#menu-overlay.menu-grid > ul > li > ul ul > li {
  font-family: "Fira Code", monospace;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 0.4em;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  #menu-overlay.menu-grid > ul > li > ul ul > li {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  #menu-overlay.menu-grid > ul > li > ul ul > li {
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  #menu-overlay.menu-grid > ul > li > ul ul > li {
    font-size: 1.1rem;
  }
}
#menuIcon:checked ~ .menuIconLabel .menuIconImage::before {
  transform: translateY(7px) rotate(135deg);
}
#menuIcon:checked ~ .menuIconLabel .menuIconImage span {
  transform: scale(0);
}
#menuIcon:checked ~ .menuIconLabel .menuIconImage::after {
  transform: translateY(-7px) rotate(-135deg);
}
#menuIcon:checked ~ #menu-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s 0.3s, visibility 0s 0.3s;
}
/*

    ___
   |  _|           _
   | |_ ___  ___ _| |_ ___  ___
   |  _|  _|| . |_   _| -_||  _|
   |_| |___||___| |_| |___||_|


*/
footer.columns-block {
  margin: 50px auto 0;
  margin-bottom: 0.5em;
  width: 90%;
  padding-top: 20px;
  border-top: 1px solid #1A565F;
  padding-bottom: 1em;
}
@media only screen and (min-width: 361px) {
  footer.columns-block {
    margin-bottom: 0;
    padding-bottom: 100px;
  }
}
@media only screen and (min-width: 361px) {
  footer.columns-block {
    width: 95%;
  }
}
footer.columns-block .columns-col + .columns-col {
  margin-top: 1.5em;
}
footer.columns-block .columns-col {
  padding-right: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .columns-col {
    padding-right: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .columns-col {
    padding-right: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  footer.columns-block .columns-col {
    padding-right: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  footer.columns-block .columns-col {
    padding-right: 19px;
  }
}
footer.columns-block .columns-col:last-child {
  padding-right: 0;
}
footer.columns-block .columns-col:last-child .text-block {
  padding-right: 0;
}
footer.columns-block .columns-col a {
  text-decoration: none;
  color: inherit;
}
footer.columns-block .columns-col a:hover {
  color: #65C1CF;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .columns-col:nth-child(2) {
    order: 3;
    grid-column: 1 / span 1;
    margin-top: 2em;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .columns-col:nth-child(2) {
    order: 2;
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  footer.columns-block .columns-col:nth-child(2) {
    order: 0;
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .columns-col:nth-child(3) {
    order: 4;
    grid-column: 1 / span 1;
    margin-top: 2em;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .columns-col:nth-child(3) {
    order: 4;
    grid-column: span 1;
    margin-top: 2em;
  }
}
@media only screen and (min-width: 769px) {
  footer.columns-block .columns-col:nth-child(3) {
    order: 0;
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .columns-col:nth-child(4) {
    order: 2;
    margin-top: 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .columns-col:nth-child(4) {
    order: 3;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  footer.columns-block .columns-col:nth-child(4) {
    order: 0;
    margin-top: 0;
  }
}
footer.columns-block .footer-credits {
  font-family: "Fira Code", monospace;
  font-size: 14px;
  letter-spacing: -0.5px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .footer-credits {
    font-size: 2.75vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .footer-credits {
    font-size: 1.85vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  footer.columns-block .footer-credits {
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  footer.columns-block .footer-credits {
    font-size: 1.1rem;
  }
}
footer.columns-block .footer-credits svg {
  height: 1.1em;
  width: auto;
  vertical-align: baseline;
  position: relative;
  top: 0.25em;
}
footer.columns-block .footer-credits svg.icon-heart {
  height: 0.9em;
  top: 0.08em;
}
footer.columns-block .footer-nav {
  list-style: none;
  font-family: "Fira Code", monospace;
  font-size: 14px;
  letter-spacing: -0.5px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  footer.columns-block .footer-nav {
    font-size: 2.75vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  footer.columns-block .footer-nav {
    font-size: 1.85vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  footer.columns-block .footer-nav {
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  footer.columns-block .footer-nav {
    font-size: 1.1rem;
  }
}
footer.columns-block .footer-nav li {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
footer.columns-block .footer-nav a {
  text-decoration: none;
  color: inherit;
}
footer.columns-block .footer-nav a:hover {
  color: #65C1CF;
}
@media (prefers-reduced-motion: reduce) {
  .menuIconImage::before,
  .menuIconImage::after,
  .menuIconImage span {
    transition: none;
  }
  #menuShape {
    transition: none;
  }
  #menu-overlay {
    transition: none;
  }
}
.grid {
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}
@media only screen and (min-width: 361px) {
  .grid {
    width: 95%;
  }
}
.grid-container {
  display: grid;
  line-height: 0;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.grid-item {
  position: relative;
  margin: 0;
  /*
 
                  
                  
  _|_  _      _|_ 
   |  |/  /\/  |  
   |_/|__/ /\_/|_/
                  
                  
 
*/
  /*
 
       _                    _                  
      | | o     |          | |                 
   ,  | |     __|   _   ,  | |     __          
  / \_|/  |  /  |  |/  / \_|/ \   /  \_|  |  |_
   \/ |__/|_/\_/|_/|__/ \/ |   |_/\__/  \/ \/  
                                               
                                               
 
*/
  /*


       o     |
           __|   _   __
  |  |_|  /  |  |/  /  \_
   \/  |_/\_/|_/|__/\__/



*/
}
.grid-item-image {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.grid-item-text {
  position: relative;
  width: 100%;
  background-color: #edf4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.grid-item-text .text-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6vw 6.8vw 6vw 6.2vw;
  max-height: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-text .text-content {
    padding: 3.6vw 3.6vw 3.6vw 3.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-text .text-content {
    padding: 2.4vw 2.6vw 2.4vw 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-text .text-content {
    padding: 1.8vw 2vw 1.8vw 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-text .text-content {
    padding: 1.4rem 1.8rem 1.4rem 1.6rem;
  }
}
.grid-item-text .text-content p {
  margin-bottom: 1em;
  font-family: "Fira Code", monospace;
  font-size: 5.4vw;
  letter-spacing: -0.5px;
  line-height: 1.4;
  color: #1A565F;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 18;
  line-clamp: 18;
  hyphens: auto;
  hyphenate-limit-chars: 6 2 2;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-text .text-content p {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-text .text-content p {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-text .text-content p {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-text .text-content p {
    font-size: 1.05rem;
  }
}
.grid-item-text .text-content p strong {
  font-weight: bold;
}
.grid-item-text .text-content p:last-child {
  margin-bottom: 0;
}
.grid-item-text .text-content.large p {
  font-family: "Figtree", sans-serif;
  margin-top: 0;
  font-size: 8.5vw;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 600;
  hyphens: auto;
  hyphenate-limit-chars: 4 2 2;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-text .text-content.large p {
    font-size: 4.4vw;
    margin-top: 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-text .text-content.large p {
    font-size: 2.8vw;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-text .text-content.large p {
    font-size: 2vw;
    margin-top: -2px;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-text .text-content.large p {
    font-size: 1.55rem;
    margin-top: -4px;
  }
}
.grid-item-text .text-content.extralarge p {
  font-family: "Figtree", sans-serif;
  margin-top: 0;
  font-size: 11vw;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 600;
  hyphens: auto;
  hyphenate-limit-chars: 4 2 2;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-text .text-content.extralarge p {
    font-size: 5.4vw;
    margin-top: 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-text .text-content.extralarge p {
    font-size: 3.6vw;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-text .text-content.extralarge p {
    font-size: 2.6vw;
    margin-top: -2px;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-text .text-content.extralarge p {
    font-size: 2rem;
    margin-top: -4px;
  }
}
.grid-item-text .text-content h2,
.grid-item-text .text-content h3,
.grid-item-text .text-content h4 {
  margin-bottom: 0.5em;
  font-weight: bold;
}
.grid-item-slideshow {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.grid-item-slideshow .slideshow-track {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grid-item-slideshow .slideshow-track img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  pointer-events: none;
}
.grid-item-slideshow .slideshow-track img.active {
  opacity: 1;
  z-index: 1;
}
.grid-item-slideshow .slideshow-dots {
  position: absolute;
  bottom: 4vw;
  right: 4vw;
  display: flex;
  gap: 7px;
  z-index: 10;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-slideshow .slideshow-dots {
    bottom: 1.8vw;
    right: 1.8vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-slideshow .slideshow-dots {
    bottom: 1.4vw;
    right: 1.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-slideshow .slideshow-dots {
    bottom: 1.2vw;
    right: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-slideshow .slideshow-dots {
    bottom: 1rem;
    right: 1rem;
  }
}
.grid-item-slideshow .slideshow-dots .dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #54A6B1;
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0.5;
}
.grid-item-slideshow .slideshow-dots .dot:hover {
  opacity: 1;
  transform: scale(1.2);
}
.grid-item-slideshow .slideshow-dots .dot.active {
  opacity: 1;
}
.grid-item-slideshow .grid-headline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 2;
}
.grid-item-slideshow .grid-headline h1 {
  pointer-events: auto;
}
.grid-item-video {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.grid-item-video .video-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.grid-item-video .video-control {
  position: absolute;
  bottom: 6vw;
  right: 6vw;
  width: 40px;
  height: 40px;
  background-color: #65C1CF;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 2;
  opacity: 0.9;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-video .video-control {
    bottom: 4vw;
    right: 4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-video .video-control {
    bottom: 3.4vw;
    right: 3.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-video .video-control {
    bottom: 2.8vw;
    right: 2.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-video .video-control {
    bottom: 1.9rem;
    right: 1.9rem;
  }
}
.grid-item-video .video-control:hover {
  transform: scale(1.1);
}
.grid-item-video .video-control svg {
  width: 20px;
  height: 20px;
  color: #ffffff;
}
.grid-item-video .video-control .pause-icon {
  display: none;
}
.grid-item-video .video-control.playing {
  opacity: 0;
}
.grid-item-video .video-control.playing .play-icon {
  display: none;
}
.grid-item-video .video-control.playing .pause-icon {
  display: block;
}
.grid-item-video:hover .video-control {
  opacity: 0.9;
}
.grid-item-video:hover .video-progress {
  opacity: 0.9;
}
.grid-item-video .video-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  z-index: 10;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-item-video .video-progress {
    height: 8px;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-item-video .video-progress {
    height: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-item-video .video-progress {
    height: 12px;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-item-video .video-progress {
    height: 14px;
  }
}
.grid-item-video .video-progress .video-progress-bar {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.grid-item-video .video-progress .video-progress-bar:hover .video-progress-fill {
  background-color: #65C1CF;
}
.grid-item-video .video-progress .video-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #65C1CF;
  transition: width 0.1s ease, background-color 0.3s ease;
}
/*
 
   _                      _                 
  | |                 |  | | o              
  | |     _   __,   __|  | |     _  _    _  
  |/ \   |/  /  |  /  |  |/  |  / |/ |  |/  
  |   |_/|__/\_/|_/\_/|_/|__/|_/  |  |_/|__/
                                            
                                            
 
*/
.grid-headline h1 {
  position: absolute;
  top: 8vw;
  left: 4vw;
  right: 1rem;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  z-index: 1;
  line-height: 1;
  font-size: 6.5vw;
  font-family: "Figtree", sans-serif;
  letter-spacing: 0.5px;
  font-weight: 600;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-headline h1 {
    font-size: 4.4vw;
    top: 4.2vw;
    left: 1.8vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-headline h1 {
    font-size: 2.8vw;
    top: 3vw;
    left: 1.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-headline h1 {
    font-size: 2vw;
    top: 2.4vw;
    left: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-headline h1 {
    font-size: 1.55rem;
    top: 1.7rem;
    left: 1rem;
  }
}
.grid-headline h1:empty {
  display: none;
}
.grid-headline h1 span {
  position: relative;
  display: block;
  padding: 0.4rem 0.6rem;
  line-height: 1;
  color: #ffffff;
  max-width: 100%;
  margin-top: -0.65rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.grid-headline h1 span::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #54A6B1;
  z-index: -1;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-headline h1 span {
    padding: 0.35rem 0.5rem 0.35rem 0.45rem;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-headline h1 span {
    padding: 0.35rem 0.55rem 0.35rem 0.45rem;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-headline h1 span {
    padding: 0.4rem 0.65rem 0.4rem 0.5rem;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-headline h1 span {
    padding: 0.4rem 0.8rem 0.4rem 0.5rem;
  }
}
.grid-headline h1.large {
  font-size: 10vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-headline h1.large {
    font-size: 7.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-headline h1.large {
    font-size: 4.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-headline h1.large {
    font-size: 3.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-headline h1.large {
    font-size: 2.8rem;
  }
}
/*
 
                                     
                     o               
   __   __,    _ _|_     __   _  _   
  /    /  |  |/ \_|  |  /  \_/ |/ |  
  \___/\_/|_/|__/ |_/|_/\__/   |  |_/
            /|                       
            \|                       
 
*/
a.grid-item {
  display: block;
  text-decoration: none;
  color: inherit;
}
.grid-caption {
  color: #3f9eaa;
  padding: 8px 10px 1em 0;
  font-size: 4vw;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: "Fira Code", monospace;
  font-weight: normal;
}
.grid-caption span {
  white-space: nowrap;
}
.grid-caption a {
  color: inherit;
  text-decoration: none;
}
.grid-caption a:hover {
  color: #1A565F;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .grid-caption {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .grid-caption {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .grid-caption {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .grid-caption {
    font-size: 0.95rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .grid-item-slideshow .slideshow-track img {
    transition: none;
  }
  .grid-item-slideshow .slideshow-dots .dot {
    transition: none;
  }
  .grid-item-video .video-control {
    transition: none;
  }
  .grid-item-video .video-progress-fill {
    transition: none;
  }
}
.grid1-item1 .grid-item-image,
.grid1-item6 .grid-item-image,
.grid1-item1 .grid-item-text,
.grid1-item6 .grid-item-text,
.grid1-item1 .grid-item-slideshow,
.grid1-item6 .grid-item-slideshow,
.grid1-item1 .grid-item-video,
.grid1-item6 .grid-item-video {
  padding-top: 78.723%;
}
.grid1-item2 .grid-item-image,
.grid1-item4 .grid-item-image,
.grid1-item7 .grid-item-image,
.grid1-item8 .grid-item-image,
.grid1-item10 .grid-item-image,
.grid1-item2 .grid-item-text,
.grid1-item4 .grid-item-text,
.grid1-item7 .grid-item-text,
.grid1-item8 .grid-item-text,
.grid1-item10 .grid-item-text,
.grid1-item2 .grid-item-slideshow,
.grid1-item4 .grid-item-slideshow,
.grid1-item7 .grid-item-slideshow,
.grid1-item8 .grid-item-slideshow,
.grid1-item10 .grid-item-slideshow,
.grid1-item2 .grid-item-video,
.grid1-item4 .grid-item-video,
.grid1-item7 .grid-item-video,
.grid1-item8 .grid-item-video,
.grid1-item10 .grid-item-video {
  padding-top: 163.2%;
}
.grid1-item3 .grid-item-image,
.grid1-item5 .grid-item-image,
.grid1-item9 .grid-item-image,
.grid1-item12 .grid-item-image,
.grid1-item3 .grid-item-text,
.grid1-item5 .grid-item-text,
.grid1-item9 .grid-item-text,
.grid1-item12 .grid-item-text,
.grid1-item3 .grid-item-slideshow,
.grid1-item5 .grid-item-slideshow,
.grid1-item9 .grid-item-slideshow,
.grid1-item12 .grid-item-slideshow,
.grid1-item3 .grid-item-video,
.grid1-item5 .grid-item-video,
.grid1-item9 .grid-item-video,
.grid1-item12 .grid-item-video {
  padding-top: 73.913%;
}
.grid1-item11 .grid-item-image,
.grid1-item11 .grid-item-text,
.grid1-item11 .grid-item-slideshow,
.grid1-item11 .grid-item-video {
  padding-top: 35.7%;
}
@media (min-width: 361px) {
  .grid1-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid1-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid1-item2 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid1-caption2 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid1-item3 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid1-caption3 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid1-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid1-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid1-item5 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid1-caption5 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid1-item6 {
    grid-column: 1 / 3;
    grid-row: 11 / 14;
  }
  .grid1-caption6 {
    grid-column: 1 / 3;
    grid-row: 14 / 15;
  }
  .grid1-item7 {
    grid-column: 1 / 2;
    grid-row: 15 / 18;
  }
  .grid1-caption7 {
    grid-column: 1 / 2;
    grid-row: 18 / 19;
  }
  .grid1-item8 {
    grid-column: 2 / 3;
    grid-row: 17 / 20;
  }
  .grid1-caption8 {
    grid-column: 2 / 3;
    grid-row: 20 / 21;
  }
  .grid1-item9 {
    grid-column: 2 / 3;
    grid-row: 15 / 16;
  }
  .grid1-caption9 {
    grid-column: 2 / 3;
    grid-row: 16 / 17;
  }
  .grid1-item10 {
    grid-column: 1 / 2;
    grid-row: 19 / 22;
  }
  .grid1-caption10 {
    grid-column: 1 / 2;
    grid-row: 22 / 23;
  }
  .grid1-item11 {
    grid-column: 1 / 3;
    grid-row: 23 / 24;
  }
  .grid1-caption11 {
    grid-column: 1 / 3;
    grid-row: 24 / 25;
  }
  .grid1-item12 {
    grid-column: 2 / 3;
    grid-row: 21 / 22;
  }
  .grid1-caption12 {
    grid-column: 2 / 3;
    grid-row: 22 / 23;
  }
}
@media (min-width: 521px) {
  .grid1-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid1-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid1-item2 {
    grid-column: 3 / 4;
    grid-row: 3 / 6;
  }
  .grid1-caption2 {
    grid-column: 3 / 4;
    grid-row: 6 / 7;
  }
  .grid1-item3 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
  }
  .grid1-caption3 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
  }
  .grid1-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid1-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid1-item5 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid1-caption5 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid1-item6 {
    grid-column: 2 / 4;
    grid-row: 7 / 10;
  }
  .grid1-caption6 {
    grid-column: 2 / 4;
    grid-row: 10 / 11;
  }
  .grid1-item7 {
    grid-column: 3 / 4;
    grid-row: 11 / 14;
  }
  .grid1-caption7 {
    grid-column: 3 / 4;
    grid-row: 14 / 15;
  }
  .grid1-item8 {
    grid-column: 1 / 2;
    grid-row: 13 / 16;
  }
  .grid1-caption8 {
    grid-column: 1 / 2;
    grid-row: 16 / 17;
  }
  .grid1-item9 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid1-caption9 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid1-item10 {
    grid-column: 2 / 3;
    grid-row: 13 / 16;
  }
  .grid1-caption10 {
    grid-column: 2 / 3;
    grid-row: 16 / 17;
  }
  .grid1-item11 {
    grid-column: 1 / 3;
    grid-row: 11 / 12;
  }
  .grid1-caption11 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid1-item12 {
    grid-column: 3 / 4;
    grid-row: 15 / 16;
  }
  .grid1-caption12 {
    grid-column: 3 / 4;
    grid-row: 16 / 17;
  }
}
@media (min-width: 769px) {
  .grid1-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid1-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid1-item2 {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
  }
  .grid1-caption2 {
    grid-column: 3 / 4;
    grid-row: 4 / 5;
  }
  .grid1-item3 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  .grid1-caption3 {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }
  .grid1-item4 {
    grid-column: 4 / 5;
    grid-row: 3 / 6;
  }
  .grid1-caption4 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
  .grid1-item5 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid1-caption5 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid1-item6 {
    grid-column: 2 / 4;
    grid-row: 5 / 8;
  }
  .grid1-caption6 {
    grid-column: 2 / 4;
    grid-row: 8 / 9;
  }
  .grid1-item7 {
    grid-column: 1 / 2;
    grid-row: 7 / 10;
  }
  .grid1-caption7 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid1-item8 {
    grid-column: 4 / 5;
    grid-row: 7 / 10;
  }
  .grid1-caption8 {
    grid-column: 4 / 5;
    grid-row: 10 / 11;
  }
  .grid1-item9 {
    grid-column: 2 / 3;
    grid-row: 9 / 10;
  }
  .grid1-caption9 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid1-item10 {
    grid-column: 3 / 4;
    grid-row: 9 / 12;
  }
  .grid1-caption10 {
    grid-column: 3 / 4;
    grid-row: 12 / 13;
  }
  .grid1-item11 {
    grid-column: 1 / 3;
    grid-row: 11 / 12;
  }
  .grid1-caption11 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid1-item12 {
    grid-column: 4 / 5;
    grid-row: 11 / 12;
  }
  .grid1-caption12 {
    grid-column: 4 / 5;
    grid-row: 12 / 13;
  }
}
/*
 
                         __ 
             o     |    /  )
   __,  ,_       __|      / 
  /  | /  |  |  /  |     /  
  \_/|/   |_/|_/\_/|_/  /___
    /|                      
    \|                      
 
*/
.grid2-item1 .grid-item-image,
.grid2-item6 .grid-item-image,
.grid2-item1 .grid-item-text,
.grid2-item6 .grid-item-text,
.grid2-item1 .grid-item-slideshow,
.grid2-item6 .grid-item-slideshow,
.grid2-item1 .grid-item-video,
.grid2-item6 .grid-item-video {
  padding-top: 78.723%;
}
.grid2-item2 .grid-item-image,
.grid2-item4 .grid-item-image,
.grid2-item7 .grid-item-image,
.grid2-item8 .grid-item-image,
.grid2-item10 .grid-item-image,
.grid2-item2 .grid-item-text,
.grid2-item4 .grid-item-text,
.grid2-item7 .grid-item-text,
.grid2-item8 .grid-item-text,
.grid2-item10 .grid-item-text,
.grid2-item2 .grid-item-slideshow,
.grid2-item4 .grid-item-slideshow,
.grid2-item7 .grid-item-slideshow,
.grid2-item8 .grid-item-slideshow,
.grid2-item10 .grid-item-slideshow,
.grid2-item2 .grid-item-video,
.grid2-item4 .grid-item-video,
.grid2-item7 .grid-item-video,
.grid2-item8 .grid-item-video,
.grid2-item10 .grid-item-video {
  padding-top: 163.2%;
}
.grid2-item3 .grid-item-image,
.grid2-item5 .grid-item-image,
.grid2-item9 .grid-item-image,
.grid2-item12 .grid-item-image,
.grid2-item3 .grid-item-text,
.grid2-item5 .grid-item-text,
.grid2-item9 .grid-item-text,
.grid2-item12 .grid-item-text,
.grid2-item3 .grid-item-slideshow,
.grid2-item5 .grid-item-slideshow,
.grid2-item9 .grid-item-slideshow,
.grid2-item12 .grid-item-slideshow,
.grid2-item3 .grid-item-video,
.grid2-item5 .grid-item-video,
.grid2-item9 .grid-item-video,
.grid2-item12 .grid-item-video {
  padding-top: 73.913%;
}
.grid2-item11 .grid-item-image,
.grid2-item11 .grid-item-text,
.grid2-item11 .grid-item-slideshow,
.grid2-item11 .grid-item-video {
  padding-top: 35.7%;
}
@media (min-width: 361px) {
  .grid2-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid2-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid2-item2 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid2-caption2 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid2-item3 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid2-caption3 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid2-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid2-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid2-item5 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid2-caption5 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid2-item6 {
    grid-column: 1 / 3;
    grid-row: 11 / 14;
  }
  .grid2-caption6 {
    grid-column: 1 / 3;
    grid-row: 14 / 15;
  }
  .grid2-item7 {
    grid-column: 1 / 2;
    grid-row: 15 / 18;
  }
  .grid2-caption7 {
    grid-column: 1 / 2;
    grid-row: 18 / 19;
  }
  .grid2-item8 {
    grid-column: 2 / 3;
    grid-row: 17 / 20;
  }
  .grid2-caption8 {
    grid-column: 2 / 3;
    grid-row: 20 / 21;
  }
  .grid2-item9 {
    grid-column: 2 / 3;
    grid-row: 15 / 16;
  }
  .grid2-caption9 {
    grid-column: 2 / 3;
    grid-row: 16 / 17;
  }
  .grid2-item10 {
    grid-column: 1 / 2;
    grid-row: 19 / 22;
  }
  .grid2-caption10 {
    grid-column: 1 / 2;
    grid-row: 22 / 23;
  }
  .grid2-item11 {
    grid-column: 1 / 3;
    grid-row: 23 / 24;
  }
  .grid2-caption11 {
    grid-column: 1 / 3;
    grid-row: 24 / 25;
  }
  .grid2-item12 {
    grid-column: 2 / 3;
    grid-row: 21 / 22;
  }
  .grid2-caption12 {
    grid-column: 2 / 3;
    grid-row: 22 / 23;
  }
}
@media (min-width: 521px) {
  .grid2-item1 {
    grid-column: 2 / 4;
    grid-row: 1 / 4;
  }
  .grid2-caption1 {
    grid-column: 2 / 4;
    grid-row: 4 / 5;
  }
  .grid2-item2 {
    grid-column: 1 / 2;
    grid-row: 3 / 6;
  }
  .grid2-caption2 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid2-item3 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .grid2-caption3 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .grid2-item4 {
    grid-column: 3 / 4;
    grid-row: 5 / 8;
  }
  .grid2-caption4 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
  .grid2-item5 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid2-caption5 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid2-item6 {
    grid-column: 1 / 3;
    grid-row: 7 / 10;
  }
  .grid2-caption6 {
    grid-column: 1 / 3;
    grid-row: 10 / 11;
  }
  .grid2-item7 {
    grid-column: 1 / 2;
    grid-row: 11 / 14;
  }
  .grid2-caption7 {
    grid-column: 1 / 2;
    grid-row: 14 / 15;
  }
  .grid2-item8 {
    grid-column: 3 / 4;
    grid-row: 13 / 16;
  }
  .grid2-caption8 {
    grid-column: 3 / 4;
    grid-row: 16 / 17;
  }
  .grid2-item9 {
    grid-column: 3 / 4;
    grid-row: 9 / 10;
  }
  .grid2-caption9 {
    grid-column: 3 / 4;
    grid-row: 10 / 11;
  }
  .grid2-item10 {
    grid-column: 2 / 3;
    grid-row: 13 / 16;
  }
  .grid2-caption10 {
    grid-column: 2 / 3;
    grid-row: 16 / 17;
  }
  .grid2-item11 {
    grid-column: 2 / 4;
    grid-row: 11 / 12;
  }
  .grid2-caption11 {
    grid-column: 2 / 4;
    grid-row: 12 / 13;
  }
  .grid2-item12 {
    grid-column: 1 / 2;
    grid-row: 15 / 16;
  }
  .grid2-caption12 {
    grid-column: 1 / 2;
    grid-row: 16 / 17;
  }
}
@media (min-width: 769px) {
  .grid2-item1 {
    grid-column: 3 / 5;
    grid-row: 1 / 4;
  }
  .grid2-caption1 {
    grid-column: 3 / 5;
    grid-row: 4 / 5;
  }
  .grid2-item2 {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
  }
  .grid2-caption2 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
  .grid2-item3 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .grid2-caption3 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .grid2-item4 {
    grid-column: 1 / 2;
    grid-row: 3 / 6;
  }
  .grid2-caption4 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid2-item5 {
    grid-column: 4 / 5;
    grid-row: 5 / 6;
  }
  .grid2-caption5 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
  .grid2-item6 {
    grid-column: 2 / 4;
    grid-row: 5 / 8;
  }
  .grid2-caption6 {
    grid-column: 2 / 4;
    grid-row: 8 / 9;
  }
  .grid2-item7 {
    grid-column: 4 / 5;
    grid-row: 7 / 10;
  }
  .grid2-caption7 {
    grid-column: 4 / 5;
    grid-row: 10 / 11;
  }
  .grid2-item8 {
    grid-column: 1 / 2;
    grid-row: 7 / 10;
  }
  .grid2-caption8 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid2-item9 {
    grid-column: 3 / 4;
    grid-row: 9 / 10;
  }
  .grid2-caption9 {
    grid-column: 3 / 4;
    grid-row: 10 / 11;
  }
  .grid2-item10 {
    grid-column: 2 / 3;
    grid-row: 9 / 12;
  }
  .grid2-caption10 {
    grid-column: 2 / 3;
    grid-row: 12 / 13;
  }
  .grid2-item11 {
    grid-column: 3 / 5;
    grid-row: 11 / 12;
  }
  .grid2-caption11 {
    grid-column: 3 / 5;
    grid-row: 12 / 13;
  }
  .grid2-item12 {
    grid-column: 1 / 2;
    grid-row: 11 / 12;
  }
  .grid2-caption12 {
    grid-column: 1 / 2;
    grid-row: 12 / 13;
  }
}
/*
 
                         ___ 
             o     |    /   \
   __,  ,_       __|      __/
  /  | /  |  |  /  |        \
  \_/|/   |_/|_/\_/|_/  \___/
    /|                       
    \|                       
 
*/
.grid3-item1 .grid-item-image,
.grid3-item1 .grid-item-text,
.grid3-item1 .grid-item-slideshow,
.grid3-item1 .grid-item-video {
  padding-top: 78.723%;
}
.grid3-item2 .grid-item-image,
.grid3-item4 .grid-item-image,
.grid3-item2 .grid-item-text,
.grid3-item4 .grid-item-text,
.grid3-item2 .grid-item-slideshow,
.grid3-item4 .grid-item-slideshow,
.grid3-item2 .grid-item-video,
.grid3-item4 .grid-item-video {
  padding-top: 163.2%;
}
.grid3-item3 .grid-item-image,
.grid3-item5 .grid-item-image,
.grid3-item3 .grid-item-text,
.grid3-item5 .grid-item-text,
.grid3-item3 .grid-item-slideshow,
.grid3-item5 .grid-item-slideshow,
.grid3-item3 .grid-item-video,
.grid3-item5 .grid-item-video {
  padding-top: 73.913%;
}
.grid3-item6 .grid-item-image,
.grid3-item6 .grid-item-text,
.grid3-item6 .grid-item-slideshow,
.grid3-item6 .grid-item-video {
  padding-top: 35.7%;
}
@media (min-width: 361px) {
  .grid3-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid3-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid3-item2 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid3-caption2 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid3-item3 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid3-caption3 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid3-item4 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid3-caption4 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid3-item5 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid3-caption5 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid3-item6 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid3-caption6 {
    grid-column: 1 / 3;
    grid-row: 13 / 14;
  }
}
@media (min-width: 521px) {
  .grid3-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid3-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid3-item2 {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
  }
  .grid3-caption2 {
    grid-column: 3 / 4;
    grid-row: 4 / 5;
  }
  .grid3-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 8;
  }
  .grid3-caption3 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
  .grid3-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid3-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid3-item5 {
    grid-column: 3 / 4;
    grid-row: 7 / 8;
  }
  .grid3-caption5 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
  .grid3-item6 {
    grid-column: 2 / 4;
    grid-row: 5 / 6;
  }
  .grid3-caption6 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
}
@media (min-width: 769px) {
  .grid3-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid3-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid3-item2 {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
  }
  .grid3-caption2 {
    grid-column: 3 / 4;
    grid-row: 4 / 5;
  }
  .grid3-item3 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  .grid3-caption3 {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }
  .grid3-item4 {
    grid-column: 4 / 5;
    grid-row: 3 / 6;
  }
  .grid3-caption4 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
  .grid3-item5 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid3-caption5 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid3-item6 {
    grid-column: 2 / 4;
    grid-row: 5 / 6;
  }
  .grid3-caption6 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
}
/*


             o     |    |  |
   __,  ,_       __|    |__|_
  /  | /  |  |  /  |       |
  \_/|/   |_/|_/\_/|_/     |
    /|
    \|

*/
.grid4-item1 .grid-item-image,
.grid4-item1 .grid-item-text,
.grid4-item1 .grid-item-slideshow,
.grid4-item1 .grid-item-video {
  padding-top: 78.723%;
}
.grid4-item2 .grid-item-image,
.grid4-item4 .grid-item-image,
.grid4-item2 .grid-item-text,
.grid4-item4 .grid-item-text,
.grid4-item2 .grid-item-slideshow,
.grid4-item4 .grid-item-slideshow,
.grid4-item2 .grid-item-video,
.grid4-item4 .grid-item-video {
  padding-top: 163.2%;
}
.grid4-item3 .grid-item-image,
.grid4-item5 .grid-item-image,
.grid4-item3 .grid-item-text,
.grid4-item5 .grid-item-text,
.grid4-item3 .grid-item-slideshow,
.grid4-item5 .grid-item-slideshow,
.grid4-item3 .grid-item-video,
.grid4-item5 .grid-item-video {
  padding-top: 73.913%;
}
.grid4-item6 .grid-item-image,
.grid4-item6 .grid-item-text,
.grid4-item6 .grid-item-slideshow,
.grid4-item6 .grid-item-video {
  padding-top: 35.7%;
}
@media (min-width: 361px) {
  .grid4-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid4-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid4-item2 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid4-caption2 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid4-item3 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid4-caption3 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid4-item4 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid4-caption4 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid4-item5 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid4-caption5 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid4-item6 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid4-caption6 {
    grid-column: 1 / 3;
    grid-row: 14 / 15;
  }
}
@media (min-width: 521px) {
  .grid4-item1 {
    grid-column: 2 / 4;
    grid-row: 1 / 4;
  }
  .grid4-caption1 {
    grid-column: 2 / 4;
    grid-row: 4 / 5;
  }
  .grid4-item2 {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
  }
  .grid4-caption2 {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }
  .grid4-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 8;
  }
  .grid4-caption3 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
  .grid4-item4 {
    grid-column: 3 / 4;
    grid-row: 5 / 8;
  }
  .grid4-caption4 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
  .grid4-item5 {
    grid-column: 1 / 2;
    grid-row: 7 / 8;
  }
  .grid4-caption5 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid4-item6 {
    grid-column: 1 / 3;
    grid-row: 5 / 6;
  }
  .grid4-caption6 {
    grid-column: 1 / 3;
    grid-row: 6 / 7;
  }
}
@media (min-width: 769px) {
  .grid4-item1 {
    grid-column: 3 / 5;
    grid-row: 1 / 4;
  }
  .grid4-caption1 {
    grid-column: 3 / 5;
    grid-row: 4 / 5;
  }
  .grid4-item2 {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
  }
  .grid4-caption2 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
  .grid4-item3 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .grid4-caption3 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .grid4-item4 {
    grid-column: 1 / 2;
    grid-row: 3 / 6;
  }
  .grid4-caption4 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid4-item5 {
    grid-column: 4 / 5;
    grid-row: 5 / 6;
  }
  .grid4-caption5 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
  .grid4-item6 {
    grid-column: 2 / 4;
    grid-row: 5 / 6;
  }
  .grid4-caption6 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
}
/*

                         ____
             o     |    |
   __,  ,_       __|    |___
  /  | /  |  |  /  |        \
  \_/|/   |_/|_/\_/|_/  \___/
    /|
    \|

*/
.grid5-item1 .grid-item-image,
.grid5-item1 .grid-item-text,
.grid5-item1 .grid-item-slideshow,
.grid5-item1 .grid-item-video {
  padding-top: 52.21%;
}
.grid5-item2 .grid-item-image,
.grid5-item4 .grid-item-image,
.grid5-item2 .grid-item-text,
.grid5-item4 .grid-item-text,
.grid5-item2 .grid-item-slideshow,
.grid5-item4 .grid-item-slideshow,
.grid5-item2 .grid-item-video,
.grid5-item4 .grid-item-video {
  padding-top: 73.913%;
}
.grid5-item3 .grid-item-image,
.grid5-item3 .grid-item-text,
.grid5-item3 .grid-item-slideshow,
.grid5-item3 .grid-item-video {
  padding-top: 163.2%;
}
.grid5-item5 .grid-item-image,
.grid5-item5 .grid-item-text,
.grid5-item5 .grid-item-slideshow,
.grid5-item5 .grid-item-video {
  padding-top: 35.7%;
}
@media (min-width: 361px) {
  .grid5-item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid5-caption1 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid5-item2 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid5-caption2 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid5-item3 {
    grid-column: 2 / 3;
    grid-row: 5 / 8;
  }
  .grid5-caption3 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
  .grid5-item4 {
    grid-column: 1 / 2;
    grid-row: 7 / 8;
  }
  .grid5-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid5-item5 {
    grid-column: 1 / 3;
    grid-row: 10 / 11;
  }
  .grid5-caption5 {
    grid-column: 1 / 3;
    grid-row: 11 / 12;
  }
}
@media (min-width: 521px) {
  .grid5-item1 {
    grid-column: 1 / 4;
    grid-row: 1 / 4;
  }
  .grid5-caption1 {
    grid-column: 1 / 4;
    grid-row: 4 / 5;
  }
  .grid5-item2 {
    grid-column: 2 / 3;
    grid-row: 7 / 8;
  }
  .grid5-caption2 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
  .grid5-item3 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid5-caption3 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid5-item4 {
    grid-column: 3 / 4;
    grid-row: 7 / 8;
  }
  .grid5-caption4 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
  .grid5-item5 {
    grid-column: 2 / 4;
    grid-row: 5 / 6;
  }
  .grid5-caption5 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
}
@media (min-width: 769px) {
  .grid5-item1 {
    grid-column: 1 / 4;
    grid-row: 1 / 4;
  }
  .grid5-caption1 {
    grid-column: 1 / 4;
    grid-row: 4 / 5;
  }
  .grid5-item2 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  .grid5-caption2 {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }
  .grid5-item3 {
    grid-column: 4 / 5;
    grid-row: 3 / 6;
  }
  .grid5-caption3 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
  .grid5-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid5-caption4 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid5-item5 {
    grid-column: 2 / 4;
    grid-row: 5 / 6;
  }
  .grid5-caption5 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
}
/*
 
                          __ 
             o     |     /   
   __,  ,_       __|    | __ 
  /  | /  |  |  /  |    |/  \
  \_/|/   |_/|_/\_/|_/   \__/
    /|                       
    \|                       
 
*/
.grid6-item2 .grid-item-image,
.grid6-item2 .grid-item-text,
.grid6-item2 .grid-item-slideshow,
.grid6-item2 .grid-item-video {
  padding-top: 122.5%;
}
.grid6-item1 .grid-item-image,
.grid6-item5 .grid-item-image,
.grid6-item1 .grid-item-text,
.grid6-item5 .grid-item-text,
.grid6-item1 .grid-item-slideshow,
.grid6-item5 .grid-item-slideshow,
.grid6-item1 .grid-item-video,
.grid6-item5 .grid-item-video {
  padding-top: 163.2%;
}
.grid6-item3 .grid-item-image,
.grid6-item4 .grid-item-image,
.grid6-item3 .grid-item-text,
.grid6-item4 .grid-item-text,
.grid6-item3 .grid-item-slideshow,
.grid6-item4 .grid-item-slideshow,
.grid6-item3 .grid-item-video,
.grid6-item4 .grid-item-video {
  padding-top: 73.913%;
}
@media (min-width: 361px) {
  .grid6-item2 {
    grid-column: 1 / 3;
    grid-row: 1 / 6;
  }
  .grid6-caption2 {
    grid-column: 1 / 3;
    grid-row: 6 / 7;
  }
  .grid6-item1 {
    grid-column: 1 / 2;
    grid-row: 7 / 10;
  }
  .grid6-caption1 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
  .grid6-item5 {
    grid-column: 2 / 3;
    grid-row: 9 / 12;
  }
  .grid6-caption5 {
    grid-column: 2 / 3;
    grid-row: 12 / 13;
  }
  .grid6-item4 {
    grid-column: 1 / 2;
    grid-row: 11 / 12;
  }
  .grid6-caption4 {
    grid-column: 1 / 2;
    grid-row: 12 / 13;
  }
  .grid6-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 8;
  }
  .grid6-caption3 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
}
@media (min-width: 521px) {
  .grid6-item2 {
    grid-column: 1 / 3;
    grid-row: 1 / 6;
  }
  .grid6-caption2 {
    grid-column: 1 / 3;
    grid-row: 6 / 7;
  }
  .grid6-item1 {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
  }
  .grid6-caption1 {
    grid-column: 3 / 4;
    grid-row: 4 / 5;
  }
  .grid6-item5 {
    grid-column: 3 / 4;
    grid-row: 5 / 8;
  }
  .grid6-caption5 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
  .grid6-item4 {
    grid-column: 1 / 2;
    grid-row: 7 / 8;
  }
  .grid6-caption4 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid6-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 8;
  }
  .grid6-caption3 {
    grid-column: 2 / 3;
    grid-row: 8 / 9;
  }
}
@media (min-width: 769px) {
  .grid6-item1 {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
  }
  .grid6-caption1 {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }
  .grid6-item2 {
    grid-column: 2 / 4;
    grid-row: 1 / 6;
  }
  .grid6-caption2 {
    grid-column: 2 / 4;
    grid-row: 6 / 7;
  }
  .grid6-item3 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  .grid6-caption3 {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }
  .grid6-item4 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid6-caption4 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid6-item5 {
    grid-column: 4 / 5;
    grid-row: 3 / 6;
  }
  .grid6-caption5 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
}
/*

                       __  ______
            o     |   /        /
  __,  ,_       __|     ,     /
 /  | /  |  |  /  |    / \   /
 \_/|/   |_/|_/\_/|_/ /   | /
   /|                      |/
   \|

*/
.grid7-item1 .grid-item-image,
.grid7-item6 .grid-item-image,
.grid7-item1 .grid-item-text,
.grid7-item6 .grid-item-text,
.grid7-item1 .grid-item-slideshow,
.grid7-item6 .grid-item-slideshow,
.grid7-item1 .grid-item-video,
.grid7-item6 .grid-item-video {
  padding-top: 73.913%;
}
.grid7-item2 .grid-item-image,
.grid7-item2 .grid-item-text,
.grid7-item2 .grid-item-slideshow,
.grid7-item2 .grid-item-video {
  padding-top: 35.7%;
}
.grid7-item3 .grid-item-image,
.grid7-item5 .grid-item-image,
.grid7-item3 .grid-item-text,
.grid7-item5 .grid-item-text,
.grid7-item3 .grid-item-slideshow,
.grid7-item5 .grid-item-slideshow,
.grid7-item3 .grid-item-video,
.grid7-item5 .grid-item-video {
  padding-top: 163.2%;
}
.grid7-item4 .grid-item-image,
.grid7-item4 .grid-item-text,
.grid7-item4 .grid-item-slideshow,
.grid7-item4 .grid-item-video {
  padding-top: 78.723%;
}
@media (min-width: 361px) {
  .grid7-item1 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid7-caption1 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid7-item2 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid7-caption2 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid7-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid7-caption3 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid7-item4 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid7-caption4 {
    grid-column: 1 / 3;
    grid-row: 14 / 15;
  }
  .grid7-item5 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid7-caption5 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid7-item6 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid7-caption6 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
}
@media (min-width: 521px) {
  .grid7-item1 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .grid7-caption1 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
  .grid7-item2 {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
  }
  .grid7-caption2 {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
  }
  .grid7-item3 {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
  }
  .grid7-caption3 {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }
  .grid7-item4 {
    grid-column: 1 / 3;
    grid-row: 5 / 8;
  }
  .grid7-caption4 {
    grid-column: 1 / 3;
    grid-row: 8 / 9;
  }
  .grid7-item5 {
    grid-column: 3 / 4;
    grid-row: 3 / 6;
  }
  .grid7-caption5 {
    grid-column: 3 / 4;
    grid-row: 6 / 7;
  }
  .grid7-item6 {
    grid-column: 3 / 4;
    grid-row: 7 / 8;
  }
  .grid7-caption6 {
    grid-column: 3 / 4;
    grid-row: 8 / 9;
  }
}
@media (min-width: 769px) {
  .grid7-item1 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .grid7-caption1 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .grid7-item2 {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
  }
  .grid7-caption2 {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
  }
  .grid7-item3 {
    grid-column: 4 / 5;
    grid-row: 1 / 4;
  }
  .grid7-caption3 {
    grid-column: 4 / 5;
    grid-row: 4 / 5;
  }
  .grid7-item4 {
    grid-column: 1 / 3;
    grid-row: 3 / 6;
  }
  .grid7-caption4 {
    grid-column: 1 / 3;
    grid-row: 6 / 7;
  }
  .grid7-item5 {
    grid-column: 3 / 4;
    grid-row: 3 / 6;
  }
  .grid7-caption5 {
    grid-column: 3 / 4;
    grid-row: 6 / 7;
  }
  .grid7-item6 {
    grid-column: 4 / 5;
    grid-row: 5 / 6;
  }
  .grid7-caption6 {
    grid-column: 4 / 5;
    grid-row: 6 / 7;
  }
}
.grid8-item1 .grid-item-image,
.grid8-item6 .grid-item-image,
.grid8-item1 .grid-item-text,
.grid8-item6 .grid-item-text,
.grid8-item1 .grid-item-slideshow,
.grid8-item6 .grid-item-slideshow,
.grid8-item1 .grid-item-video,
.grid8-item6 .grid-item-video {
  padding-top: 73.913%;
}
.grid8-item2 .grid-item-image,
.grid8-item2 .grid-item-text,
.grid8-item2 .grid-item-slideshow,
.grid8-item2 .grid-item-video {
  padding-top: 35.7%;
}
.grid8-item3 .grid-item-image,
.grid8-item5 .grid-item-image,
.grid8-item3 .grid-item-text,
.grid8-item5 .grid-item-text,
.grid8-item3 .grid-item-slideshow,
.grid8-item5 .grid-item-slideshow,
.grid8-item3 .grid-item-video,
.grid8-item5 .grid-item-video {
  padding-top: 163.2%;
}
.grid8-item4 .grid-item-image,
.grid8-item4 .grid-item-text,
.grid8-item4 .grid-item-slideshow,
.grid8-item4 .grid-item-video {
  padding-top: 78.723%;
}
@media (min-width: 361px) {
  .grid8-item1 {
    grid-column: 2 / 3;
    grid-row: 5 / 6;
  }
  .grid8-caption1 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid8-item2 {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
  }
  .grid8-caption2 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  .grid8-item3 {
    grid-column: 2 / 3;
    grid-row: 7 / 10;
  }
  .grid8-caption3 {
    grid-column: 2 / 3;
    grid-row: 10 / 11;
  }
  .grid8-item4 {
    grid-column: 1 / 3;
    grid-row: 12 / 13;
  }
  .grid8-caption4 {
    grid-column: 1 / 3;
    grid-row: 14 / 15;
  }
  .grid8-item5 {
    grid-column: 1 / 2;
    grid-row: 5 / 8;
  }
  .grid8-caption5 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
  .grid8-item6 {
    grid-column: 1 / 2;
    grid-row: 9 / 10;
  }
  .grid8-caption6 {
    grid-column: 1 / 2;
    grid-row: 10 / 11;
  }
}
@media (min-width: 521px) {
  .grid8-item1 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .grid8-caption1 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
  .grid8-item2 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .grid8-caption2 {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  .grid8-item3 {
    grid-column: 3 / 4;
    grid-row: 1 / 4;
  }
  .grid8-caption3 {
    grid-column: 3 / 4;
    grid-row: 4 / 5;
  }
  .grid8-item4 {
    grid-column: 2 / 4;
    grid-row: 5 / 8;
  }
  .grid8-caption4 {
    grid-column: 2 / 4;
    grid-row: 8 / 9;
  }
  .grid8-item5 {
    grid-column: 1 / 2;
    grid-row: 3 / 6;
  }
  .grid8-caption5 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
  .grid8-item6 {
    grid-column: 1 / 2;
    grid-row: 7 / 8;
  }
  .grid8-caption6 {
    grid-column: 1 / 2;
    grid-row: 8 / 9;
  }
}
@media (min-width: 769px) {
  .grid8-item1 {
    grid-column: 4 / 5;
    grid-row: 1 / 2;
  }
  .grid8-caption1 {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
  }
  .grid8-item2 {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
  }
  .grid8-caption2 {
    grid-column: 2 / 4;
    grid-row: 2 / 3;
  }
  .grid8-item3 {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
  }
  .grid8-caption3 {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
  }
  .grid8-item4 {
    grid-column: 3 / 5;
    grid-row: 3 / 6;
  }
  .grid8-caption4 {
    grid-column: 3 / 5;
    grid-row: 6 / 7;
  }
  .grid8-item5 {
    grid-column: 2 / 3;
    grid-row: 3 / 6;
  }
  .grid8-caption5 {
    grid-column: 2 / 3;
    grid-row: 6 / 7;
  }
  .grid8-item6 {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
  }
  .grid8-caption6 {
    grid-column: 1 / 2;
    grid-row: 6 / 7;
  }
}
/*

                       |                |     _        |
   __   __   _  _  _|_ _   _  _  _|_   |__  | |  __  |   / ,
  /    /  \_/ |/ |  |  |/  / |/ |  |    |  \ |/  /  \_|  /\_
  \___/\__/   |  |_/|_/|__/  |  |_/|_/  |__/ |__/\__/ |_/ \/


*/
.text-block ul,
.text-block ol,
.columns-flow-content ul,
.columns-flow-content ol,
.contact-form-text ul,
.contact-form-text ol {
  list-style-position: outside;
  padding-left: 1.2em;
}
.divider-block {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-top: 1px solid currentColor;
  height: 0;
  color: inherit;
  margin: 0.8em 0;
}
.content-block {
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}
@media only screen and (min-width: 361px) {
  .content-block {
    width: 95%;
  }
}
.content-block-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-block-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-block-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-block-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-block-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.span-1 {
  grid-column: span 1;
}
.span-2 {
  grid-column: 1 / -1;
}
@media only screen and (min-width: 361px) {
  .span-2 {
    grid-column: span 2;
  }
}
.span-3 {
  grid-column: 1 / -1;
}
@media only screen and (min-width: 521px) {
  .span-3 {
    grid-column: span 3;
  }
}
.span-4 {
  grid-column: 1 / -1;
}
.pos-center .content-block-inner {
  justify-content: center;
}
.pos-right .content-block-inner {
  justify-content: end;
}
p {
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.3px;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  p {
    font-size: 2.75vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  p {
    font-size: 1.85vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  p {
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  p {
    font-size: 1.1rem;
  }
}
.text-small {
  font-family: "Figtree", sans-serif;
  font-size: 11px;
  letter-spacing: 0;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-small {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-small {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-small {
    font-size: 1.25vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-small {
    font-size: 1rem;
  }
}
.text-standard {
  font-family: "Figtree", sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-standard {
    font-size: 2.75vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-standard {
    font-size: 1.85vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-standard {
    font-size: 1.4vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-standard {
    font-size: 1.1rem;
  }
}
.text-large {
  font-family: "Figtree", sans-serif;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-large {
    font-size: 4.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-large {
    font-size: 2.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-large {
    font-size: 2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-large {
    font-size: 1.55rem;
  }
}
.text-extra-large {
  font-family: "Figtree", sans-serif;
  font-size: 26px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-extra-large {
    font-size: 5.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-extra-large {
    font-size: 3.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-extra-large {
    font-size: 2.6vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-extra-large {
    font-size: 2rem;
  }
}
h1 {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  h1 {
    font-size: 5.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  h1 {
    font-size: 3.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  h1 {
    font-size: 2.6vw;
  }
}
@media only screen and (min-width: 1251px) {
  h1 {
    font-size: 2rem;
  }
}
h2 {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  h2 {
    font-size: 4.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  h2 {
    font-size: 2.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  h2 {
    font-size: 2vw;
  }
}
@media only screen and (min-width: 1251px) {
  h2 {
    font-size: 1.55rem;
  }
}
.text-small-mono {
  font-family: "Fira Code", monospace;
  font-size: 10px;
  letter-spacing: -0.5px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-small-mono {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-small-mono {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-small-mono {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-small-mono {
    font-size: 0.95rem;
  }
}
.text-standard-mono {
  font-family: "Fira Code", monospace;
  font-size: 13px;
  letter-spacing: -0.5px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-standard-mono {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-standard-mono {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-standard-mono {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-standard-mono {
    font-size: 1.05rem;
  }
}
.text-large-mono {
  font-family: "Fira Code", monospace;
  font-size: 20px;
  letter-spacing: -0.5px;
  line-height: 1.2;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .text-large-mono {
    font-size: 4.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .text-large-mono {
    font-size: 2.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .text-large-mono {
    font-size: 2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .text-large-mono {
    font-size: 1.55rem;
  }
}
.content-text-item {
  padding: 4vw 0;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-item {
    padding: 2vw 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-item {
    padding: 1.5vw 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-item {
    padding: 1vw 0;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-item {
    padding: 0.8rem 0;
  }
}
.content-text-item.has-bg {
  padding: 4vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-item.has-bg {
    padding: 2vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-item.has-bg {
    padding: 1.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-item.has-bg {
    padding: 1vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-item.has-bg {
    padding: 0.8rem;
  }
}
.content-text-body {
  font-family: "Figtree", sans-serif;
  font-size: 13px;
  letter-spacing: -0.5px;
  line-height: 1.5;
  color: #1A565F;
  hyphens: auto;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-body {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-body {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-body {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-body {
    font-size: 1.05rem;
  }
}
.content-text-body p {
  margin-bottom: 1em;
}
.content-text-body p strong {
  font-weight: bold;
}
.content-text-body p:last-child {
  margin-bottom: 0;
}
.content-text-body h2,
.content-text-body h3 {
  font-family: "Figtree", sans-serif;
  font-weight: 600;
  margin-bottom: 0.5em;
  line-height: 1.2;
}
.content-text-body h2 {
  font-size: 17px;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-body h2 {
    font-size: 3.6vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-body h2 {
    font-size: 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-body h2 {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-body h2 {
    font-size: 1.4rem;
  }
}
.content-text-body h3 {
  font-size: 14px;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-body h3 {
    font-size: 3.2vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-body h3 {
    font-size: 2.1vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-body h3 {
    font-size: 1.55vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-body h3 {
    font-size: 1.2rem;
  }
}
.content-text-body ul,
.content-text-body ol {
  margin-bottom: 1em;
  padding-left: 1.5em;
}
.content-text-body blockquote {
  border-left: 3px solid #54A6B1;
  padding-left: 1em;
  margin-bottom: 1em;
  font-style: italic;
}
.content-text-body code {
  font-family: "Fira Code", monospace;
  background-color: #edf4f6;
  padding: 0.1em 0.3em;
  border-radius: 3px;
  font-size: 0.9em;
}
.content-text-body hr {
  border: 0;
  border-top: 1px solid #54A6B1;
  margin: 1.5em 0;
}
.content-text-body a {
  color: #54A6B1;
  text-decoration: underline;
}
.content-text-body a:hover {
  color: #1A565F;
}
.content-image {
  width: 100%;
}
.content-image .grid-caption {
  padding-top: 12px;
}
.content-image-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-image-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-image-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-image-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.content-image .grid-item-slideshow.ratio-16-9,
.content-text-image .grid-item-slideshow.ratio-16-9,
.content-image .grid-item-video.ratio-16-9,
.content-text-image .grid-item-video.ratio-16-9 {
  aspect-ratio: 16/9;
}
.content-image .grid-item-slideshow.ratio-4-3,
.content-text-image .grid-item-slideshow.ratio-4-3,
.content-image .grid-item-video.ratio-4-3,
.content-text-image .grid-item-video.ratio-4-3 {
  aspect-ratio: 4/3;
}
@media (min-width: 520px) {
  .content-image[style*="--start-col"] .content-image-item.span-2 {
    grid-column: min(var(--start-col), 2) / span 2;
  }
}
@media (min-width: 768px) {
  .content-image[style*="--start-col"] .content-image-item.span-2 {
    grid-column: min(var(--start-col), 3) / span 2;
  }
  .content-image[style*="--start-col"] .content-image-item.span-3 {
    grid-column: min(var(--start-col), 2) / span 3;
  }
}
.content-image-media {
  position: relative;
  overflow: hidden;
}
.content-image-media img {
  width: 100%;
  height: auto;
  display: block;
}
.content-text-image {
  width: 100%;
  margin: 0;
}
.content-text-image .content-ti-text,
.content-text-image .content-ti-media {
  grid-column: 1 / -1;
}
@media only screen and (min-width: 769px) {
  .content-text-image .span-1 {
    grid-column: span 1;
  }
}
@media only screen and (min-width: 769px) {
  .content-text-image .span-2 {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 769px) {
  .content-text-image .span-3 {
    grid-column: span 3;
  }
}
.content-text-image .content-ti-text {
  align-self: start;
  margin-bottom: 3vw;
  padding: 0 1.5vw 4vw 0;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-image .content-ti-text {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-image .content-ti-text {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-image .content-ti-text {
    margin-bottom: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-image .content-ti-text {
    margin-bottom: 19px;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-image .content-ti-text {
    padding: 0 0.8vw 2vw 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-image .content-ti-text {
    padding: 0 0.5vw 1.5vw 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-image .content-ti-text {
    padding: 0 0.4vw 1vw 0;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-image .content-ti-text {
    padding: 0 0.3rem 0.8rem 0;
  }
}
.content-text-image .content-ti-text.has-bg {
  padding: 6vw 6.8vw 6vw 6.2vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-image .content-ti-text.has-bg {
    padding: 3.6vw 3.6vw 3.6vw 3.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-image .content-ti-text.has-bg {
    padding: 2.4vw 2.6vw 2.4vw 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-image .content-ti-text.has-bg {
    padding: 1.8vw 2vw 1.8vw 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-image .content-ti-text.has-bg {
    padding: 1.4rem 1.8rem 1.4rem 1.6rem;
  }
}
.content-text-image .content-ti-media {
  display: block;
  text-decoration: none;
  color: inherit;
}
.content-text-image .content-ti-media:not(:has(.grid-caption)) {
  margin-bottom: 3vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-text-image .content-ti-media:not(:has(.grid-caption)) {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-image .content-ti-media:not(:has(.grid-caption)) {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-text-image .content-ti-media:not(:has(.grid-caption)) {
    margin-bottom: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-text-image .content-ti-media:not(:has(.grid-caption)) {
    margin-bottom: 19px;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-text-image.layout-3-1 .span-3,
  .content-text-image.layout-1-3 .span-3 {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 769px) {
  .content-text-image.layout-3-1 .span-3,
  .content-text-image.layout-1-3 .span-3 {
    grid-column: span 3;
  }
}
@media only screen and (min-width: 521px) {
  .content-text-image.layout-3-1 .span-1,
  .content-text-image.layout-1-3 .span-1 {
    grid-column: span 1;
  }
}
@media only screen and (min-width: 361px) {
  .content-text-image.layout-2-2 .content-ti-text,
  .content-text-image.layout-2-2 .content-ti-media {
    grid-column: auto;
  }
}
@media only screen and (min-width: 361px) {
  .content-text-image.layout-2-2 .content-block-inner {
    grid-template-columns: 1fr 1fr;
  }
}
.content-button .content-button-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5em;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-button .content-button-inner {
    flex-direction: row;
    justify-content: space-evenly;
  }
}
@media only screen and (min-width: 769px) {
  .content-button .content-button-inner {
    flex-direction: row;
    justify-content: space-evenly;
  }
}
.content-button-item {
  display: block;
  text-decoration: none;
  color: inherit;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-button-item {
    max-width: 50%;
    width: auto;
  }
}
@media only screen and (min-width: 769px) {
  .content-button-item {
    max-width: 33%;
    width: auto;
  }
}
.content-button-item:hover {
  opacity: 0.85;
}
.content-button-image img {
  width: 100%;
  height: auto;
  display: block;
}
.content-button-text {
  font-family: "Fira Code", monospace;
  font-size: 13px;
  line-height: 1.5;
  color: #1A565F;
  padding: 0.5em 0;
  text-align: center;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-button-text {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-button-text {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-button-text {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-button-text {
    font-size: 1.05rem;
  }
}
.content-button-text p {
  margin-bottom: 0.5em;
}
.content-button-text p:last-child {
  margin-bottom: 0;
}
.content-hero {
  width: 100%;
  max-width: none;
  container-type: inline-size;
}
.content-hero-image img {
  width: 100%;
  display: block;
}
.content-hero-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-hero-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-hero-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-hero-body {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .content-hero-body {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.content-hero-text {
  background: #ffffff;
  padding: 4%;
  padding: 4cqi;
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  font-family: "Fira Code", monospace;
  font-size: 13px;
  line-height: 1.5;
  color: #1A565F;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-hero-text {
    font-size: 2.7vw;
    margin-top: -6em;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-hero-text {
    font-size: 1.8vw;
    margin-top: -8em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .content-hero-text {
    font-size: 1.35vw;
    margin-top: -10em;
  }
}
@media only screen and (min-width: 1251px) {
  .content-hero-text {
    font-size: 1.05rem;
    margin-top: -10em;
  }
}
.content-hero-text p {
  margin-bottom: 0.5em;
}
.content-hero-text p:last-child {
  margin-bottom: 0;
}
@media (min-width: 360px) {
  .content-hero-text.position-left {
    margin-right: calc((100% - 2.5%) / 4);
  }
  .content-hero-text.position-right {
    margin-left: calc((100% - 2.5%) / 4);
  }
}
@media (min-width: 520px) {
  .content-hero-text.text-span-2.position-left {
    grid-column: 1 / span 2;
    margin-right: 0;
  }
  .content-hero-text.text-span-2.position-right {
    grid-column: 2 / span 2;
    margin-left: 0;
  }
  .content-hero-text.text-span-3 {
    grid-column: 1 / -1;
  }
  .content-hero-text.text-span-3.position-left {
    margin-right: calc((100% - 4%) / 6);
  }
  .content-hero-text.text-span-3.position-right {
    margin-left: calc((100% - 4%) / 6);
  }
}
@media (min-width: 768px) {
  .content-hero-text.text-span-2.position-left {
    grid-column: 1 / span 2;
  }
  .content-hero-text.text-span-2.position-right {
    grid-column: 3 / span 2;
  }
  .content-hero-text.text-span-3.position-left {
    grid-column: 1 / span 3;
    margin-right: 0;
  }
  .content-hero-text.text-span-3.position-right {
    grid-column: 2 / span 3;
    margin-left: 0;
  }
}
.content-gallery {
  width: 100%;
  padding-bottom: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .content-gallery {
    padding-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .content-gallery {
    padding-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) {
  .content-gallery {
    padding-bottom: 1.5vw;
  }
}
.gallery-grid {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2.5vw;
  row-gap: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .gallery-grid {
    column-gap: 2.5vw;
    row-gap: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .gallery-grid {
    column-gap: 2vw;
    row-gap: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .gallery-grid {
    column-gap: 1.5vw;
    row-gap: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .gallery-grid {
    column-gap: 19px;
    row-gap: 19px;
  }
}
.gallery-grid::after {
  content: '';
  flex-grow: 999;
}
.gallery-item {
  height: 15vw;
  min-height: 80px;
  max-height: 200px;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  display: block;
}
.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.gallery-item:hover img {
  transform: scale(1.05);
}
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(100, 195, 207, 0.9);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.lightbox-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.lightbox-image {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  user-select: none;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  padding: 0.5em;
  line-height: 1;
  opacity: 0.7;
  transition: opacity 0.2s ease;
  user-select: none;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
  opacity: 1;
}
.lightbox-close {
  top: 1rem;
  right: 1rem;
  font-size: 2.5rem;
}
.lightbox-prev {
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-next {
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
/*

                  |
   __   __   |   |   __   _  _    ,
  /    /  \_ |   |  /  \_/ |/ |  / \_
  \___/\__/  |___|_/\__/   |  |_/ \/


*/
.contact-form {
  width: 100%;
  margin: 0 auto 2.5vw auto;
  max-width: 1200px;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form {
    margin-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form {
    margin-bottom: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form {
    margin-bottom: 19px;
  }
}
.contact-form-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.contact-form-text {
  grid-column: 1 / -1;
  padding-right: 1vw;
  margin-bottom: 0;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-text {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-text {
    grid-column: 2 / span 2;
  }
}
@media only screen and (min-width: 769px) {
  .contact-form-text {
    grid-column: 3 / span 2;
  }
}
.contact-form-text.has-bg {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .contact-form-text.has-bg {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-text.has-bg {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.contact-form-text.has-bg p {
  padding-left: 5vw;
  padding-right: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .contact-form-text.has-bg p {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-text.has-bg p {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.contact-form-form {
  grid-column: 1 / -1;
  margin-top: 2em;
}
@media only screen and (min-width: 361px) and (max-width: 768px) {
  .contact-form-form {
    grid-column: span 2;
    margin-top: 2em;
    grid-row: auto;
  }
}
@media only screen and (min-width: 769px) {
  .contact-form-form {
    grid-column: 1 / span 2;
    margin-top: 0;
    grid-row: 1;
  }
}
.contact-form-fields {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.contact-form-field label,
.contact-form-field-privacy label span {
  display: block;
  font-family: "Fira Code", monospace;
  color: #1A565F;
  font-size: 10px;
  line-height: 1.2;
  margin-bottom: 0.3em;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-field label,
  .contact-form-field-privacy label span {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-field label,
  .contact-form-field-privacy label span {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-field label,
  .contact-form-field-privacy label span {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-field label,
  .contact-form-field-privacy label span {
    font-size: 0.95rem;
  }
}
.contact-form-field input[type="text"],
.contact-form-field input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  font-family: "Figtree", sans-serif;
  color: #1A565F;
  font-size: 13px;
  line-height: 1.5;
  padding: 0.4em 0;
  border: none;
  border-bottom: 1px solid #1A565F;
  background: transparent;
  transition: border-color 0.2s ease;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-field input[type="text"],
  .contact-form-field input[type="email"] {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-field input[type="text"],
  .contact-form-field input[type="email"] {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-field input[type="text"],
  .contact-form-field input[type="email"] {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-field input[type="text"],
  .contact-form-field input[type="email"] {
    font-size: 1.05rem;
  }
}
.contact-form-field input[type="text"]:focus-visible,
.contact-form-field input[type="email"]:focus-visible {
  outline: none;
  border-bottom: 2px solid #1A565F;
}
.contact-form-field textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: "Figtree", sans-serif;
  color: #1A565F;
  font-size: 13px;
  line-height: 1.5;
  padding: 0.4em;
  border: 1px solid #1A565F;
  background: transparent;
  resize: none;
  min-height: 6em;
  transition: border-color 0.2s ease;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-field textarea {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-field textarea {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-field textarea {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-field textarea {
    font-size: 1.05rem;
  }
}
.contact-form-field textarea:focus-visible {
  outline: none;
  border-bottom: 2px solid #1A565F;
}
.contact-form-field-invalid input,
.contact-form-field-invalid textarea {
  border-color: #FF6E00;
}
.contact-form-field-invalid label,
.contact-form-field-invalid span {
  color: #FF6E00;
}
.contact-form-field-privacy label {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  cursor: pointer;
  margin-bottom: 0;
}
.contact-form-field-privacy input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  width: 1.1em;
  height: 1.1em;
  margin-top: 0.15em;
  border: 2px solid #1A565F;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.contact-form-field-privacy input[type="checkbox"]::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border-radius: 50%;
  background: transparent;
  transition: background-color 0.2s ease;
}
.contact-form-field-privacy input[type="checkbox"]:checked::after {
  background: #1A565F;
}
.contact-form-field-privacy input[type="checkbox"]:focus-visible {
  outline: 2px solid #1A565F;
  outline-offset: 2px;
}
.contact-form-field-privacy label span {
  margin-bottom: 0;
}
.contact-form-field-privacy label span a {
  color: #1A565F;
}
.contact-form-field button[type="submit"] {
  font-family: "Fira Code", monospace;
  font-weight: bold;
  font-size: 10px;
  line-height: 1.2;
  color: #1A565F;
  background: transparent;
  border: 2px solid #1A565F;
  padding: 0.5em 1.5em;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-field button[type="submit"] {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-field button[type="submit"] {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-field button[type="submit"] {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-field button[type="submit"] {
    font-size: 0.95rem;
  }
}
.contact-form-field button[type="submit"]:hover {
  color: #ffffff;
  background: #1A565F;
}
.contact-form-field button[type="submit"]:focus-visible {
  outline: 2px solid #1A565F;
  outline-offset: 2px;
}
.contact-form-hp {
  display: none;
}
.contact-form-success {
  padding: 2em 0;
}
.contact-form-success p {
  font-family: "Fira Code", monospace;
  color: #1A565F;
  font-size: 10px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-success p {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-success p {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-success p {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-success p {
    font-size: 0.95rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-form-field input,
  .contact-form-field textarea,
  .contact-form-field button,
  .contact-form-field-privacy input[type="checkbox"]::after {
    transition: none;
  }
}
.contact-form-error p {
  font-family: "Fira Code", monospace;
  color: #FF6E00;
  font-size: 10px;
  line-height: 1.4;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .contact-form-error p {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .contact-form-error p {
    font-size: 1.6vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .contact-form-error p {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1251px) {
  .contact-form-error p {
    font-size: 0.95rem;
  }
}
.contact-form-error p + p {
  margin-top: 0.3em;
}
.columns-block {
  width: 100%;
  margin: 0 0 2.5vw 0;
  max-width: 1200px;
  padding: 0;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-block {
    margin-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-block {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-block {
    margin-bottom: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-block {
    margin-bottom: 19px;
  }
}
.columns-block-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-block-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-block-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-block-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-block-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.columns-col {
  grid-column: 1 / -1;
  line-height: 1.5;
}
.columns-col .text-block {
  padding-right: 1vw;
}
.columns-col .text-block.has-bg {
  padding: 6vw 6.8vw 6vw 6.2vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-col .text-block.has-bg {
    padding: 3.6vw 3.6vw 3.6vw 3.4vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-col .text-block.has-bg {
    padding: 2.4vw 2.6vw 2.4vw 2.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-col .text-block.has-bg {
    padding: 1.8vw 2vw 1.8vw 1.8vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-col .text-block.has-bg {
    padding: 1.4rem 1.8rem 1.4rem 1.6rem;
  }
}
.columns-block.has-bg .columns-col {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .columns-block.has-bg .columns-col {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-block.has-bg .columns-col {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.columns-block.has-bg .columns-col p {
  padding-left: 5vw;
  padding-right: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .columns-block.has-bg .columns-col p {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-block.has-bg .columns-col p {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-block[style*="--start-col"] .columns-col:first-child {
    grid-column-start: min(var(--start-col), calc(2 - var(--total-span) + 1));
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-block[style*="--start-col"] .columns-col:first-child {
    grid-column-start: min(var(--start-col), calc(3 - var(--total-span) + 1));
  }
}
@media only screen and (min-width: 769px) {
  .columns-block[style*="--start-col"] .columns-col:first-child {
    grid-column-start: min(var(--start-col), calc(4 - var(--total-span) + 1));
  }
}
.layout-1-1 .columns-col {
  grid-column: 1 / -1;
}
@media only screen and (min-width: 769px) {
  .layout-1-1 .columns-col {
    grid-column: span 4;
  }
}
@media only screen and (min-width: 361px) and (max-width: 768px) {
  .layout-1-2_1-2 .columns-col {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-2_1-2 .columns-col {
    grid-column: span 2;
  }
}
.layout-1-2_1-2 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-2 .columns-col:nth-child(2) {
    margin-top: 2.5vw;
    grid-column: span 2;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-2_1-2 .columns-col:nth-child(2) {
    margin-top: 2vw;
    grid-column: 2 / span 2;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-2_1-2 .columns-col:nth-child(2) {
    margin-top: 0;
    grid-column: span 2;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-3-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-3-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 769px) {
  .layout-3-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 3;
  }
}
.layout-3-4_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-3-4_1-4 .columns-col:nth-child(2) {
    grid-column: 2 / span 1;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) {
  .layout-3-4_1-4 .columns-col:nth-child(2) {
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_3-4 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-4_3-4 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
.layout-1-4_3-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_3-4 .columns-col:nth-child(2) {
    grid-column: span 2;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_3-4 .columns-col:nth-child(2) {
    grid-column: span 2;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_3-4 .columns-col:nth-child(2) {
    grid-column: span 3;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
.layout-1-4_1-2_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(2) {
    grid-column: span 2;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(2) {
    grid-column: span 2;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(2) {
    grid-column: span 2;
    margin-top: 0;
  }
}
.layout-1-4_1-2_1-4 .columns-col:nth-child(3) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(3) {
    grid-column: 2 / span 1;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(3) {
    grid-column: 2 / span 1;
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-2_1-4 .columns-col:nth-child(3) {
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 2;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(1) {
    grid-column: span 2;
  }
}
.layout-1-2_1-4_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(2) {
    grid-column: span 1;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(2) {
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(2) {
    grid-column: span 1;
    margin-top: 0;
  }
}
.layout-1-2_1-4_1-4 .columns-col:nth-child(3) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: span 1;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: 2 / span 1;
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-2_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-2 .columns-col:nth-child(1) {
    grid-column: span 1;
  }
}
.layout-1-4_1-4_1-2 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-2 .columns-col:nth-child(2) {
    grid-column: span 1;
    margin-top: 0;
  }
}
.layout-1-4_1-4_1-2 .columns-col:nth-child(3) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-4_1-2 .columns-col:nth-child(3) {
    grid-column: span 2;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-4_1-2 .columns-col:nth-child(3) {
    grid-column: 2 / span 2;
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-4_1-2 .columns-col:nth-child(3) {
    grid-column: span 2;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col {
    grid-column: span 1;
  }
}
.layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(2) {
    margin-top: 0;
  }
}
.layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3),
.layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(4) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3),
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(4) {
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3),
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(4) {
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3),
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(4) {
    margin-top: 0;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: 2 / span 1;
  }
}
@media only screen and (min-width: 769px) {
  .layout-1-4_1-4_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: span 1;
  }
}
.layout-1-4 .columns-col {
  grid-column-end: span 1;
}
.layout-1-2 .columns-col {
  grid-column-end: span 1;
}
@media only screen and (min-width: 361px) {
  .layout-1-2 .columns-col {
    grid-column-end: span 2;
  }
}
.layout-3-4 .columns-col {
  grid-column-end: span 1;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-3-4 .columns-col {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 521px) {
  .layout-3-4 .columns-col {
    grid-column-end: span 3;
  }
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4 .columns-col,
  .layout-1-2_1-4 .columns-col,
  .layout-1-4_1-2 .columns-col,
  .layout-1-4_1-4_1-4 .columns-col {
    grid-column-start: auto;
  }
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4 .columns-col {
    grid-column-end: span 1;
  }
}
.layout-1-4_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4 .columns-col:nth-child(2) {
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-4 .columns-col:nth-child(1) {
    grid-column-end: span 2;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-2_1-4 .columns-col:nth-child(1) {
    grid-column-end: span 2;
  }
}
.layout-1-2_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-2_1-4 .columns-col:nth-child(2) {
    grid-column: 2 / span 1;
    grid-column-end: auto;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-2_1-4 .columns-col:nth-child(2) {
    grid-column: auto;
    grid-column-end: span 1;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-2 .columns-col:nth-child(1) {
    grid-column-end: span 1;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-4_1-2 .columns-col:nth-child(1) {
    grid-column-end: span 1;
  }
}
.layout-1-4_1-2 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-2 .columns-col:nth-child(2) {
    grid-column-end: span 2;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-4_1-2 .columns-col:nth-child(2) {
    grid-column-end: span 2;
    margin-top: 0;
  }
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-4 .columns-col {
    grid-column-end: span 1;
  }
}
.layout-1-4_1-4_1-4 .columns-col:nth-child(2) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) {
  .layout-1-4_1-4_1-4 .columns-col:nth-child(2) {
    margin-top: 0;
  }
}
.layout-1-4_1-4_1-4 .columns-col:nth-child(3) {
  margin-top: 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .layout-1-4_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: 2 / span 1;
    grid-column-end: auto;
    margin-top: 2.5vw;
  }
}
@media only screen and (min-width: 521px) {
  .layout-1-4_1-4_1-4 .columns-col:nth-child(3) {
    grid-column: auto;
    grid-column-end: span 1;
    margin-top: 0;
  }
}
.columns-flow-block {
  width: 100%;
  margin: 0 0 2.5vw 0;
  max-width: 1200px;
  padding: 0;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-flow-block {
    margin-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-flow-block {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-flow-block {
    margin-bottom: 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-flow-block {
    margin-bottom: 19px;
  }
}
.columns-flow-block.has-bg .columns-flow-content {
  padding-top: 5vw;
  padding-bottom: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .columns-flow-block.has-bg .columns-flow-content {
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-flow-block.has-bg .columns-flow-content {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.columns-flow-block.has-bg .columns-flow-content p {
  padding-left: 5vw;
  padding-right: 5vw;
}
@media only screen and (min-width: 361px) and (max-width: 1250px) {
  .columns-flow-block.has-bg .columns-flow-content p {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-flow-block.has-bg .columns-flow-content p {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.columns-flow-content {
  font-family: "Fira Code", monospace;
  font-size: 13px;
  letter-spacing: -0.5px;
  color: #1A565F;
  hyphens: auto;
  line-height: 1.5;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-flow-content {
    font-size: 2.7vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-flow-content {
    font-size: 1.8vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-flow-content {
    font-size: 1.35vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-flow-content {
    font-size: 1.05rem;
  }
}
.columns-flow-content p {
  margin-bottom: 1em;
}
.columns-flow-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2.5vw;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .columns-flow-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2.5vw;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .columns-flow-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 2vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1250px) {
  .columns-flow-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5vw;
  }
}
@media only screen and (min-width: 1251px) {
  .columns-flow-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 19px;
  }
}
.flow-3 .columns-flow-content {
  grid-column: 1 / -1;
  columns: 1;
  column-gap: 2.5%;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .flow-3 .columns-flow-content {
    grid-column-end: span 2;
    columns: 2;
    column-gap: 2.5%;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .flow-3 .columns-flow-content {
    grid-column-end: -1;
    columns: 3;
    column-gap: 2%;
  }
}
@media only screen and (min-width: 769px) {
  .flow-3 .columns-flow-content {
    grid-column-end: span 3;
    columns: 3;
    column-gap: 1.5%;
  }
}
@media (min-width: 1200px) {
  .flow-3 .columns-flow-content {
    column-gap: 19px;
  }
}
.flow-2 .columns-flow-content {
  grid-column: 1 / -1;
  columns: 1;
  column-gap: 2.5%;
}
@media only screen and (min-width: 361px) and (max-width: 520px) {
  .flow-2 .columns-flow-content {
    grid-column: span 2;
    columns: 2;
    column-gap: 2.5%;
  }
}
@media only screen and (min-width: 521px) and (max-width: 768px) {
  .flow-2 .columns-flow-content {
    grid-column: span 3;
    columns: 2;
    column-gap: 2%;
  }
}
@media only screen and (min-width: 769px) {
  .flow-2 .columns-flow-content {
    grid-column: span 4;
    columns: 2;
    column-gap: 1.5%;
  }
}
@media (min-width: 1200px) {
  .flow-2 .columns-flow-content {
    column-gap: 19px;
  }
}
@media only screen and (min-width: 769px) {
  .columns-flow-block[style*="--start-col"] .columns-flow-content {
    grid-column-start: var(--start-col);
  }
}
