:root {
  --gb-footer-padding-block: max(80px, calc(7.5 * var(--su)));
  --gb-footer-gap: max(40px, calc(4 * var(--su)));
  --gb-footer-radius: max(40px, calc(4 * var(--su)));
  --gb-footer-card-radius: max(20px, calc(1.5 * var(--su)));
  --gb-footer-menu-width: max(180px, calc(13.1875 * var(--su)));
  --gb-footer-info-width: max(320px, calc(35.1875 * var(--su)));
  --gb-footer-logo-width: max(246px, calc(20.5 * var(--su)));
  --gb-footer-logo-height: max(48px, calc(4 * var(--su)));
  --gb-footer-icon-size: max(32px, calc(2 * var(--su)));
  --gb-footer-small-icon-size: max(16px, calc(1 * var(--su)));
}

.gb-footer {
  background: var(--color-white);
  color: var(--color-white);
  overflow-x: clip;
}

.gb-footer,
.gb-footer *,
.gb-footer *::before,
.gb-footer *::after {
  box-sizing: border-box;
}

.gb-footer-main {
  display: flex;
  flex-direction: column;
  gap: var(--gb-footer-gap);
  padding-block: var(--gb-footer-padding-block);
  padding-inline: var(--pk-site-gutter);
  border-bottom-left-radius: var(--gb-footer-radius);
  border-top-right-radius: var(--gb-footer-radius);
  background: var(--color-cypress);
}

.gb-footer-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: max(40px, calc(4 * var(--su)));
}

.gb-footer-contact {
  display: flex;
  width: min(100%, calc(42.5 * var(--su)));
  flex-direction: column;
  gap: max(20px, calc(1.5 * var(--su)));
}

.gb-footer-heading {
  margin: 0;
  color: var(--color-white);
  font-family: var(--pk-heading-font-family);
  font-size: var(--scaling-h2);
  font-weight: var(--pk-heading-font-weight);
  line-height: var(--pk-heading-line-height);
}

.gb-footer-contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: max(12px, calc(1 * var(--su)));
}

.gb-footer-contact-link {
  display: inline-flex;
  align-items: center;
  gap: max(8px, calc(0.5 * var(--su)));
  color: var(--color-white);
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-md);
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
  text-decoration: none;
}

.gb-footer-contact-icon {
  display: inline-flex;
  width: var(--gb-footer-icon-size);
  height: var(--gb-footer-icon-size);
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  background-color: var(--color-lime);
}

.gb-footer-contact-icon::before {
  content: "";
  width: var(--gb-footer-small-icon-size);
  height: var(--gb-footer-small-icon-size);
  background: var(--color-deep-pine);
}

.gb-footer-contact-icon-phone::before {
  mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.153 3.333c.1-.002.199.02.288.064.09.044.168.11.226.192l.833 1.173c.053.076.087.164.1.256.012.092.002.185-.031.272l-.393 1.046a.667.667 0 0 0 .153.707l2.628 2.628a.667.667 0 0 0 .707.153l1.046-.393a.667.667 0 0 1 .528.069l1.173.833c.082.058.148.136.192.226.044.089.066.188.064.288-.028 1.171-.998 2.055-2.166 1.955-1.919-.164-3.869-1.08-5.426-2.637C3.518 8.576 2.602 6.626 2.438 4.707 2.338 3.539 3.982 3.361 5.153 3.333Z' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.gb-footer-contact-icon-mail::before {
  mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.667 4.667A1.333 1.333 0 0 1 4 3.333h8a1.333 1.333 0 0 1 1.333 1.334v6.666A1.333 1.333 0 0 1 12 12.667H4a1.333 1.333 0 0 1-1.333-1.334V4.667Z' stroke='black' stroke-width='1.2'/%3E%3Cpath d='m3.333 4.667 4.004 3.336a1.333 1.333 0 0 0 1.326 0l4.004-3.336' stroke='black' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.gb-footer-newsletter {
  display: flex;
  width: min(100%, calc(35.1875 * var(--su)));
  min-height: max(152px, calc(9.5 * var(--su)));
  flex-direction: column;
  justify-content: space-between;
  gap: max(16px, calc(1 * var(--su)));
  padding: max(20px, calc(1.5 * var(--su)));
  border-bottom-left-radius: var(--gb-footer-card-radius);
  border-top-right-radius: var(--gb-footer-card-radius);
  background: var(--color-white);
}

