.site-footer {
    flex-shrink: 0;
    background: rgb(246, 246, 246);
    border-radius: 20px 20px 0px 0px;
    color: var(--pgi-black);
    font-family: "Involve", system-ui, sans-serif;
}

.site-footer a {
    color: inherit;
    text-decoration: none;
}

.site-footer p {
    opacity: 1;
}

.site-footer a:hover,
.site-footer a:focus-visible {
    color: var(--pgi-laguna);
}

.site-footer__inner {
    width: min(100% - 40px, 1680px);
    margin-inline: auto;
    padding-top: 138px;
    padding-bottom: 20px;
}

.site-footer__primary,
.site-footer__secondary {
    display: grid;
    grid-template-columns: minmax(292px, 388px) minmax(0, 1197px);
    justify-content: space-between;
    align-items: start;
    gap: 40px;
}

.site-footer__secondary {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid rgba(var(--pgi-black-rgb), 0.1);
}

.site-footer__brand {
    width: 100%;
    max-width: 388px;
	margin-top: -3px;
}

.site-footer__logo {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: 250px;
    height: 90px;
    max-width: 100%;
    margin-bottom: 20px;
    margin-left: -31px;
    overflow: hidden;
}

.site-footer__logo-image {
    width: 194px;
    height: auto;
}

.site-footer__logo .site-header__logo-animation {
    display: none;
    width: 194px;
    height: 90px;
    overflow: hidden;
}

.site-footer__logo.has-lottie-logo .site-header__logo-animation {
    display: block;
    width: 250px;
}

.site-header__logo-fallback {
	padding-bottom: 6px;
	margin-top: 4px;
}

.site-footer__logo.has-lottie-logo .site-header__logo-fallback {
    display: none !important;
}

.site-footer__logo.no-lottie-logo .site-header__logo-fallback {
    display: block !important;
}

.site-footer__logo .site-header__logo-animation svg {
    display: block;
    width: 100%;
    height: 100%;
    transform: scale(2.5) !important;
    transform-origin: 50% 50%;
}

.site-footer__tagline,
.site-footer__address,
.site-footer__newsletter-title,
.site-footer__copyright,
.site-footer__bottom-links {
    margin: 0;
}

