footer {
	position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    background-color: var(--beige);
    padding: 3.402vw 0 2.91vw; /*49px 0 42px*/
}

/* Newsletter */
footer .newsletter-inner {
    position: relative;
    display: flex;
    flex-flow: column;
    width: 47.36vw; /*682px*/
    height: fit-content;
    align-items: center;
    row-gap: 1.805vw; /*26px*/
}

footer .newsletter-inner .title {
    position: relative;
    display: block;
    width: 100%;
    height: fit-content;
}

footer .newsletter-inner .text {
    position: relative;
    display: block;
    width: 47.36vw; /*280px*/
    height: fit-content;
}

footer .newsletter-inner .form-inner {
    position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 19.44vw; /*280px*/
    margin-top: 1.041vw; /*15px*/
}

footer .newsletter-inner .form-inner input[type="email"] {
    position: relative;
    display: block;
    width: 100%;
    height: 2.291vw; /*33px*/
    padding-bottom: .763vw; /*11px*/
    background-color: transparent;
    border: 0px;
    border-bottom: 1px dashed var(--green);
    color: var(--green);
    font-size: 1.167rem;
    font-family: 'Brandon Grotesque Regular', Arial, Helvetica, sans-serif;
    letter-spacing: 0.03em;
}



footer .newsletter-inner .form-inner input[type="email"]::placeholder {
    color: var(--softGreen);
    opacity: 1;
}

footer .newsletter-inner .form-inner input[type="email"]::-webkit-input-placeholder {
    color: var(--softGreen);
    opacity: 1;
}

footer .newsletter-inner .form-inner input[type="email"]::-moz-placeholder {
    color: var(--softGreen);
    opacity: 1;
}

footer .newsletter-inner .form-inner input[type="email"]:-ms-input-placeholder {
    color: var(--softGreen);
    opacity: 1;
}

footer .newsletter-inner .form-inner form.invalid input[type="email"].wpcf7-not-valid {
    border-bottom: 1px dashed var(--red);
    color: var(--red);
}

footer .newsletter-inner .form-inner form.invalid input[type="email"].wpcf7-not-valid::placeholder {
    color: var(--red);
}

footer .newsletter-inner .form-inner form.invalid input[type="email"].wpcf7-not-valid::-webkit-input-placeholder {
    color: var(--red);
}

footer .newsletter-inner .form-inner form.invalid input[type="email"].wpcf7-not-valid::-moz-placeholder {
    color: var(--red);
}

footer .newsletter-inner .form-inner form.invalid input[type="email"].wpcf7-not-valid:-ms-input-placeholder {
    color: var(--red);
}

footer .newsletter-inner .form-inner .wpcf7-form-control-wrap {
    position: relative;
    display: block;
    height: fit-content;
}

footer .newsletter-inner .form-inner .wpcf7-list-item {
    margin: .347vw 0 0 0 !important; /*5px 0 0 0*/
}

footer .newsletter-inner .form-inner .wpcf7-list-item label {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    column-gap: .694vw; /*10px*/
    cursor: pointer;
}

footer .newsletter-inner .form-inner .wpcf7-list-item label .wpcf7-list-item-label {
    color: var(--green);
    font-size: 1rem;
    font-family: 'Brandon Grotesque Regular', Arial, Helvetica, sans-serif;
    letter-spacing: 0.03em;
}

