/*------------------------------------------------------------------------------
	FOOTER
------------------------------------------------------------------------------*/

/* NEWSLETTER --------------------------------------------*/

.fls-newsletter {
    box-sizing: border-box;
    width: 100vw;
    margin-top: var(--section-gap-desktop);
    margin-left: calc(50% - 50vw);
    background: var(--brand-very-light-green);
}

.fls-newsletter__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--layout-design-width);
    height: 426px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: stretch;
}

.fls-newsletter__media {
    flex: 0 1 710px;
    width: 49.3%;
    max-width: 710px;
    min-width: 0;
    height: 426px;
}

.fls-newsletter__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fls-newsletter__content {
    position: relative;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    padding-left: clamp(40px, 6.5vw, 93.75px);
    padding-right: var(--layout-desktop-gutter);
}

.fls-newsletter__content::before {
    content: '';
    flex: 0 0 1px;
    width: 1px;
    height: 175px;
    margin-right: 18px;
    background: var(--brand-yellow);
}

.fls-newsletter__body {
    width: 100%;
    max-width: 501px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fls-newsletter__title {
    margin: 0;
    width: 100%;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: 22px;
    line-height: 1 !important;
    letter-spacing: 0;
    color: var(--brand-dark-green-text);
}

.fls-newsletter__description {
    width: 100%;
    max-width: 464px;
    margin: 0 !important;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0;

    color: var(--brand-dark-green-text);
}

.fls-newsletter__form {
    width: 100%;
    max-width: 454px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.fls-newsletter__input {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 43px;
    padding: 16px 26px;
    border: 0;
    border-radius: 4px;
    background: var(--brand-light-green-text);
    color: var(--brand-dark-green-text);
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
}

.fls-newsletter__input::placeholder {
    color: var(--brand-dark-green-text);
    opacity: 1;
}

.fls-newsletter__submit {
    box-sizing: border-box;
    flex: 0 0 111px;
    width: 111px;
    height: 33px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 26px;
    border: 1px solid var(--brand-light-green);
    border-radius: 4px;
    background: transparent;
    color: var(--brand-light-green);
    font-family: var(--font-body);
    font-weight: var(--font-weight-semibold);
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    cursor: pointer;
}

.fls-newsletter__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* FOOTER ------------------------------------------------*/

.fls-footer {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 620px;
    background: var(--brand-dark-green);
    color: var(--brand-white);
}

.fls-footer__inner {
    position: relative;
    box-sizing: border-box;
    width: calc(100% - (2 * var(--layout-desktop-gutter)));
    max-width: var(--layout-container-max);
    height: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Large FLS logo ----------------------------------------------------------- */

.fls-footer__logo {
    position: absolute;
    top: 40px;
    left: 0;
    width: 211px;
    height: 197px;
}

.fls-footer__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Yellow horizontal divider ----------------------------------------------- */

.fls-footer__divider {
    position: absolute;
    top: 347px;
    left: 0;
    width: calc(100% + max(
            var(--layout-desktop-gutter),
            calc((100vw - var(--layout-container-max)) / 2)
        )
    ); 
    height: 1px;
    border: 0;
    margin: 0;
    background: var(--brand-yellow);
}

.fls-footer__content {
    position: absolute;
    top: 386px;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 194px;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(378px, 425px)
        minmax(194px, 220px);
    column-gap: clamp(32px, 5vw, 72px);
    padding-right: 0;
}

.fls-footer__nav {
    position: static;
    grid-column: 2;
    width: 100%;
    max-width: 425px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fls-footer__heading {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-heading-small);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-footer__nav-columns {
    display: flex;
    width: 100%;
    max-width: 425px;
    height: auto;
    gap: 24px;
}

.fls-footer__nav-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fls-footer__nav-item {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
}

.fls-footer__nav-link {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-footer);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-white);
    text-decoration: none;
    white-space: nowrap;
}

.fls-footer__nav-link:hover,
.fls-footer__nav-link:focus {
    color: var(--brand-light-green-text);
    text-decoration: none;
}

.fls-footer__nav-item--legal {
    align-items: flex-start;
}

.fls-footer__legal-links {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-footer);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-white);
    white-space: nowrap;
}

.fls-footer__legal-links a {
    color: var(--brand-white);
    text-decoration: none;
}

.fls-footer__legal-links a:hover,
.fls-footer__legal-links a:focus {
    color: var(--brand-light-green-text);
    text-decoration: none;
}

.fls-footer__legal-separator {
    color: var(--brand-white);
}