.gb-footer-newsletter-title {
  margin: 0;
  color: var(--color-deep-pine);
  font-family: var(--pk-heading-font-family);
  font-size: var(--scaling-h4);
  font-weight: var(--pk-heading-font-weight);
  line-height: var(--pk-heading-line-height);
}

.gb-footer-form .gform_wrapper form,
.gb-footer-form form {
  display: flex;
  align-items: center;
  gap: max(8px, calc(0.5 * var(--su)));
}

.gb-footer-form .gform-body,
.gb-footer-form .gform_fields,
.gb-footer-form .gfield {
  flex: 1 1 auto;
  min-width: 0;
}

.gb-footer-form .gform_fields {
  display: block;
}

.gb-footer-form .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.gb-footer-form .gform_footer,
.gb-footer-form .gform_page_footer {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

.gb-footer-form input[type="email"],
.gb-footer-form input[type="text"],
.gb-footer-form .gform_wrapper.gform-theme input[type="email"],
.gb-footer-form .gform_wrapper.gform-theme input[type="text"] {
  min-height: max(44px, calc(2.75 * var(--su)));
  border: 1px solid var(--color-deep-pine-10) !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-deep-pine-025) !important;
  color: var(--color-deep-pine) !important;
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-xs);
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
  padding-block: max(10px, calc(0.625 * var(--su)));
  padding-inline: max(24px, calc(1.5 * var(--su))) max(16px, calc(1 * var(--su)));
}

.gb-footer-form input::placeholder {
  color: var(--color-deep-pine-80);
  opacity: 1;
}

.gb-footer-form input[type="submit"],
.gb-footer-form button[type="submit"],
.gb-footer-form .gform_wrapper.gform-theme input[type="submit"],
.gb-footer-form .gform_wrapper.gform-theme button[type="submit"],
.gb-footer-form .gform_wrapper.gform-theme .gform_button.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  gap: var(--gb-footer-menu-gap, max(8px, calc(0.5 * var(--su))));
  min-height: max(48px, calc(3 * var(--su)));
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  background-color: var(--color-lime) !important;
  color: var(--color-deep-pine) !important;
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-sm);
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
  text-align: left !important;
  padding-block: max(4px, calc(0.25 * var(--su)));
  padding-inline: max(20px, calc(1.25 * var(--su))) max(4px, calc(0.25 * var(--su)));
}

.gb-footer-submit-icon {
  display: inline-flex;
  width: max(40px, calc(2.5 * var(--su)));
  height: max(40px, calc(2.5 * var(--su)));
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  background-color: var(--color-lime-50);
}

.gb-footer-submit-icon::before {
  content: "";
  width: var(--gb-footer-small-icon-size);
  height: var(--gb-footer-small-icon-size);
  background: var(--color-deep-pine);
  mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16669 10H15.8334M15.8334 10L10.8334 5M15.8334 10L10.8334 15' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.gb-footer-separator {
  width: 100%;
  height: 1px;
  background: var(--color-cypress-80);
}

.gb-footer-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: max(40px, calc(4 * var(--su)));
}

.gb-footer-menus {
  display: flex !important;
  gap: max(24px, calc(1.5 * var(--su)));
}

.gb-footer-menu-group {
  width: var(--gb-footer-menu-width);
}

.gb-footer-menu-title,
.gb-footer-label {
  margin: 0 0 max(16px, calc(1.5 * var(--su)));
  color: var(--color-cypress-50);
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-xs);
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
  text-transform: uppercase;
}

.gb-footer-menu,
.gb-footer-legal-menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gb-footer-menu {
  flex-direction: column;
  gap: max(16px, calc(1 * var(--su)));
}

.gb-footer-menu li {
  border-bottom: 1px solid var(--color-cypress-80);
}

.gb-footer-menu a,
.gb-footer-legal-menu a {
  color: inherit;
  font-family: var(--pk-text-font-family);
  font-weight: var(--pk-text-font-weight);
  text-decoration: none;
}