.site-footer__tagline {
    width: 274px;
    max-width: 100%;
    color: #70706c;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}

.site-footer__addresses {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin-top: 37px;
    color: var(--pgi-black);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}

.site-footer__address strong {
    font-weight: 500;
}

.site-footer__contact-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 25px;
    color: #70706c;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}

.site-footer__contact-link-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.site-footer__contact-links a {
    display: inline-flex;
    align-items: center;
}

.site-footer__contact-copy {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: inherit;
    background-color: currentColor;
    -webkit-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 fill-rule='evenodd' clip-rule='evenodd' d='M10 15.168H7.29572C6.07055 15.168 5.10013 15.168 4.34065 15.0659C3.55904 14.9608 2.9264 14.7394 2.4275 14.2405C1.92859 13.7416 1.70718 13.1089 1.60209 12.3273C1.49998 11.5678 1.49999 10.5974 1.5 9.37225V5.33463C1.5 4.08647 2.4147 3.05195 3.61034 2.86482C3.70232 2.35549 3.87835 1.92075 4.23223 1.56687C4.63351 1.16559 5.13876 0.992993 5.73883 0.912315C6.31681 0.834608 7.05169 0.83462 7.96342 0.834634H10.0366C10.9483 0.83462 11.6832 0.834608 12.2612 0.912315C12.8612 0.992993 13.3665 1.16559 13.7678 1.56687C14.169 1.96814 14.3416 2.47339 14.4223 3.07347C14.5 3.65145 14.5 4.38633 14.5 5.29805V8.70455C14.5 9.61628 14.5 10.3512 14.4223 10.9291C14.3416 11.5292 14.169 12.0345 13.7678 12.4357C13.4139 12.7896 12.9791 12.9656 12.4698 13.0576C12.2827 14.2533 11.2482 15.168 10 15.168ZM11.4196 13.1539C11.2177 13.7438 10.6584 14.168 10 14.168H7.33333C6.06212 14.168 5.15901 14.1669 4.4739 14.0748C3.80317 13.9846 3.41674 13.8155 3.1346 13.5334C2.85246 13.2512 2.68335 12.8648 2.59317 12.1941C2.50106 11.509 2.5 10.6058 2.5 9.33464V5.33463C2.5 4.67626 2.92416 4.11696 3.51411 3.91508C3.49999 4.32172 3.49999 4.7815 3.5 5.29805V8.70455C3.49999 9.61628 3.49998 10.3512 3.57768 10.9291C3.65836 11.5292 3.83096 12.0345 4.23223 12.4357C4.63351 12.837 5.13876 13.0096 5.73883 13.0903C6.31681 13.168 7.05169 13.168 7.96342 13.168H10.0366C10.5531 13.168 11.0129 13.168 11.4196 13.1539ZM4.93934 11.7286C5.12385 11.9131 5.3829 12.0334 5.87208 12.0992C6.37565 12.1669 7.04306 12.168 8 12.168H10C10.9569 12.168 11.6244 12.1669 12.1279 12.0992C12.6171 12.0334 12.8762 11.9131 13.0607 11.7286C13.2452 11.5441 13.3655 11.2851 13.4312 10.7959C13.4989 10.2923 13.5 9.62491 13.5 8.66797V5.33463C13.5 4.37769 13.4989 3.71028 13.4312 3.20671C13.3655 2.71753 13.2452 2.45848 13.0607 2.27397C12.8762 2.08946 12.6171 1.96917 12.1279 1.9034C11.6244 1.8357 10.9569 1.83463 10 1.83463H8C7.04306 1.83463 6.37565 1.8357 5.87208 1.9034C5.3829 1.96917 5.12385 2.08946 4.93934 2.27397C4.75483 2.45848 4.63453 2.71753 4.56877 3.20671C4.50106 3.71028 4.5 4.37769 4.5 5.33463V8.66797C4.5 9.62491 4.50106 10.2923 4.56877 10.7959C4.63453 11.2851 4.75483 11.5441 4.93934 11.7286Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    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 fill-rule='evenodd' clip-rule='evenodd' d='M10 15.168H7.29572C6.07055 15.168 5.10013 15.168 4.34065 15.0659C3.55904 14.9608 2.9264 14.7394 2.4275 14.2405C1.92859 13.7416 1.70718 13.1089 1.60209 12.3273C1.49998 11.5678 1.49999 10.5974 1.5 9.37225V5.33463C1.5 4.08647 2.4147 3.05195 3.61034 2.86482C3.70232 2.35549 3.87835 1.92075 4.23223 1.56687C4.63351 1.16559 5.13876 0.992993 5.73883 0.912315C6.31681 0.834608 7.05169 0.83462 7.96342 0.834634H10.0366C10.9483 0.83462 11.6832 0.834608 12.2612 0.912315C12.8612 0.992993 13.3665 1.16559 13.7678 1.56687C14.169 1.96814 14.3416 2.47339 14.4223 3.07347C14.5 3.65145 14.5 4.38633 14.5 5.29805V8.70455C14.5 9.61628 14.5 10.3512 14.4223 10.9291C14.3416 11.5292 14.169 12.0345 13.7678 12.4357C13.4139 12.7896 12.9791 12.9656 12.4698 13.0576C12.2827 14.2533 11.2482 15.168 10 15.168ZM11.4196 13.1539C11.2177 13.7438 10.6584 14.168 10 14.168H7.33333C6.06212 14.168 5.15901 14.1669 4.4739 14.0748C3.80317 13.9846 3.41674 13.8155 3.1346 13.5334C2.85246 13.2512 2.68335 12.8648 2.59317 12.1941C2.50106 11.509 2.5 10.6058 2.5 9.33464V5.33463C2.5 4.67626 2.92416 4.11696 3.51411 3.91508C3.49999 4.32172 3.49999 4.7815 3.5 5.29805V8.70455C3.49999 9.61628 3.49998 10.3512 3.57768 10.9291C3.65836 11.5292 3.83096 12.0345 4.23223 12.4357C4.63351 12.837 5.13876 13.0096 5.73883 13.0903C6.31681 13.168 7.05169 13.168 7.96342 13.168H10.0366C10.5531 13.168 11.0129 13.168 11.4196 13.1539ZM4.93934 11.7286C5.12385 11.9131 5.3829 12.0334 5.87208 12.0992C6.37565 12.1669 7.04306 12.168 8 12.168H10C10.9569 12.168 11.6244 12.1669 12.1279 12.0992C12.6171 12.0334 12.8762 11.9131 13.0607 11.7286C13.2452 11.5441 13.3655 11.2851 13.4312 10.7959C13.4989 10.2923 13.5 9.62491 13.5 8.66797V5.33463C13.5 4.37769 13.4989 3.71028 13.4312 3.20671C13.3655 2.71753 13.2452 2.45848 13.0607 2.27397C12.8762 2.08946 12.6171 1.96917 12.1279 1.9034C11.6244 1.8357 10.9569 1.83463 10 1.83463H8C7.04306 1.83463 6.37565 1.8357 5.87208 1.9034C5.3829 1.96917 5.12385 2.08946 4.93934 2.27397C4.75483 2.45848 4.63453 2.71753 4.56877 3.20671C4.50106 3.71028 4.5 4.37769 4.5 5.33463V8.66797C4.5 9.62491 4.50106 10.2923 4.56877 10.7959C4.63453 11.2851 4.75483 11.5441 4.93934 11.7286Z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    padding: 0;
    border: 0;
    appearance: none;
    cursor: pointer;
}

.site-footer__contact-copy:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.site-footer__contact-copy.is-copied {
    opacity: 0.55;
}

.site-footer__social-links {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}

.site-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    color: var(--pgi-black);
}