footer .newsletter-inner .form-inner .wpcf7-list-item label .wpcf7-list-item-label a {
    color: var(--green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
    text-underline-offset: .208vw; /*3px*/
	text-decoration-style: dotted;
}

footer .newsletter-inner .form-inner input[type="checkbox"] {
    position: relative;
    display: inline-block;
    width: .834vw; /*12px*/
    height: .834vw; /*12px*/
    border: 1px solid var(--green);
    cursor: pointer;
}

footer .newsletter-inner .form-inner input[type="checkbox"]:checked {
    background-image: url('../../assets/svgs/check.svg');
    background-position: center center;
    background-size: 80%;
    background-repeat: no-repeat;
}

footer .newsletter-inner .form-inner input[type="submit"] {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    z-index: 2;
    width: 1.25vw; /*18px*/
    height: 2.291vw; /*33px*/
    border: 0px;
    cursor: pointer;
    background-image: url('../../assets/images/arrow.png');
    background-repeat: no-repeat;
    background-position: 50% 26%;
    background-size: contain;
    background-color: transparent;
}

footer .newsletter-inner .form-inner input[type="submit"]:disabled {
    cursor: not-allowed;
}

form .wpcf7-spinner {
    position: absolute !important;
    z-index: 2;
    opacity: 1 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0;
    width: 2.78vw !important; /*40px*/
    height: 2.78vw !important; /*40px*/
    top: 4.86vw; /*70px*/
    left: 50%;
    transform: translate(-50%,0);
    background-color: transparent !important;
    background-image: url('../../assets/images/loader.gif');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
}

form .wpcf7-spinner::before {
    display: none;
}

form .wpcf7-not-valid-tip {
    display: none;
}

form.invalid .wpcf7-response-output, 
form.unaccepted .wpcf7-response-output, 
form.payment-required .wpcf7-response-output,
form .wpcf7-response-output {
    position: relative !important;
    padding: .694vw 0px .694vw !important; /*10px 0px 10px*/
    margin: 0px !important;
    border: 0px !important;
    color: var(--green) !important;
    font-size: 1.167rem !important;
    font-family: 'Brandon Grotesque Regular', Arial, Helvetica, sans-serif !important;
    width: 100% !important;
}

form.invalid .wpcf7-response-output, 
form.unaccepted .wpcf7-response-output, 
form.payment-required .wpcf7-response-output {
    color: var(--red) !important;
}

form .wpcf7-response-output {
    color: var(--green) !important;
}

/* Icon */
footer .icon-inner {
    position: relative;
    display: block;
    width: 6.805vw; /*98px*/
    height: 9.375vw; /*135px*/
    margin: 3.125vw 0 2.847vw; /*45px 0 41px*/
}

footer .icon-inner svg {
    position: relative;
    display: block;
    width: 6.805vw; /*98px*/
    height: auto;
}

/* Location */
footer .location-inner {
    position: relative;
    display: flex;
    flex-flow: column;
    width: 31.25vw; /*450px*/
    height: fit-content;
    row-gap: 1.041vw; /*15px*/
    align-items: center;
    padding-bottom: 2.5vw; /*36px*/
}

footer .location-inner .cta:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
    text-underline-offset: .208vw; /*3px*/
	text-decoration-style: dotted;
}

footer .location-inner .cta svg {
    position: relative;
    display: inline-block;
    margin-left: .28vw; /*4px*/
    width: .55vw; /*8px*/
    height: .55vw; /*8px*/
}

/* Contact */
footer .contact-inner {
    position: relative;
    display: flex;
    flex-flow: column;
    width: 31.25vw; /*450px*/
    height: fit-content;
    row-gap: .694vw; /*10px*/
    align-items: center;
}

footer .contact-inner .cta:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
    text-underline-offset: .208vw; /*3px*/
	text-decoration-style: dotted;
}

/* Legal */
footer .bottom {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 79.65vw; /*1147px*/
    height: fit-content;
    margin-top: 4.58vw; /*66px*/
}

footer .bottom .legal-inner {
    position: relative;
    display: flex;
    justify-content: center;
    column-gap: 1.041vw; /*15px*/
    width: fit-content;
    height: fit-content;
}

footer .bottom .cta:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
    text-underline-offset: .208vw; /*3px*/
	text-decoration-style: dotted;
    z-index: 2;
}

footer .bottom .copy {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: fit-content;
}

footer .bottom .rrss {
    position: absolute;
    display: flex;
    bottom: -.138vw; /*-2*/
    right: 0;
    width: fit-content;
    column-gap: 1.94vw; /*28*/
}