.gb-footer-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: max(12px, calc(0.75 * var(--su)));
  padding-bottom: max(14px, calc(1 * var(--su)));
  color: var(--color-white);
  font-size: var(--desktop-body-xs);
  line-height: var(--pk-text-line-height);
}

.gb-footer-menu a::after,
.gb-footer-legal-menu a::before {
  content: "";
  width: var(--gb-footer-small-icon-size);
  height: var(--gb-footer-small-icon-size);
  flex: 0 0 auto;
  background-color: var(--color-lime);
  mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.333 8h9.334M12.667 8l-4-4M12.667 8l-4 4' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.gb-footer-menu a:hover,
.gb-footer-menu a:focus-visible {
  color: var(--color-lime);
}

.gb-footer-info {
  display: flex;
  width: min(100%, var(--gb-footer-info-width));
  align-items: flex-start;
  justify-content: space-between;
  gap: max(24px, calc(1.5 * var(--su)));
}

.gb-footer-address {
  width: var(--gb-footer-menu-width);
}

.gb-footer-address-content {
  display: flex;
  flex-direction: column;
  gap: max(16px, calc(1 * var(--su)));
}

.gb-footer-address address,
.gb-footer-affiliation {
  margin: 0;
  color: var(--color-white);
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-xs);
  font-style: normal;
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
}

.gb-footer-address address span {
  display: block;
}

.gb-footer-affiliation a,
.gb-footer-credit a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.gb-footer-social {
  display: inline-flex;
  width: var(--gb-footer-icon-size);
  height: var(--gb-footer-icon-size);
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-cypress-80);
  border-radius: var(--radius-pill);
  color: var(--color-cypress-50);
  font-family: Arial, sans-serif;
  font-size: max(12px, calc(0.75 * var(--su)));
  line-height: 1;
  text-decoration: none;
}

.gb-footer-logo {
  display: inline-flex;
  width: var(--gb-footer-logo-width);
  height: var(--gb-footer-logo-height);
}

.gb-footer-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gb-footer-disclaimer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: max(24px, calc(1.5 * var(--su)));
  padding-block: max(24px, calc(1.5 * var(--su)));
  padding-inline: var(--pk-site-gutter);
  color: var(--color-deep-pine-60);
  background: var(--color-white);
}

.gb-footer-legal-menu {
  flex-wrap: wrap;
  gap: max(16px, calc(1 * var(--su)));
}

.gb-footer-legal-menu a {
  display: inline-flex;
  align-items: center;
  gap: max(4px, calc(0.25 * var(--su)));
  color: var(--color-deep-pine-60);
  font-size: var(--desktop-body-xs);
  line-height: var(--pk-text-line-height);
}

.gb-footer-legal-menu a::before {
  background-color: currentColor;
}

.gb-footer-credit {
  margin: 0;
  color: var(--color-deep-pine-60);
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-xs);
  font-weight: var(--pk-text-font-weight);
  line-height: var(--pk-text-line-height);
}

.gb-footer-mobile-menus {
  display: none !important;
}