.site-footer__social-link svg {
    display: block;
    width: 30px;
    height: 30px;
}

.site-footer__menu-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 190px));
    justify-content: space-between;
    align-items: start;
    gap: 24px;
    width: 100%;
}

.site-footer__menu-column {
    width: 190px;
    max-width: 100%;
}

.site-footer__menu-title,
.site-footer__newsletter-title {
    color: var(--pgi-black);
}

.site-footer__menu-title {
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

.site-footer__menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__menu a {
    color: #70706c;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.site-footer__newsletter {
	position: relative;
    width: 292px;
    max-width: 100%;
}

.site-footer__newsletter-title {
    width: 148px;
    max-width: 100%;
    margin-bottom: 15px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

.site-footer__newsletter-form,
.site-footer__newsletter-shortcode form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    width: 292px;
    max-width: 100%;
}

.site-footer__newsletter-form input,
.site-footer__newsletter-shortcode input[type="email"],
.site-footer__newsletter-shortcode input[type="text"] {
    width: 100%;
    height: 50px;
    border: 1px solid #80807d;
    border-radius: 10px;
    padding: 15px;
    background: #f6f6f6;
    color: var(--pgi-black);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    outline: none;
}

.site-footer__newsletter-form input::placeholder,
.site-footer__newsletter-shortcode input::placeholder {
    color: #70706c;
}

.site-footer__newsletter-form input:focus,
.site-footer__newsletter-shortcode input:focus {
    border-color: var(--pgi-laguna);
}

.site-footer__newsletter-error,
.site-footer__newsletter-status {
    display: none;
    margin: -7px 0 0;
    color: #b3261e;
    font-size: 13px;
    line-height: 1.35;
}

.site-footer__newsletter-error.is-visible,
.site-footer__newsletter-status.is-visible {
    display: block;
}

.site-footer__newsletter-status:not(.is-error) {
    color: var(--pgi-laguna);
}

.site-footer__newsletter-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #70706c;
    font-size: 13px;
    line-height: 1.35;
    cursor: pointer;
}

.site-footer__newsletter-consent input {
    appearance: none;
    -webkit-appearance: none;
    display: grid;
    place-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid var(--pgi-laguna);
    border-radius: 3px;
    background: var(--pgi-white);
    cursor: pointer;
}

