@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

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

/* Not used yet, but wanted to tell it is available. */
/* font-family: "Inter", sans-serif; */
html,
.root {
  font-size: 16px;
  line-height: 24px; }

body,
.article {
  font-size: 1rem;
  line-height: 1rem;
  margin: auto;
  font-family: "Open Sans", sans-serif; }
  @media (max-width: 768px) {
    body,
    .article {
      font-size: 1.4rem;
      line-height: 1.6rem; } }

h1,
h2,
h3,
h4,
h4 {
  font-family: "Raleway", sans-serif;
  color: #009f4f; }
  @media (max-width: 768px) {
    h1,
    h2,
    h3,
    h4,
    h4 {
      word-wrap: anywhere; } }

h1 {
  font-size: 5rem;
  line-height: 6rem;
  margin-top: 1.5rem;
  margin-bottom: 3rem; }
  h1.smaller {
    font-size: 3rem;
    line-height: 4rem; }
    @media (max-width: 768px) {
      h1.smaller {
        font-size: 1.5rem;
        line-height: 1.6rem;
        word-wrap: anywhere; } }
  @media (max-width: 1024px) {
    h1 {
      font-size: 3rem;
      line-height: 4rem; } }

h2 {
  font-size: 3rem;
  line-height: 4rem;
  margin-top: 2.75rem;
  margin-bottom: 1.5rem; }
  @media (max-width: 1024px) {
    h2 {
      font-size: 2rem;
      line-height: 3rem; } }
  @media (max-width: 768px) {
    h2 {
      font-size: 1.3rem;
      line-height: 1.5rem;
      margin-top: 2rem; } }

h3 {
  font-size: 2rem;
  line-height: 3rem;
  margin-top: 1.5rem;
  margin-bottom: 0rem; }
  @media (max-width: 1024px) {
    h3 {
      font-size: 1rem;
      line-height: 1rem; } }
  @media (max-width: 768px) {
    h3 {
      font-size: 1.5rem;
      line-height: 1.7rem; } }

h4 {
  margin-top: 1.5rem;
  margin-bottom: 0rem; }
  @media (max-width: 768px) {
    h4 {
      font-size: 1.5rem;
      line-height: 1.7rem; } }

h5 {
  margin-top: 1.5rem;
  margin-bottom: 0rem; }
  @media (max-width: 768px) {
    h5 {
      font-size: 1.5rem;
      line-height: 1.7rem; } }

p,
ul,
ol,
pre,
table,
blockquote {
  font-size: 1rem;
  line-height: 1rem;
  margin-top: 0rem;
  margin-bottom: 1.5rem; }
  @media (max-width: 768px) {
    p,
    ul,
    ol,
    pre,
    table,
    blockquote {
      font-size: 1.2rem;
      line-height: 1.5rem; } }

ul ul,
ol ol,
ul ol,
ol ul {
  font-size: 1rem;
  line-height: 1rem;
  margin-top: 0rem;
  margin-bottom: 0rem; }

/* Let's make sure all's aligned */
p {
  line-height: 1.6rem; }

hr,
.hr {
  border: 1px solid;
  margin: -1px 0; }

a {
  color: #01a4ff; }

a,
b,
i,
strong,
em,
small,
code {
  line-height: 0; }

sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

input {
  font-size: 0; }

hr {
  border: none;
  border-bottom: 1px solid #BDBDBD;
  max-width: 1440px;
  margin: 40px auto; }

form fieldset {
  width: auto !important; }

form input,
form textarea {
  border: none;
  padding: 12px 20px;
  border-radius: 30px;
  position: relative;
  border: 2px solid #f6f6f6;
  transition: border 0.3s ease-out;
  font-size: 1rem;
  margin-bottom: 10px; }
  form input:focus,
  form textarea:focus {
    outline: none;
    border: 2px solid #009f4f; }

form textarea.hs-input,
form input.hs-input[type="text"],
form input.hs-input[type="email"],
form input.hs-input[type="tel"] {
  max-width: 100% !important; }

form ul.inputs-list {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style-type: none;
  display: inline-block;
  vertical-align: middle; }

form span {
  line-height: 1.6rem;
  display: inline-block; }

form input.hs-input[type="checkbox"],
form input.hs-input[type="radio"] {
  float: none !important;
  vertical-align: middle;
  margin: 4px 10px 0 0; }

form .legal-consent-container .hs-form-booleancheckbox-display > span {
  display: inline-block;
  margin-left: 0px;
  width: 80%;
  vertical-align: top; }

form .hs-button {
  border: none;
  cursor: pointer;
  outline: inherit;
  line-height: 1;
  padding: 16px 35.5px;
  border-radius: 50px;
  white-space: nowrap;
  text-decoration: none; }
  form .hs-button.primary {
    background-image: linear-gradient(to right, #348F50 0%, #3ebd7d 51%, #348F50 100%);
    color: #ffffff;
    font-weight: 600;
    transition: all 0.1s;
    background-size: 200% auto;
    color: white;
    display: block;
    background-position: right center; }
    form .hs-button.primary:hover {
      background-position: left center; }

form .hs-recaptcha {
  margin-bottom: 30px; }

form ul.hs-error-msgs {
  list-style-type: none;
  margin: 0 0 30px 0;
  padding: 0; }

form .hs-error-msg {
  color: #fa8d49;
  font-weight: bolder;
  text-decoration: underline;
  line-height: 1.25rem; }

@media (max-width: 1024px) {
  form .form-columns-2 > div {
    float: none !important;
    width: 100% !important; } }

.cta_button {
  border: none;
  cursor: pointer;
  outline: inherit;
  line-height: 1.6rem;
  border-radius: 50px;
  text-decoration: none;
  text-align: center; }
  @media (max-width: 768px) {
    .cta_button {
      overflow-wrap: anywhere;
      font-size: 16px !important; } }
  .cta_button.primary {
    background-image: linear-gradient(to right, #348F50 0%, #3ebd7d 51%, #348F50 100%);
    color: #ffffff;
    font-weight: 600;
    transition: all 0.1s;
    background-size: 200% auto;
    color: white;
    display: block;
    background-position: right center;
    padding: 16px 35.5px; }
    .cta_button.primary:hover {
      background-position: left center; }
  .cta_button.primary.invert {
    background-color: #ffffff;
    color: #009f4f;
    font-weight: 600;
    padding: 16px 35.5px; }
  .cta_button.secondary {
    background-color: rgba(0, 159, 79, 0.2);
    border: 1px solid #009f4f;
    color: #009f4f;
    font-weight: 600;
    transition: all 0.3s;
    padding: 16px 35.5px; }
    .cta_button.secondary:hover {
      background-color: rgba(0, 159, 79, 0.3); }

.tag_box {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }
  @media (max-width: 768px) {
    .tag_box {
      justify-content: space-between; } }
  .tag_box .tag {
    font-family: "PT Sans";
    line-height: 1;
    padding: 8px 15px;
    border-radius: 50px;
    white-space: nowrap;
    text-decoration: none;
    background-color: #127744;
    color: #ffffff;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 10px; }
    @media (max-width: 768px) {
      .tag_box .tag {
        margin-bottom: 0;
        justify-content: space-between; } }
    .tag_box .tag.all {
      background-color: #fa8d49;
      padding: 8px 40px; }
  .tag_box a:hover {
    text-decoration: underline white; }

div.mind_da_gap {
  max-width: 1440px;
  margin: 0 auto 40px; }
  div.mind_da_gap div.gap_area {
    background: #05703a;
    background: linear-gradient(90deg, #05703a 0%, #9cc6b1 100%);
    border-radius: 89% 44% 85% 50%;
    width: 100%;
    height: 30px;
    animation: bubble_tall 15s ease-in-out infinite; }

div.overlay {
  display: none;
  background-color: rgba(53, 53, 53, 0.95);
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 9999999;
  justify-content: center;
  align-items: center; }
  div.overlay.active {
    display: flex; }
  div.overlay div.content {
    display: flex;
    flex-direction: column;
    width: 95%;
    background-color: #05703A; }
    @media (max-width: 768px) {
      div.overlay div.content {
        width: 100%; } }
    div.overlay div.content > div {
      margin: 10px; }
      @media (max-width: 420px) {
        div.overlay div.content > div {
          margin: 5px; } }
    div.overlay div.content div.close_button {
      align-self: flex-end;
      width: 35px;
      height: 35px;
      background-image: url(../images/icons/white_close.svg);
      background-size: cover;
      cursor: pointer; }
      @media (max-width: 768px) {
        div.overlay div.content div.close_button {
          width: 30px;
          height: 30px; } }
    div.overlay div.content div.main_content {
      height: 100%;
      padding: 0;
      position: relative;
      height: 80vh; }
      div.overlay div.content div.main_content iframe {
        box-sizing: border-box;
        height: 56.25vw;
        left: 50%;
        min-height: 100%;
        min-width: 100%;
        transform: translate(-50%, -50%);
        position: absolute;
        top: 50%;
        max-height: 90%;
        max-width: 1200px; }

a.icon {
  width: 40px;
  height: 40px;
  background-size: 30px;
  background-position: center;
  background-repeat: no-repeat;
  transition: all 0.1s; }
  a.icon.facebook {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_facebook.svg); }
  a.icon.reddit {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_reddit.svg); }
  a.icon.instagram {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_instagram.svg); }
  a.icon.snapchat {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_snapchat.png); }
  a.icon.pinterest {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_pinterest.png); }
  a.icon.linkedin {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_linkedin.png); }
  a.icon.twitter {
    background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/images/website-files/official_twitter.svg); }
  a.icon:hover {
    background-size: 40px; }

img[loading="lazy"] {
  background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/ku_loading.svg);
  background-size: 75px 75px;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 150px;
  min-width: 150px; }