@media only screen and (max-width: 992px) {
  :root {
    --gb-footer-padding-block: max(64px, calc(4 * var(--su)));
    --gb-footer-gap: max(40px, calc(2.5 * var(--su)));
    --gb-footer-radius: max(32px, calc(2 * var(--su)));
    --gb-footer-logo-width: max(246px, calc(15.375 * var(--su)));
    --gb-footer-logo-height: max(48px, calc(3 * var(--su)));
  }

  .gb-footer-main {
    padding-inline: var(--pk-site-gutter);
  }

  .gb-footer-intro,
  .gb-footer-body,
  .gb-footer-disclaimer {
    width: 100%;
  }

  .gb-footer-intro,
  .gb-footer-body,
  .gb-footer-info,
  .gb-footer-contact-links {
    flex-direction: column;
  }

  .gb-footer-intro {
    gap: max(32px, calc(2 * var(--su)));
  }

  .gb-footer-contact,
  .gb-footer-newsletter,
  .gb-footer-info,
  .gb-footer-address {
    width: 100%;
  }

  .gb-footer-heading {
    font-size: var(--scaling-h2);
  }

  .gb-footer-newsletter {
    min-height: 0;
    max-width: 100%;
  }

  .gb-footer-newsletter-title {
    font-size: var(--scaling-h4);
    line-height: var(--pk-heading-line-height);
  }

  .gb-footer-form .gform_wrapper form,
  .gb-footer-form form {
    flex-direction: column;
    align-items: stretch;
    gap: max(12px, calc(0.75 * var(--su)));
  }

  .gb-footer-form input[type="submit"],
  .gb-footer-form button[type="submit"],
  .gb-footer-form .gform_wrapper.gform-theme input[type="submit"],
  .gb-footer-form .gform_wrapper.gform-theme button[type="submit"],
  .gb-footer-form .gform_wrapper.gform-theme .gform_button.button {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .gb-footer-form .gform_footer,
  .gb-footer-form .gform_page_footer {
    width: 100%;
  }

  .gb-footer-menus {
    display: none !important;
  }

  .gb-footer-mobile-menus {
    display: flex !important;
    width: 100%;
    flex-direction: column;
    gap: max(8px, calc(0.5 * var(--su)));
  }

  .gb-footer-menu-details {
    border: 1px solid var(--color-cypress-80);
    border-bottom-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
  }

  .gb-footer-menu-summary {
    display: flex;
    min-height: max(56px, calc(3.5 * var(--su)));
    cursor: pointer;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: max(16px, calc(1 * var(--su)));
    padding: max(16px, calc(1 * var(--su)));
    color: var(--color-white);
    font-family: var(--pk-text-font-family);
    font-size: var(--desktop-body-sm);
    font-weight: var(--pk-text-font-weight);
    line-height: var(--pk-text-line-height);
  }

  .gb-footer-menu-summary::-webkit-details-marker {
    display: none;
  }

  .gb-footer-summary-icon {
    display: inline-flex;
    width: max(24px, calc(1.5 * var(--su)));
    height: max(24px, calc(1.5 * var(--su)));
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-pill);
    background-color: var(--color-lime);
  }

  .gb-footer-summary-icon::before {
    content: "";
    width: max(14px, calc(0.875 * var(--su)));
    height: max(14px, calc(0.875 * var(--su)));
    background: var(--color-deep-pine);
    transform: rotate(90deg);
    mask: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.917 7h8.166M11.083 7l-3.5-3.5M11.083 7l-3.5 3.5' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .gb-footer-menu-details[open] .gb-footer-summary-icon::before {
    transform: rotate(-90deg);
  }

  .gb-footer-menu-details .gb-footer-menu {
    padding: 0 max(16px, calc(1 * var(--su))) max(16px, calc(1 * var(--su)));
  }

  .gb-footer-info {
    align-items: center;
    gap: max(40px, calc(2.5 * var(--su)));
  }

  .gb-footer-address {
    align-self: stretch;
  }

  .gb-footer-label {
    margin-bottom: max(16px, calc(1 * var(--su)));
  }

  .gb-footer-social {
    width: max(40px, calc(2.5 * var(--su)));
    height: max(40px, calc(2.5 * var(--su)));
  }

  .gb-footer-disclaimer {
    flex-direction: column;
    align-items: center;
    padding: max(24px, calc(1.5 * var(--su)));
  }

  .gb-footer-legal,
  .gb-footer-legal-menu {
    width: 100%;
  }

  .gb-footer-legal-menu {
    flex-direction: column;
    gap: max(8px, calc(0.5 * var(--su)));
  }

  .gb-footer-legal-menu li {
    width: 100%;
  }

  .gb-footer-legal-menu a {
    display: flex;
    width: 100%;
    min-height: max(56px, calc(3.5 * var(--su)));
    justify-content: space-between;
    padding: max(16px, calc(1 * var(--su)));
    border: 1px solid var(--color-deep-pine-10);
    border-bottom-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
    font-size: var(--desktop-body-sm);
  }

  .gb-footer-legal-menu a::before {
    display: none;
  }

  .gb-footer-legal-menu a::after {
    content: "";
    order: 2;
    width: var(--gb-footer-small-icon-size);
    height: var(--gb-footer-small-icon-size);
    flex: 0 0 auto;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.333 8h9.334M12.667 8l-4-4M12.667 8l-4 4' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  .gb-footer-credit {
    width: 100%;
    text-align: center;
  }
}