footer .bottom .rrss .item {
    position: relative;
    display: block;
    width: fit-content;
    height: 1.12vw; /*16*/
}

footer .bottom .rrss .item img {
    position: relative;
    height: 1.12vw; /*16*/
    width: auto;
}


@media screen and (max-width: 1440px) {
	footer {
        padding: 49px 0 42px;
    }

    /* Newsletter */
    footer .newsletter-inner {
        width: 682px;
        row-gap: 26px;
    }

    footer .newsletter-inner .text {
        width: 280px;
    }

    footer .newsletter-inner .form-inner {
        width: 280px;
        margin-top: 15px;
    }

    footer .newsletter-inner .form-inner input[type="email"] {
        height: 33px;
        padding-bottom: 11px;
    }

    footer .newsletter-inner .form-inner .wpcf7-list-item {
        margin: 5px 0 0 0 !important;
    }

    footer .newsletter-inner .form-inner .wpcf7-list-item label {
        column-gap: 10px;
    }

    footer .newsletter-inner .form-inner .wpcf7-list-item label .wpcf7-list-item-label a {
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }

    footer .newsletter-inner .form-inner input[type="checkbox"] {
        width: 12px;
        height: 12px;
    }

    footer .newsletter-inner .form-inner input[type="submit"] {
        width: 18px;
        height: 33px;
    }

    form .wpcf7-spinner {
        width: 40px !important;
        height: 40px !important;
        top: 70px;
    }

    form.invalid .wpcf7-response-output, 
    form.unaccepted .wpcf7-response-output, 
    form.payment-required .wpcf7-response-output,
    form .wpcf7-response-output {
        padding: 10px 0px 10px !important;
    }

    /* Icon */
    footer .icon-inner {
        width: 98px;
        height: 135px;
        margin: 45px 0 41px;
    }

    footer .icon-inner svg {
        width: 98px;
    }

    /* Location */
    footer .location-inner {
        width: 450px;
        row-gap: 15px;
        padding-bottom: 36px;
    }

    footer .location-inner .cta svg {
        margin-left: 4px;
        width: 8px;
        height: 8px;
    }

    /* Contact */
    footer .contact-inner {
        width: 450px;
        row-gap: 10px;
    }

    footer .contact-inner .cta:hover {
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }

    /* Legal */
    footer .bottom {
        max-width: 1147px;
        margin-top: 66px;
    }

    footer .bottom .legal-inner {
        column-gap: 15px;
    }

    footer .bottom .cta:hover {
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
    }

    footer .bottom .rrss {
        bottom: -2px;
        column-gap: 28px;
    }

    footer .bottom .rrss .item {
        height: 16px;
    }

    footer .bottom .rrss .item img {
        height: 16px;
    }
}


@media  screen and (max-width: 1200px) {
    /* Legal */
    footer .bottom {
        flex-flow: column;
        align-items: center;
        row-gap: 17px;
        margin-top: 53px;
    }

    footer .bottom .copy {
        position: relative;
        display: block;
        top: auto;
        left: auto;
        width: fit-content;
        max-width: 100%;
        order: 2;
        padding-top: 42px;
    }

    footer .bottom .rrss {
        position: relative;
        display: flex;
        bottom: auto;
        right: auto;
        width: fit-content;
        max-width: 100%;
        column-gap: 19px;
        order: 1;
    }

    footer .bottom .legal-inner {
        order: 3;
    }

}


@media only screen and (max-width: 740px) {
    footer {
        padding: 41px var(--lateralMargin) 39px;
    }

    /* Newsletter */
    footer .newsletter-inner {
        width: 100%;
        row-gap: 26px;
    }

    footer .newsletter-inner .title {
        width: 260px;
    }


    /* Icon */
    footer .icon-inner {
        margin: 32px 0 41px;
    }


    /* Location - Contact */
    footer .location-inner,
    footer .contact-inner {
        width: 100%;
        max-width: 450px;
    }

    footer .location-inner {
        row-gap: 10px;
    }
}