img[src=""] {
  display: none; }

.pagination {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 10px; }
  @media (max-width: 768px) {
    .pagination {
      flex-direction: column; } }
  .pagination a {
    display: inline-block;
    background-color: #009f4f;
    padding: 16px;
    text-align: center;
    border-radius: 30px;
    font-weight: 700;
    text-decoration: none;
    color: #ffffff;
    border: 4px solid #009f4f; }
    .pagination a.active {
      border-color: #fa8d49; }
    .pagination a:hover {
      background-color: #05703A; }
  .pagination a[href$="?hsLang=fi-fi"] {
    display: none; }

@keyframes squishy_gap {
  0% {
    border-radius: 89% 44% 85% 50%; }
  25% {
    border-radius: 44% 85% 85% 89%; }
  50% {
    border-radius: 85% 44% 89% 44%; }
  75% {
    border-radius: 89% 89% 44% 85%; }
  100% {
    border-radius: 89% 44% 85% 50%; } }

div.mobile_open_close {
  display: none; }
  div.mobile_open_close .cta_button.primary {
    padding: 12px 25px; }
  @media (max-width: 1200px) {
    div.mobile_open_close {
      z-index: 100000;
      left: 0;
      right: 0;
      background: #05703a;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      padding: 10px; }
      div.mobile_open_close button {
        background: none;
        border: none;
        width: 40px;
        height: 40px;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/menu_icon.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
        div.mobile_open_close button.hamburger {
          background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/menu__hamburger.svg"); }
      div.mobile_open_close > a.company_logo {
        display: block;
        background-size: cover;
        flex-grow: 0;
        flex-shrink: 0;
        width: 86px;
        height: 40px;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/logos/kuulu-logo_white.svg");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; } }

div#nav_wrapper {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1000000;
  box-shadow: 0px 0px 0px #009f4f;
  transition: all 0.3s; }
  div#nav_wrapper.scrolled_down {
    background-color: #ffffff;
    box-shadow: 0px 0px 10px #737373; }
    div#nav_wrapper.scrolled_down nav {
      max-width: 1440px; }
    @media (max-width: 1200px) {
      div#nav_wrapper.scrolled_down {
        background-color: #05703A; } }
  div#nav_wrapper.open nav {
    top: 0; }
  div#nav_wrapper nav {
    max-width: 1900px;
    margin: 0 auto;
    display: flex;
    padding: 30px 10px;
    gap: 10px;
    justify-content: space-between;
    transition: all 0.3s; }
    @media (max-width: 1200px) {
      div#nav_wrapper nav {
        flex-direction: column;
        background: #05703a;
        position: fixed;
        top: -100%;
        left: 0;
        margin-bottom: 0;
        color: #ffffff;
        overflow: scroll;
        width: 100%;
        height: 100%;
        border: 0;
        padding: 0;
        transition: all 0.3s;
        justify-content: start;
        padding: 10px 10px;
        gap: 10px; }
        div#nav_wrapper nav > * {
          width: 100%; } }
    @media (max-width: 1200px) {
      div#nav_wrapper nav > span {
        order: 2; } }
    div#nav_wrapper nav > div {
      display: flex;
      justify-content: space-between; }
      @media (max-width: 1200px) {
        div#nav_wrapper nav > div {
          order: 2; } }
      div#nav_wrapper nav > div button {
        background: none;
        border: none;
        width: 40px;
        height: 40px;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/menu_icon.svg");
        background-size: contain;
        transform: rotate(180deg);
        display: none;
        background-position: center;
        background-repeat: no-repeat; }
        @media (max-width: 1200px) {
          div#nav_wrapper nav > div button {
            display: block; } }
      div#nav_wrapper nav > div > a.company_logo {
        display: block;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/logos/kuulu-logo_green.svg");
        background-size: cover;
        height: 48px;
        width: 128px;
        margin-right: 10px;
        align-items: center; }
        @media (max-width: 1200px) {
          div#nav_wrapper nav > div > a.company_logo {
            background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/logos/kuulu-logo_white.svg");
            flex-grow: 0;
            flex-shrink: 0;
            width: 86px;
            height: 40px;
            background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/logos/kuulu-logo_white.svg");
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat; } }
    div#nav_wrapper nav ul {
      list-style-type: none;
      margin: 0; }
    div#nav_wrapper nav div[role="navigation"] {
      align-items: center; }
    div#nav_wrapper nav > ul#main_navigation,
    div#nav_wrapper nav .hs-menu-wrapper > ul {
      padding-left: 0px; }
      @media (max-width: 1200px) {
        div#nav_wrapper nav > ul#main_navigation,
        div#nav_wrapper nav .hs-menu-wrapper > ul {
          order: 2; } }
      div#nav_wrapper nav > ul#main_navigation a,
      div#nav_wrapper nav .hs-menu-wrapper > ul a {
        text-decoration: none;
        text-transform: uppercase;
        font-weight: 600;
        line-height: 1.5rem; }
        div#nav_wrapper nav > ul#main_navigation a:hover,
        div#nav_wrapper nav .hs-menu-wrapper > ul a:hover {
          text-decoration: underline;
          color: #05703A; }
      div#nav_wrapper nav > ul#main_navigation > li,
      div#nav_wrapper nav .hs-menu-wrapper > ul > li {
        display: inline-block;
        margin-right: 10px;
        margin-bottom: 2px; }
        div#nav_wrapper nav > ul#main_navigation > li.active-branch > a,
        div#nav_wrapper nav .hs-menu-wrapper > ul > li.active-branch > a {
          text-decoration: underline; }
        @media (max-width: 1200px) {
          div#nav_wrapper nav > ul#main_navigation > li,
          div#nav_wrapper nav .hs-menu-wrapper > ul > li {
            display: block;
            font-size: 1.5rem;
            line-height: 2.25rem;
            color: #ffffff !important; }
            div#nav_wrapper nav > ul#main_navigation > li a,
            div#nav_wrapper nav .hs-menu-wrapper > ul > li a {
              color: #ffffff !important; } }
        div#nav_wrapper nav > ul#main_navigation > li > a:not(:last-child):after,
        div#nav_wrapper nav .hs-menu-wrapper > ul > li > a:not(:last-child):after {
          content: "";
          background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/chevron.svg");
          background-size: cover;
          z-index: 10;
          width: 15px;
          height: 15px;
          transform: 13px;
          display: inline-block; }
          @media (max-width: 1200px) {
            div#nav_wrapper nav > ul#main_navigation > li > a:not(:last-child):after,
            div#nav_wrapper nav .hs-menu-wrapper > ul > li > a:not(:last-child):after {
              display: none; } }
        div#nav_wrapper nav > ul#main_navigation > li a,
        div#nav_wrapper nav .hs-menu-wrapper > ul > li a {
          color: #000000; }
        div#nav_wrapper nav > ul#main_navigation > li > ul,
        div#nav_wrapper nav .hs-menu-wrapper > ul > li > ul {
          display: none;
          position: absolute;
          background-color: #e6e6e6;
          padding: 15px;
          margin-left: -30px;
          border-bottom-left-radius: 15px;
          border-bottom-right-radius: 15px; }
          @media (max-width: 1200px) {
            div#nav_wrapper nav > ul#main_navigation > li > ul,
            div#nav_wrapper nav .hs-menu-wrapper > ul > li > ul {
              display: block;
              position: relative;
              background-color: #127744;
              font-size: 1.3rem;
              line-height: 2rem;
              padding: 10px 10px 10px 30px;
              margin-left: -10px;
              dislay: block; } }
        div#nav_wrapper nav > ul#main_navigation > li:hover > ul,
        div#nav_wrapper nav .hs-menu-wrapper > ul > li:hover > ul {
          display: block; }
    div#nav_wrapper nav div#search_bar {
      position: relative;
      cursor: pointer; }
      @media (max-width: 1200px) {
        div#nav_wrapper nav div#search_bar {
          order: 1; } }
      div#nav_wrapper nav div#search_bar::after {
        content: "";
        pointer-events: none;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/search.svg");
        background-size: cover;
        position: absolute;
        width: 20px;
        height: 20px;
        top: 15px;
        left: 18px;
        display: block; }
      div#nav_wrapper nav div#search_bar form {
        width: 100%; }
      div#nav_wrapper nav div#search_bar input {
        width: 0px;
        background-color: #f6f6f6;
        padding: 12px 0 12px 50px;
        transition: all 0.5s;
        margin: 0; }
        @media (max-width: 1200px) {
          div#nav_wrapper nav div#search_bar input {
            width: 100%; } }
        div#nav_wrapper nav div#search_bar input:focus {
          width: 340px; }
          @media (max-width: 1200px) {
            div#nav_wrapper nav div#search_bar input:focus {
              width: 100%; } }
    @media (max-width: 1200px) {
      div#nav_wrapper nav div#controller {
        order: 0; } }
    @media (max-width: 1200px) {
      div#nav_wrapper nav .cta_button.primary {
        display: none; } }