.site-footer__newsletter-consent input::after {
    content: "";
    width: 4px;
    height: 8px;
    border: solid var(--pgi-white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
}

.site-footer__newsletter-consent input:checked {
    background: var(--pgi-laguna);
}

.site-footer__newsletter-consent input:checked::after {
    transform: rotate(45deg) scale(1);
}

.site-footer__newsletter-consent a {
    color: var(--pgi-laguna);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.site-footer__newsletter-success {
	position: absolute;
	top: 0px;
	background: #f6f6f6;
	height: 100%;
	text-align: center;
	padding-top: 60px;
    width: 292px;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 670px;
    padding: 0;
    margin: 0 auto;
    gap: 20px;
    text-align: center;
}

/*
 * Important:
 * the HTML `hidden` attribute should actually hide the element,
 * even though the class above uses display:flex.
 */
.site-footer__newsletter-success[hidden] {
    display: none;
}

.site-footer__newsletter-success-icon {
    display: block;
    flex: 0 0 auto;
	margin: auto;
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.site-footer__newsletter-success-title {
    width: 100%;
    margin: 0;

	font-size: 25px;
    font-family: 'Involve', sans-serif;
    font-style: normal;
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
    font-feature-settings: 'kern' off;

    color: #2B2C27;
}

.site-footer__newsletter-success-text {
    width: 100%;
    margin: 0;

    font-family: 'Involve', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;

    color: #80807D;
}

/* Tablet / mobile */
@media (max-width: 767px) {
    .site-footer__newsletter-success {
        max-width: 100%;
        padding-inline: 20px;
        box-sizing: border-box;
    }

    .site-footer__newsletter-success-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .site-footer__newsletter-success {
        gap: 16px;
    }

    .site-footer__newsletter-success-icon {
        width: 80px;
        height: 80px;
    }

    .site-footer__newsletter-success-title {
        font-size: 28px;
    }

    .site-footer__newsletter-success-text {
        font-size: 15px;
    }
}

.site-footer__newsletter-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.site-footer__newsletter-form button,
.site-footer__newsletter-shortcode button,
.site-footer__newsletter-shortcode input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 10px;
    padding: 15px;
    background: var(--pgi-laguna);
    color: var(--pgi-turquoise);
    font-size: 16px;
    font-weight: 600;
    line-height: 21px;
    cursor: pointer;
}

.site-footer__newsletter-form button:hover,
.site-footer__newsletter-form button:focus-visible,
.site-footer__newsletter-shortcode button:hover,
.site-footer__newsletter-shortcode button:focus-visible,
.site-footer__newsletter-shortcode input[type="submit"]:hover,
.site-footer__newsletter-shortcode input[type="submit"]:focus-visible {
    background: var(--pgi-black);
    color: var(--pgi-white);
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-top: 80px;
    color: #70706c;
    font-size: 16px;
    font-weight: 500;
    line-height: 21px;
}

.site-footer__bottom-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.site-footer__legal-menu {
    display: flex;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__credit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin-top: 15px;
    padding-top: 20px;
    border-top: 1px solid rgba(var(--pgi-black-rgb), 0.1);
    color: var(--pgi-black);
    font-family: Inter, "Involve", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 15px;
}

.site-footer__credit a,
.site-footer__credit strong {
    color: var(--pgi-black);
    font-family: "Involve", system-ui, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.site-footer__credit a {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.site-footer__credit a img {
    display: block;
    height: 17px;
    width: auto;
}

@media (max-width: 1440px) {
    .site-footer__inner {
        width: min(100% - 40px, 1680px);
    }

    .site-footer__primary,
    .site-footer__secondary {
        gap: 40px;
    }

    .site-footer__menu-grid,
    .site-footer__secondary .site-footer__menu-grid {
        gap: 24px;
    }
}

@media (max-width: 1180px) {

    .site-footer__primary,
    .site-footer__secondary {
        grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    }

    .site-footer__menu-grid,
    .site-footer__secondary .site-footer__menu-grid {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
        justify-content: stretch;
        gap: 34px 48px;
    }
}

@media (max-width: 781px) {
    .site-footer__inner {
        width: min(100% - 32px, var(--pgi-container));
        padding-top: 20px;
        padding-bottom: 18px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
    }

    .site-footer__primary,
    .site-footer__secondary {
        display: contents;
    }

    .site-footer__brand,
    .site-footer__newsletter {
        width: 100%;
        max-width: none;
    }

    .site-footer__brand {
        order: 1;
    }

    .site-footer__newsletter {
        order: 2;
    }

    .site-footer__logo {
        width: 194px;
        height: 90px;
        margin-bottom: 20px;
        margin-left: 0px;
    }

    .site-footer__logo .site-header__logo-animation {
        width: 194px;
        height: 90px;
    }

    .site-footer__menu-grid,
    .site-footer__secondary .site-footer__menu-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 180px));
        justify-content: space-between;
        align-items: start;
        gap: 30px 10px;
        margin-top: 0;
    }

    .site-footer__primary>.site-footer__menu-grid {
        order: 3;
    }

    .site-footer__secondary>.site-footer__menu-grid {
        order: 4;
    }

    .site-footer__menu-column {
        width: 180px;
    }

    .site-footer__menu {
        gap: 15px;
    }

    .site-footer__contact-links {
        gap: 20px;
    }

    .site-footer__secondary {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .site-footer__newsletter-title {
        margin-bottom: 15px;
    }

    .site-footer__newsletter-form,
    .site-footer__newsletter-shortcode form {
        width: 292px;
        max-width: 100%;
    }

    .site-footer__bottom {
        display: grid;
        gap: 20px;
        margin-top: 0;
        order: 5;
    }

    .site-footer__bottom-links {
        justify-content: flex-start;
        gap: 14px 22px;
        order: -1;
    }

    .site-footer__legal-menu {
        gap: 16px;
        flex-wrap: wrap;
    }

    .site-footer__credit {
        order: 6;
        margin-top: 0;
    }
}

@media (max-width: 520px) {

    .site-footer__inner {
        width: min(100% - 20px, var(--pgi-container));
    }

    .site-footer__menu-grid,
    .site-footer__secondary .site-footer__menu-grid {
        grid-template-columns: repeat(2, minmax(0, 180px));
    }
}