.fls-footer__nav-arrow {
    flex: 0 0 16.2px;
    width: 16.2px;
    height: 16.2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fls-footer__contact {
    position: static;
    grid-column: 3;
    width: 194px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fls-footer__contact-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fls-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-footer);
    line-height: var(--line-height-snug);
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-footer__contact-item a {
    color: var(--brand-white);
    text-decoration: none;
}

.fls-footer__contact-item a:hover,
.fls-footer__contact-item a:focus {
    color: var(--brand-light-green-text);
    text-decoration: none;
}

.fls-footer__meta {
    position: absolute;
    left: 0;
    bottom: 36px;
    display: flex;
    align-items: center;
    gap: 46px;
}

.fls-footer__copyright {
    position: static;
    margin: 0;
    font-family: var(--font-body);
    font-weight: var(--font-weight-light);
    font-size: var(--font-size-footer);
    line-height: var(--line-height-tight);
    letter-spacing: 0;
    color: var(--brand-white);
}

.fls-footer__linkedin {
    position: static;
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fls-footer__linkedin img,
.fls-footer__linkedin svg {
    display: block;
    width: 100%;
    height: 100%;
}

.fls-footer__nav-arrow img,
.fls-footer__nav-arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

.fls-footer__contact-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fls-footer__contact-icon--location {
    width: 18px;
    height: 18px;
}

.fls-footer__contact-icon--email {
    width: 15px;
    height: 15px;
}

.fls-footer__contact-icon--phone {
    width: 18px;
    height: 18px;
    transform: scaleX(-1);
}

.fls-footer__contact-icon img,
.fls-footer__contact-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Exact Figma icon colours ------------------------------*/

/* Hide SVG <img> and use it as a CSS mask instead */

.fls-footer__linkedin img,
.fls-footer__nav-arrow img,
.fls-footer__contact-icon img {
    display: none;
}

.fls-footer__linkedin {
    background-color: var(--brand-light-green-text);
    -webkit-mask:
        url('../../images/linkedin-icon.svg')
        center / contain no-repeat;
    mask:
        url('../../images/linkedin-icon.svg')
        center / contain no-repeat;
}

.fls-footer__nav-arrow {
    background-color: var(--brand-yellow);
    -webkit-mask:
        url('../../images/arrow-right-icon.svg')
        center / contain no-repeat;
    mask:
        url('../../images/arrow-right-icon.svg')
        center / contain no-repeat;
}

.fls-footer__contact-icon--location {
    background-color: var(--brand-yellow);
    -webkit-mask:
        url('../../images/location-pin-icon.svg')
        center / contain no-repeat;
    mask:
        url('../../images/location-pin-icon.svg')
        center / contain no-repeat;
}

.fls-footer__contact-icon--email {
    background-color: var(--brand-yellow);
    -webkit-mask:
        url('../../images/email-icon.svg')
        center / contain no-repeat;
    mask:
        url('../../images/email-icon.svg')
        center / contain no-repeat;
}

.fls-footer__contact-icon--phone {
    background-color: var(--brand-yellow);
    -webkit-mask:
        url('../../images/phone-icon.svg')
        center / contain no-repeat;
    mask:
        url('../../images/phone-icon.svg')
        center / contain no-repeat;
}


/* FOOTER Section ------------------------------------------------------------*/

#footer {
    background: var(--brand-dark-green);
    color: var(--brand-white);
}

.widget .widget_title {
    border-top: 0;
}

#footer h4 {
    padding-top: 0;
}

#footer .footer_widgets .widget .widget_title {
    padding-bottom: 16px;
    margin: 0 0 24px;
    border-bottom: 1px solid rgba(204,204,204,.25);
}

#footer .footer_widgets .widget.widget_nav_menu ul li::before {
	content: '';
	display: block;
	background-color: var(--brand-yellow);
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	left: 18px;
	top: 4px;
}

#footer .footer_widgets .widget.widget_nav_menu ul li {
    display: block;
    font-size: 14px;
    width: 100%;
    margin: 0 0 16px;
    padding: 0 0 0 32px;
    position: relative;
}

#footer .footer_widgets .widget.widget_nav_menu ul li a {
    font-family: Roboto, Arial;
    color: #ffffff;
}

#footer .info {
    color: #ffffff;
    margin-bottom: 16px;
    position: relative;
}

#footer .info a:link {
    color: #ffffff;
}

#footer .info > .item {
    padding-left: 28px;
}

#footer .info > .item-address::before {
    content: '\e90a';
    position: absolute;
    left: 2px;
    top: 2px;
    display: block;
    font-family: 'stm';
    font-size: 18px;
    color: var(--brand-yellow);
}

#footer .info > .item-phone::before {
    content: '\ea42';
    position: absolute;
    left: 0;
    display: block;
    font-family: 'stm';
    font-size: 18px;
    color: var(--brand-yellow);
}

#footer .info > .item-email::before {
    content: '\e9f1';
    position: absolute;
    left: 0;
    display: block;
    font-family: 'stm';
    font-size: 14px;
    color: var(--brand-yellow);
}

#footer .copyright_row .copyright_row_wr {
    border-top: 1px solid rgba(204,204,204,.25);
}

#footer .copyright_row .copyright_row_wr .copyright {
    font-size: 14px;
}

#footer .copyright_row .copyright_row_wr .socials ul li a {
	line-height: 30px;
	font-size: 18px;
	background: #ffffff;
	color: var(--brand-main-green);
	opacity: .75;
	transition: opacity .3s ease;
}

#footer .copyright_row .copyright_row_wr .socials ul li a:hover {
    opacity: 1;
    background: #ffffff;
    color: var(--brand-main-green);
}

/*----------------------------------------------------------------------------*/