header.no_banner > div {
  height: 100px; }

header.main_banner {
  background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/backgrounds/ani_blog.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain; }
  @media (max-width: 1200px) {
    header.main_banner {
      background-size: cover; } }
  header.main_banner > div {
    min-height: 50vh;
    max-width: 1440px;
    display: flex;
    align-items: center;
    margin: 0 auto 1rem;
    padding-top: 100px;
    padding-bottom: 250px;
    gap: 10px; }
    header.main_banner > div.blog_header h1,
    header.main_banner > div.blog_header div.tag_box {
      margin-bottom: 30px; }
    header.main_banner > div.blog_header div.bubble_image {
      flex: 5;
      height: 400px;
      background-position: center;
      background-size: cover;
      animation: bubble 60s ease-in-out infinite;
      border-radius: 60% 30% 20% 60% / 70% 30% 20% 60%; }
      @media (max-width: 768px) {
        header.main_banner > div.blog_header div.bubble_image {
          order: -1;
          border-radius: none;
          width: 100%;
          flex: none; } }
    header.main_banner > div.blog_header div.author {
      display: flex;
      gap: 30px;
      margin-bottom: 30px; }
      @media (max-width: 768px) {
        header.main_banner > div.blog_header div.author {
          gap: 10px;
          flex-direction: column; } }
      header.main_banner > div.blog_header div.author div.bio_picture {
        background-size: cover;
        background-position: center;
        width: 125px;
        height: 170px;
        border-top-right-radius: 50px;
        border-bottom-right-radius: 50px;
        border-bottom-left-radius: 50px; }
        @media (max-width: 768px) {
          header.main_banner > div.blog_header div.author div.bio_picture {
            width: 100%;
            max-width: 500px;
            background-position: top;
            height: 250px; } }
      header.main_banner > div.blog_header div.author div.bio_information h2 {
        font-size: 2rem;
        line-height: 3rem;
        margin-top: 1rem;
        margin-bottom: 0.5rem; }
        @media (max-width: 1024px) {
          header.main_banner > div.blog_header div.author div.bio_information h2 {
            font-size: 1rem;
            line-height: 1rem; } }
      header.main_banner > div.blog_header div.author div.bio_information div.social_links {
        display: flex;
        gap: 10px;
        flex-wrap: wrap; }
      @media (max-width: 1024px) {
        header.main_banner > div.blog_header div.author {
          margin-right: auto;
          max-width: 500px; } }
    header.main_banner > div.author p.role {
      font-weight: 600; }
    header.main_banner > div.author p.email,
    header.main_banner > div.author p.phone {
      margin: 0; }
      header.main_banner > div.author p.email a,
      header.main_banner > div.author p.phone a {
        color: #737373; }
        header.main_banner > div.author p.email a:hover,
        header.main_banner > div.author p.phone a:hover {
          color: #24272e; }
    header.main_banner > div.author p.email:before {
      content: "📧 "; }
    header.main_banner > div.author p.phone:before {
      content: "📞 "; }
    header.main_banner > div.author .social_buttons {
      display: flex;
      gap: 10px;
      flex-wrap: wrap; }
    @media (max-width: 768px) {
      header.main_banner > div {
        flex-direction: column;
        padding-bottom: 0px;
        padding-top: 30px; } }
    header.main_banner > div h1 {
      font-weight: 900; }
      @media (max-width: 768px) {
        header.main_banner > div h1 {
          margin-bottom: 2rem;
          font-size: 1.7rem;
          line-height: 1.9rem;
          margin-top: 0px; } }
    header.main_banner > div div.content_area {
      padding-left: 8rem;
      flex: 5;
      min-height: 450px; }
      @media (max-width: 1200px) {
        header.main_banner > div div.content_area {
          padding-left: 30px;
          padding-right: 30px; } }
      header.main_banner > div div.content_area div.information {
        margin-bottom: 40px; }
      header.main_banner > div div.content_area div.social_links {
        display: flex;
        gap: 10px;
        flex-wrap: wrap; }
    header.main_banner > div div.image_area {
      flex: 5; }
      header.main_banner > div div.image_area.bubbled {
        height: 450px;
        background-position: center;
        background-size: cover;
        animation: bubble_blog_listing 50s ease-in-out infinite;
        border-radius: 50% 35% 25% 70% / 60% 40% 60% 60%;
        overflow: hidden; }
      header.main_banner > div div.image_area img {
        width: 100%; }
      @media (max-width: 768px) {
        header.main_banner > div div.image_area {
          order: -1; } }
  header.main_banner .button_bar {
    display: flex;
    gap: 30px; }
    @media (max-width: 768px) {
      header.main_banner .button_bar {
        flex-direction: column;
        align-items: center;
        gap: 10px; }
        header.main_banner .button_bar a {
          display: inline-block;
          width: 85%; } }

@keyframes bubble {
  0% {
    border-radius: 60% 40% 50% 60% / 70% 30% 20% 60%; }
  25% {
    border-radius: 50% 60% 60% 60% / 60% 50% 90% 30%; }
  50% {
    border-radius: 90% 60% 70% 30% / 50% 20% 60% 40%; }
  75% {
    border-radius: 50% 60% 60% 20% / 50% 30% 20% 60%; }
  100% {
    border-radius: 60% 30% 20% 60% / 70% 80% 20% 20%; } }

@keyframes bubble_blog_listing {
  0% {
    border-radius: 60% 30% 20% 60% / 70% 30% 20% 60%; }
  25% {
    border-radius: 50% 60% 80% 40% / 60% 50% 90% 30%; }
  50% {
    border-radius: 90% 60% 70% 50% / 50% 30% 60% 40%; }
  75% {
    border-radius: 50% 60% 60% 20% / 40% 30% 20% 60%; }
  100% {
    border-radius: 60% 30% 20% 60% / 70% 30% 20% 60%; } }

content > section {
  padding: 0 10px; }

section.form_request {
  margin: 40px 0 auto;
  padding: 30px 10px; }
  section.form_request .container > h2,
  section.form_request .container > p {
    text-align: center; }
  section.form_request .container div.form_area {
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.6rem; }
    section.form_request .container div.form_area .hs-input {
      width: 100%; }
    section.form_request .container div.form_area .hs-input[type="checkbox"] {
      width: auto; }
    section.form_request .container div.form_area > form {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 10px; }
      section.form_request .container div.form_area > form input.hs-input[type="checkbox"],
      section.form_request .container div.form_area > form input.hs-input[type="radio"] {
        width: auto; }
      section.form_request .container div.form_area > form textarea {
        height: 200px; }
      section.form_request .container div.form_area > form ul.hs-error-msgs {
        padding-left: 23px; }
      section.form_request .container div.form_area > form fieldset {
        max-width: 100%; }
      section.form_request .container div.form_area > form .message {
        width: 100%;
        margin: 0; }
      section.form_request .container div.form_area > form .email {
        width: 60%;
        margin: 0; }
      section.form_request .container div.form_area > form .submit {
        margin: 0; }
    @media (max-width: 1024px) {
      section.form_request .container div.form_area {
        width: 60%; } }
    @media (max-width: 768px) {
      section.form_request .container div.form_area {
        width: 100%; } }
  section.form_request.dark {
    background-color: #05703A; }
    section.form_request.dark h2,
    section.form_request.dark p {
      color: #ffffff; }
    section.form_request.dark div.form_area {
      color: #ffffff; }

section.blog_post {
  max-width: 1001px;
  margin: 0 auto; }
  section.blog_post img.emoji {
    width: 25px; }
  section.blog_post img, section.blog_post figure {
    max-width: 1000px;
    height: auto;
    width: 100%; }
    section.blog_post img.hs-cta-img, section.blog_post figure.hs-cta-img {
      max-width: 350px; }
    @media (max-width: 768px) {
      section.blog_post img, section.blog_post figure {
        max-width: 100%; } }
  section.blog_post li {
    line-height: 1.2;
    margin-bottom: 1rem; }
  @media (max-width: 1024px) {
    section.blog_post {
      padding: 0 30px; } }
  @media (max-width: 768px) {
    section.blog_post {
      padding: 0 10px; } }
  section.blog_post article .main_text {
    line-height: 1.6rem; }
    section.blog_post article .main_text > img {
      display: block;
      width: 50%;
      margin: 30px; }
      section.blog_post article .main_text > img:nth-of-type(3n + 1) {
        margin-left: 0;
        border-bottom-right-radius: 50px;
        float: left; }
        @media (max-width: 768px) {
          section.blog_post article .main_text > img:nth-of-type(3n + 1) {
            float: none;
            width: 100%;
            margin-right: 0; } }
      section.blog_post article .main_text > img:nth-of-type(3n + 2) {
        margin-right: 0;
        border-top-left-radius: 50px;
        float: right; }
        @media (max-width: 768px) {
          section.blog_post article .main_text > img:nth-of-type(3n + 2) {
            float: none;
            width: 100%;
            margin-left: 0; } }
      section.blog_post article .main_text > img:nth-of-type(3n) {
        border-bottom-left-radius: 50px;
        border-top-right-radius: 50px;
        width: 100%;
        margin: 0;
        margin-bottom: 30px; }
    section.blog_post article .main_text figure {
      margin: 0 auto; }
      section.blog_post article .main_text figure img {
        width: 100%;
        height: auto; }
    section.blog_post article .main_text div.main_text {
      overflow: auto; }
      section.blog_post article .main_text div.main_text h1,
      section.blog_post article .main_text div.main_text h2,
      section.blog_post article .main_text div.main_text h3,
      section.blog_post article .main_text div.main_text h4,
      section.blog_post article .main_text div.main_text h5 {
        clear: both; }

section.featured_post {
  max-width: 1440px;
  margin: 0 auto 70px;
  background-color: #009f4f10;
  border-radius: 50px;
  overflow: hidden; }
  @media (max-width: 768px) {
    section.featured_post {
      margin: 70px 10px; } }
  section.featured_post:hover {
    background-color: #009f4f20; }
  section.featured_post div.information {
    padding-right: 30px;
    flex: 2; }
    section.featured_post div.information p {
      margin-bottom: 40px; }
    @media (max-width: 1024px) {
      section.featured_post div.information {
        flex-direction: column;
        padding: 30px; } }
    @media (max-width: 1024px) {
      section.featured_post div.information h2 {
        margin-top: 0; } }
    section.featured_post div.information .author {
      display: flex;
      align-items: top;
      gap: 10px;
      margin-bottom: 40px; }
      section.featured_post div.information .author img {
        height: 50px; }
      section.featured_post div.information .author .details p.name,
      section.featured_post div.information .author .details p.post_date {
        margin: 0; }
  section.featured_post a {
    display: flex;
    gap: 30px;
    text-decoration: none;
    color: #24272e; }
    @media (max-width: 1024px) {
      section.featured_post a {
        flex-direction: column;
        gap: 0; } }
  section.featured_post .main_image {
    flex: 3;
    background-size: cover;
    background-position: center; }
    @media (max-width: 1024px) {
      section.featured_post .main_image {
        flex: 30vh; } }

section.blog_listing {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding: 0 10px; }
  @media (max-width: 1200px) {
    section.blog_listing {
      flex-direction: column; } }
  section.blog_listing aside.category_list {
    border: 2px solid #cfcfcf;
    padding: 10px;
    border-radius: 25px;
    width: 32%; }
    @media (max-width: 1200px) {
      section.blog_listing aside.category_list {
        flex-direction: row;
        margin: 10px;
        border: none;
        width: 100%; } }
    section.blog_listing aside.category_list h3 {
      font-size: 2.5rem;
      line-height: 2.5rem;
      text-align: center;
      margin-bottom: 30px; }
      @media (max-width: 1200px) {
        section.blog_listing aside.category_list h3 {
          text-align: left;
          font-size: 1.5rem;
          line-height: 1.5rem; } }
    @media (max-width: 1200px) {
      section.blog_listing aside.category_list hr {
        display: none; } }
    section.blog_listing aside.category_list div.categories {
      margin: 0;
      padding: 0;
      font-size: 1rem;
      line-height: 1rem;
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 10px; }
      @media (max-width: 1200px) {
        section.blog_listing aside.category_list div.categories {
          flex-direction: row;
          flex-wrap: wrap; } }
      section.blog_listing aside.category_list div.categories a {
        display: block;
        text-decoration: none; }
        @media (max-width: 1200px) {
          section.blog_listing aside.category_list div.categories a {
            width: auto;
            line-height: 1rem;
            font-size: 1rem; } }
        section.blog_listing aside.category_list div.categories a.active {
          font-weight: bold; }
        section.blog_listing aside.category_list div.categories a:hover {
          text-decoration: underline; }
  section.blog_listing div.articles {
    display: flex;
    flex-wrap: wrap;
    flex: 2;
    gap: 10px;
    position: relative;
    justify-content: space-between;
    width: 100%;
    padding: auto 10px; }
    section.blog_listing div.articles a {
      text-decoration: none;
      color: #24272e;
      width: 49%; }
      @media (max-width: 1024px) {
        section.blog_listing div.articles a {
          width: 100%;
          margin-bottom: 40px; } }
      section.blog_listing div.articles a article {
        background-color: #009f4f10;
        border-radius: 25px;
        overflow: hidden; }
        @media (max-width: 1024px) {
          section.blog_listing div.articles a article {
            background-color: #009f4f20; } }
        section.blog_listing div.articles a article:hover {
          background-color: #009f4f20; }
        section.blog_listing div.articles a article .information {
          padding: 10px; }
        section.blog_listing div.articles a article img {
          width: 100%; }
        section.blog_listing div.articles a article h2 {
          font-size: 2rem;
          line-height: 2.5rem;
          word-wrap: anywhere; }

section.graphical_list {
  max-width: 1440px;
  margin: 0 auto 40px; }
  @media (max-width: 1200px) {
    section.graphical_list {
      padding: 0 30px; } }
  section.graphical_list ul {
    list-style-type: none;
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 30px; }
    section.graphical_list ul li {
      display: flex;
      align-items: center; }
      section.graphical_list ul li img {
        height: 75px;
        margin-right: 30px;
        padding: 10px; }
        @media (max-width: 1024px) {
          section.graphical_list ul li img {
            margin-right: 10px;
            height: 50px; } }
      section.graphical_list ul li span {
        width: 100%;
        font-size: 2rem;
        line-height: 3rem; }
        @media (max-width: 1024px) {
          section.graphical_list ul li span {
            font-size: 1.5rem;
            line-height: 2rem; } }

section.form_and_media {
  display: flex;
  max-width: 1440px;
  margin: 0 auto 40px; }
  @media (max-width: 1200px) {
    section.form_and_media {
      padding: 0 30px; } }
  @media (max-width: 1024px) {
    section.form_and_media {
      display: block; } }
  section.form_and_media div.form {
    flex: 1; }
    @media (max-width: 1024px) {
      section.form_and_media div.form {
        flex: none; } }
  section.form_and_media div.media {
    flex: 1;
    display: flex;
    flex-direction: column; }
    @media (max-width: 1024px) {
      section.form_and_media div.media {
        display: none; } }
    section.form_and_media div.media div.media_area {
      background-position: center;
      width: 100%;
      height: 80%;
      background-repeat: no-repeat; }
    section.form_and_media div.media.bubble div.media_area {
      animation: bubble_tall 30s ease-in-out infinite;
      border-radius: 400% 120% 100% 100% / 100% 10% 10% 50%; }
    @media (max-width: 1024px) {
      section.form_and_media div.media.bubble {
        display: none; } }

section.social_connections {
  max-width: 1440px;
  margin: 0 auto 40px; }
  @media (max-width: 1200px) {
    section.social_connections {
      padding: 0 30px; } }
  section.social_connections h2,
  section.social_connections p {
    text-align: center; }
  section.social_connections p {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 30px; }
    @media (max-width: 1024px) {
      section.social_connections p {
        font-size: 1rem;
        line-height: 1rem; } }
  section.social_connections div.social_icons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px; }
    section.social_connections div.social_icons a {
      display: block;
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      width: 100px;
      height: 100px;
      margin: 10px auto;
      transition: margin 0.3s; }
      @media (max-width: 1024px) {
        section.social_connections div.social_icons a {
          width: 50px;
          height: 50px; } }
      section.social_connections div.social_icons a:hover {
        margin: 0 auto; }

section.people {
  max-width: 1440px;
  margin: 0 auto 40px; }
  section.people > h2 {
    text-align: center; }
  section.people div.persons {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: space-between; }
    section.people div.persons div.person {
      width: 200px;
      flex: 30%;
      position: relative; }
      section.people div.persons div.person .tag_box {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
      section.people div.persons div.person div.image_area {
        height: 250px;
        width: 200px;
        overflow: hidden;
        position: relative;
        margin: 0 auto;
        background-size: contain;
        background-position: bottom;
        background-repeat: no-repeat; }
        section.people div.persons div.person div.image_area img {
          width: 100%;
          position: relative; }
      section.people div.persons div.person div.social_links {
        display: flex;
        justify-content: center;
        gap: 10px; }
      section.people div.persons div.person h3,
      section.people div.persons div.person p {
        text-align: center; }
        section.people div.persons div.person h3 span,
        section.people div.persons div.person p span {
          display: block; }
        section.people div.persons div.person h3 span.last_name,
        section.people div.persons div.person p span.last_name {
          font-size: 0.8; }

section.video {
  max-width: 1440px;
  margin: 0 auto 40px;
  display: flex;
  gap: 30px;
  position: relative; }
  @media (max-width: 768px) {
    section.video {
      flex-direction: column-reverse;
      gap: 0; } }
  section.video div.video_side {
    display: block;
    overflow: hidden;
    flex: 3;
    position: relative;
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    animation: bubble_video 10s ease-in-out infinite;
    background-color: #BDBDBD;
    height: 300px; }
    section.video div.video_side iframe {
      width: 180%;
      height: 100%;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      position: absolute; }
      @media (max-width: 768px) {
        section.video div.video_side iframe {
          position: relative;
          width: 120%;
          height: 150%;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); } }
    section.video div.video_side a.play_button {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      section.video div.video_side a.play_button div.circle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 75px;
        height: 75px;
        background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/white_play_circle.svg");
        background-size: contain;
        background-repeat: no-repeat;
        transition: all 0.4s;
        background-position: center;
        transition-timing-function: cubic-bezier(0.54, -0.59, 0.37, 1.76); }
        section.video div.video_side a.play_button div.circle div.arrow {
          width: 30px;
          height: 30px;
          background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/icons/white_play_arrow.svg");
          background-size: contain;
          background-repeat: no-repeat;
          transition: all 0.3s;
          transition-timing-function: cubic-bezier(0.54, -0.59, 0.37, 1.76);
          margin-left: 10px; }
      section.video div.video_side a.play_button:hover div.circle {
        width: 100px;
        height: 100px; }
        section.video div.video_side a.play_button:hover div.circle div.arrow {
          width: 40px;
          height: 40px; }
  section.video div.content_side {
    flex: 3; }
    @media (max-width: 1024px) {
      section.video div.content_side {
        padding: 10px; } }
    @media (max-width: 768px) {
      section.video div.content_side {
        text-align: center; } }
    section.video div.content_side h2 {
      color: #ffffff; }
      @media (max-width: 768px) {
        section.video div.content_side h2 {
          color: #05703A; } }
  section.video div.content_side:before {
    content: "";
    display: block;
    position: absolute;
    width: 80%;
    height: 100%;
    background-color: #05703A;
    top: 0;
    right: 0;
    z-index: -1;
    border-radius: 10% 30% 40% 30% / 30% 30% 10% 30%;
    animation: bubble_title 11s ease-in-out infinite; }
    @media (max-width: 768px) {
      section.video div.content_side:before {
        display: none; } }

section.image_with_bullets {
  max-width: 1440px;
  margin: 0 auto 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative; }
  @media (max-width: 768px) {
    section.image_with_bullets {
      flex-direction: column; } }
  @media (max-width: 1024px) {
    section.image_with_bullets {
      margin: auto 30px; } }
  section.image_with_bullets div.image_side {
    background-size: contain;
    background-position: center;
    flex: 2;
    background-repeat: no-repeat; }
    @media (max-width: 768px) {
      section.image_with_bullets div.image_side {
        background-size: cover;
        width: 100%;
        flex: 30vh; } }
  section.image_with_bullets div.bullets_side {
    flex: 2; }
    @media (max-width: 768px) {
      section.image_with_bullets div.bullets_side h3 {
        margin-bottom: 30px; } }
    section.image_with_bullets div.bullets_side div.bullet {
      display: flex;
      gap: 30px;
      margin-bottom: 30px;
      align-items: center; }
      section.image_with_bullets div.bullets_side div.bullet p {
        margin: 0; }
      section.image_with_bullets div.bullets_side div.bullet div.point {
        background-image: url(https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/backgrounds/green_circle.svg);
        background-size: contain;
        background-repeat: no-repeat;
        flex-basis: 50px;
        flex-grow: 0;
        flex-shrink: 0;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #ffffff;
        font-weight: 900;
        font-size: 1.5rem; }

section.media_and_content {
  max-width: 1440px;
  margin: 0 auto 40px;
  display: flex;
  gap: 30px; }
  section.media_and_content.flip {
    flex-direction: row-reverse; }
  section.media_and_content div.media_area {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center; }
    section.media_and_content div.media_area.left {
      justify-content: left; }
    section.media_and_content div.media_area.right {
      justify-content: right; }
    section.media_and_content div.media_area.top {
      align-items: start; }
    section.media_and_content div.media_area.bottom {
      align-items: end; }
    section.media_and_content div.media_area > img.tiny {
      width: 10%; }
      section.media_and_content div.media_area > img.tiny.cornered_top_left {
        border-top-left-radius: 5px; }
      section.media_and_content div.media_area > img.tiny.cornered_top_right {
        border-top-right-radius: 5px; }
      section.media_and_content div.media_area > img.tiny.cornered_bottom_right {
        border-bottom-right-radius: 5px; }
      section.media_and_content div.media_area > img.tiny.cornered_bottom_left {
        border-bottom-left-radius: 5px; }
    section.media_and_content div.media_area > img.small {
      width: 20%; }
      section.media_and_content div.media_area > img.small.cornered_top_left {
        border-top-left-radius: 25px; }
      section.media_and_content div.media_area > img.small.cornered_top_right {
        border-top-right-radius: 25px; }
      section.media_and_content div.media_area > img.small.cornered_bottom_right {
        border-bottom-right-radius: 25px; }
      section.media_and_content div.media_area > img.small.cornered_bottom_left {
        border-bottom-left-radius: 25px; }
    section.media_and_content div.media_area > img.medium {
      width: 50%; }
      section.media_and_content div.media_area > img.medium.cornered_top_left {
        border-top-left-radius: 50px; }
      section.media_and_content div.media_area > img.medium.cornered_top_right {
        border-top-right-radius: 50px; }
      section.media_and_content div.media_area > img.medium.cornered_bottom_right {
        border-bottom-right-radius: 50px; }
      section.media_and_content div.media_area > img.medium.cornered_bottom_left {
        border-bottom-left-radius: 50px; }
    section.media_and_content div.media_area > img.large {
      width: 80%; }
      section.media_and_content div.media_area > img.large.cornered_top_left {
        border-top-left-radius: 50px; }
      section.media_and_content div.media_area > img.large.cornered_top_right {
        border-top-right-radius: 50px; }
      section.media_and_content div.media_area > img.large.cornered_bottom_right {
        border-bottom-right-radius: 50px; }
      section.media_and_content div.media_area > img.large.cornered_bottom_left {
        border-bottom-left-radius: 50px; }
    section.media_and_content div.media_area > img.extra_large {
      width: 100%; }
      section.media_and_content div.media_area > img.extra_large.cornered_top_left {
        border-top-left-radius: 75px; }
      section.media_and_content div.media_area > img.extra_large.cornered_top_right {
        border-top-right-radius: 75px; }
      section.media_and_content div.media_area > img.extra_large.cornered_bottom_right {
        border-bottom-right-radius: 75px; }
      section.media_and_content div.media_area > img.extra_large.cornered_bottom_left {
        border-bottom-left-radius: 75px; }
  section.media_and_content div.text_area {
    flex: 1; }

section.graphic_block {
  display: flex;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto 40px;
  display: flex;
  gap: 10px;
  justify-content: space-between; }
  @media (max-width: 768px) {
    section.graphic_block {
      margin: 0 auto 10px; } }
  section.graphic_block a {
    height: 300px;
    display: block;
    background-position: center center;
    background-size: cover;
    text-decoration: none;
    overflow: hidden;
    position: relative; }
    section.graphic_block a p {
      position: absolute;
      padding: 30px;
      color: #ffffff;
      background-color: rgba(0, 0, 0, 0.5);
      text-decoration: none;
      font-size: 2rem;
      line-height: 3rem;
      font-weight: 600;
      width: 100%;
      height: 100%;
      margin: 0;
      transition: all 0.3s; }
      @media (max-width: 768px) {
        section.graphic_block a p {
          position: relative;
          font-size: 1.5rem;
          line-height: 1.7rem;
          padding: 10px; } }
    section.graphic_block a.full {
      width: 100%; }
    section.graphic_block a.half {
      flex-basis: 50%; }
      @media (max-width: 1024px) {
        section.graphic_block a.half {
          flex-basis: 100%; } }
    section.graphic_block a.third {
      flex-basis: 33%; }
      @media (max-width: 1024px) {
        section.graphic_block a.third {
          flex-basis: 100%; } }
    section.graphic_block a.two_third {
      flex-basis: 66%; }
      @media (max-width: 1024px) {
        section.graphic_block a.two_third {
          flex-basis: 100%; } }
    section.graphic_block a.round_bottom_right {
      border-bottom-right-radius: 30px; }
      @media (max-width: 1024px) {
        section.graphic_block a.round_bottom_right {
          border-bottom-right-radius: 0; } }
    section.graphic_block a.round_bottom_left {
      border-bottom-left-radius: 30px; }
      @media (max-width: 1024px) {
        section.graphic_block a.round_bottom_left {
          border-bottom-left-radius: 0; } }
    section.graphic_block a.round_top_right {
      border-top-right-radius: 30px; }
      @media (max-width: 1024px) {
        section.graphic_block a.round_top_right {
          border-top-right-radius: 0; } }
    section.graphic_block a.round_top_left {
      border-top-left-radius: 30px; }
      @media (max-width: 1024px) {
        section.graphic_block a.round_top_left {
          border-top-left-radius: 0; } }
    section.graphic_block a:hover p {
      background-color: rgba(0, 0, 0, 0.4); }

/* Hubspot transition magic */
main > span.old_landers > div.container-fluid {
  padding: 0;
  max-width: 1440px;
  margin: 0 auto; }
  main > span.old_landers > div.container-fluid div[class^='span'],
  main > span.old_landers > div.container-fluid div[class*=' span'] {
    width: 100%; }
  main > span.old_landers > div.container-fluid form input,
  main > span.old_landers > div.container-fluid form textarea {
    border-color: #cfcfcf; }
  main > span.old_landers > div.container-fluid form input[type="text"],
  main > span.old_landers > div.container-fluid form input[type="email"],
  main > span.old_landers > div.container-fluid form input[type="tel"],
  main > span.old_landers > div.container-fluid form textarea {
    width: 100% !important; }
  main > span.old_landers > div.container-fluid form fieldset {
    width: 100%; }
  main > span.old_landers > div.container-fluid div.banner-area {
    background-color: black; }
    main > span.old_landers > div.container-fluid div.banner-area .banner-image {
      opacity: 0.5; }
    main > span.old_landers > div.container-fluid div.banner-area .hero-container {
      position: relative;
      min-height: 600px;
      margin-top: 100px;
      margin-bottom: 40px;
      padding: 10px; }
      @media (max-width: 1200px) {
        main > span.old_landers > div.container-fluid div.banner-area .hero-container {
          margin-top: 0; } }
      @media (max-width: 1024px) {
        main > span.old_landers > div.container-fluid div.banner-area .hero-container {
          min-height: 400px; } }
      main > span.old_landers > div.container-fluid div.banner-area .hero-container > * {
        position: relative; }
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h1,
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h2,
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h3,
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h4,
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h5,
      main > span.old_landers > div.container-fluid div.banner-area .hero-container h6 {
        color: #ffffff;
        text-align: center;
        margin-top: 15%; }
        @media (max-width: 1024px) {
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h1,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h2,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h3,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h4,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h5,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h6 {
            width: 80%; } }
        @media (max-width: 768px) {
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h1,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h2,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h3,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h4,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h5,
          main > span.old_landers > div.container-fluid div.banner-area .hero-container h6 {
            width: 100%; } }
      main > span.old_landers > div.container-fluid div.banner-area .hero-container div.banner-image {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #05703A;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right; }
        @media (max-width: 1024px) {
          main > span.old_landers > div.container-fluid div.banner-area .hero-container div.banner-image {
            background-position: center; } }
  main > span.old_landers > div.container-fluid div.span8.widget-type-custom_widget {
    flex: 2; }
  main > span.old_landers > div.container-fluid div.dnd-section div.row-fluid {
    display: flex;
    gap: 30px; }
    @media (max-width: 1024px) {
      main > span.old_landers > div.container-fluid div.dnd-section div.row-fluid {
        display: block; } }
    main > span.old_landers > div.container-fluid div.dnd-section div.row-fluid > div.sidebar-form {
      flex: 1;
      min-width: 500px;
      border: 2px solid #BDBDBD;
      background-color: #f6f6f6;
      padding: 40px;
      border-radius: 50px; }
      @media (max-width: 1024px) {
        main > span.old_landers > div.container-fluid div.dnd-section div.row-fluid > div.sidebar-form {
          min-width: auto; } }

div.error-page, div.systems-page {
  padding-top: 180px; }
  @media (max-width: 768px) {
    div.error-page, div.systems-page {
      padding-top: 40px; } }
  div.error-page h1, div.systems-page h1 {
    text-align: center; }

.hs-search-field {
  max-width: 1100px;
  margin: 0 auto 40px;
  background-color: #BDBDBD;
  padding: 40px;
  border-radius: 30px; }
  @media (max-width: 768px) {
    .hs-search-field {
      margin: 0 10px;
      padding: 10px; } }
  .hs-search-field .hs-search-field__suggestions {
    display: none; }

.hs-search-highlight {
  border-radius: 6px;
  padding-right: 2px;
  padding-left: 2px;
  border: 1px solid #cfcfcf; }

.hs-search-results__prev-page {
  float: left; }

.hs-search-results__next-page {
  float: right; }

.hs-search-results {
  max-width: 1100px;
  margin: 0 auto 40px; }
  .hs-search-results .hs-search-results__listing {
    padding: 0; }
    @media (max-width: 768px) {
      .hs-search-results .hs-search-results__listing {
        padding: 0 10px; } }
    .hs-search-results .hs-search-results__listing li {
      display: flex;
      flex-wrap: wrap;
      gap: 30px;
      padding-top: 40px;
      padding-bottom: 40px; }
      .hs-search-results .hs-search-results__listing li a {
        font-size: 2rem;
        line-height: 3rem;
        align-self: stretch;
        word-break: break-word;
        font-weight: bold;
        flex: 100%; }
        @media (max-width: 768px) {
          .hs-search-results .hs-search-results__listing li a {
            font-size: 1.2rem;
            line-height: 1.5rem; } }
      .hs-search-results .hs-search-results__listing li .hs-search-results__featured-image {
        flex: 2; }
        .hs-search-results .hs-search-results__listing li .hs-search-results__featured-image img {
          width: 100%; }
      .hs-search-results .hs-search-results__listing li .hs-search-results__description {
        flex: 5; }
      @media (max-width: 768px) {
        .hs-search-results .hs-search-results__listing li .hs-search-results__featured-image {
          flex: auto; }
        .hs-search-results .hs-search-results__listing li .hs-search-results__description {
          flex: auto; } }

/* End of Hubspot transition magic */
/* Animation Declarations */
@keyframes bubble_video {
  0% {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
  25% {
    border-radius: 30% 70% 70% 30% / 30% 50% 70% 70%; }
  50% {
    border-radius: 30% 70% 50% 40% / 30% 30% 70% 70%; }
  75% {
    border-radius: 30% 70% 30% 30% / 40% 30% 70% 70%; }
  100% {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; } }

@keyframes bubble_title {
  0% {
    border-radius: 30% 10% 70% 30% / 30% 30% 10% 70%; }
  25% {
    border-radius: 30% 60% 70% 30% / 30% 50% 70% 70%; }
  50% {
    border-radius: 30% 70% 70% 40% / 30% 30% 70% 70%; }
  75% {
    border-radius: 30% 70% 30% 30% / 40% 40% 70% 70%; }
  100% {
    border-radius: 30% 10% 70% 30% / 30% 30% 10% 70%; } }

@keyframes bubble_tall {
  0% {
    border-radius: 400% 120% 100% 100% / 100% 10% 10% 50%; }
  25% {
    border-radius: 90% 110% 50% 90% / 50% 20% 40% 50%; }
  50% {
    border-radius: 20% 70% 50% 90% / 50% 3% 1% 50%; }
  75% {
    border-radius: 70% 90% 80% 90% / 50% 10% 10% 50%; }
  100% {
    border-radius: 400% 120% 100% 100% / 100% 10% 10% 50%; } }

/* End of Animation Declarations */
footer {
  background-color: #05703A;
  padding-bottom: 70px; }
  @media (max-width: 1024px) {
    footer {
      padding-top: 40px; } }
  footer > section {
    margin: 0 auto;
    max-width: 1440px; }
    footer > section h2,
    footer > section p {
      color: white; }
    footer > section.contact_request {
      margin-top: 40px;
      padding: 0 10px; }
      footer > section.contact_request > h2,
      footer > section.contact_request > p {
        text-align: center; }
      footer > section.contact_request > h2 {
        font-size: 30px; }
      footer > section.contact_request div.contact_form {
        width: 40%;
        margin: 0 auto;
        color: white;
        line-height: 1.6rem; }
        footer > section.contact_request div.contact_form .hs-input {
          width: 100%; }
        footer > section.contact_request div.contact_form form input.hs-input[type="checkbox"],
        footer > section.contact_request div.contact_form form input.hs-input[type="radio"] {
          width: auto; }
        footer > section.contact_request div.contact_form form textarea {
          height: 200px; }
        footer > section.contact_request div.contact_form form ul.hs-error-msgs {
          padding-left: 23px; }
        footer > section.contact_request div.contact_form form fieldset {
          max-width: 100%; }
        @media (max-width: 1024px) {
          footer > section.contact_request div.contact_form {
            width: 60%; } }
        @media (max-width: 768px) {
          footer > section.contact_request div.contact_form {
            width: 90%; } }
        footer > section.contact_request div.contact_form > form {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          gap: 10px; }
          footer > section.contact_request div.contact_form > form .message {
            width: 100%;
            margin: 0; }
          footer > section.contact_request div.contact_form > form .email {
            width: 60%;
            margin: 0; }
          footer > section.contact_request div.contact_form > form .submit {
            margin: 0; }
    footer > section.social_links {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 40px; }
      @media (max-width: 1200px) {
        footer > section.social_links {
          gap: 30px; } }
      footer > section.social_links a {
        background: #127744; }
        footer > section.social_links a img {
          transition: all 0.3s; }
          @media (max-width: 1200px) {
            footer > section.social_links a img {
              background: #ffffff; } }
  footer div.main_content {
    max-width: 1440px;
    margin: 0 auto 40px;
    padding: 0 10px;
    display: flex; }
    @media (max-width: 1200px) {
      footer div.main_content {
        flex-direction: column; } }
    footer div.main_content h2,
    footer div.main_content h3,
    footer div.main_content p {
      color: white;
      text-decoration: none; }
    footer div.main_content section.site_map {
      flex: 1; }
      @media (max-width: 1024px) {
        footer div.main_content section.site_map > p {
          margin: 0 auto 30px;
          text-align: center; } }
      @media (max-width: 768px) {
        footer div.main_content section.site_map > p {
          text-align: left; } }
    footer div.main_content section.office_locations {
      flex: 1;
      display: flex;
      gap: 70px;
      justify-content: end;
      flex-wrap: wrap; }
      @media (max-width: 1200px) {
        footer div.main_content section.office_locations {
          justify-content: space-between; } }
      @media (max-width: 1024px) {
        footer div.main_content section.office_locations {
          border-top: 1px solid #737373;
          border-bottom: 1px solid #737373;
          margin-top: 40px;
          justify-content: flex-start; } }
      @media (max-width: 768px) {
        footer div.main_content section.office_locations {
          gap: 10px;
          justify-content: space-between; } }
      footer div.main_content section.office_locations h3 {
        font-weight: 900; }
      footer div.main_content section.office_locations a {
        text-decoration: none; }
        footer div.main_content section.office_locations a:hover {
          text-decoration: underline white; }
  footer a.company_logo {
    display: block;
    width: 140px;
    height: 52px;
    background-image: url("https://450584.fs1.hubspotusercontent-eu1.net/hubfs/450584/website_files/logos/kuulu-logo_white.svg");
    background-size: cover;
    flex-basis: 80px;
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 10px;
    align-items: center;
    align-content: center;
    margin: 30px 0; }
    @media (max-width: 1024px) {
      footer a.company_logo {
        margin: 0 auto 30px; } }
  footer:hover > section.social_links img {
    background: #ffffff; }

/* Specific layout features that hubl uses for some layout features. */