﻿.footer-large {
    display: flex;
    position: absolute;
    flex-direction: column;
    align-items: center;
    background-color: var(--colors-light-blue-lb-600);
    width: 100%;
    padding: 113px var(--numbers-spacing-spacing-huge) 0;
    font: 400 14px/2 Instrument Sans, -apple-system, Roboto, Helvetica, sans-serif;
}

    .footer-large .footer-content {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        width: 100%;
        max-width: 1328px;
        padding: var(--numbers-spacing-spacing-lg) 0;
    }

    .footer-large .footer-logo {
        aspect-ratio: 10;
        object-fit: contain;
        object-position: center;
        width: fit-content;
        max-width: 100%;
        cursor: pointer;
    }

    .footer-large .footer-info {
        display: flex;
        width: 100%;
        align-items: flex-start;
        gap: var(--numbers-spacing-spacing-lg);
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-top: var(--numbers-spacing-spacing-lg);
    }

    .footer-large .contact-details {
        color: #eafaff;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        font-style: var(--large-body-font-style);
        line-height: var(--large-caption-line-height);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        width: 25%;
    }

    .footer-large .contact-email {
        color: #c6e8f3;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        font-style: var(--large-body-font-style);
        line-height: var(--large-caption-line-height);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
    }

    .footer-large .footer-links {
        display: flex;
        min-width: 240px;
        align-items: flex-start;
        gap: 6px;
        line-height: 1.5;
        justify-content: space-between;
        flex-wrap: wrap;
        flex: 1;
        flex-basis: 0%;
    }

    .footer-large .link-group {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .footer-large .link-group-title {
        color: var(--colors-neutral-n-0);
        font-weight: 600;
        font-family: "Instrument Sans", Helvetica;
    }

    .footer-large .link-list {
        display: flex;
        margin-top: 8px;
        width: 100%;
        flex-direction: column;
        color: #c6e8f3;
        font-weight: 400;
        justify-content: flex-start;
    }

    .footer-large .link-text {
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-200);
        font-family: var(--large-body-font-family);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
    }

    .footer-large .link-icon {
        aspect-ratio: 1;
        object-fit: contain;
        width: 24px;
    }

    .footer-large .secondary-link {
        color: var(--colors-light-blue-lb-200);
        font-weight: 400;
    }

    .footer-large .copyright {
        display: none;
        margin-top: 8px;
    }

    .footer-large .footer-divider {
        height: 1px;
        margin-top: 32px;
        width: 100%;
        border: 1px solid #c9d5dd;
    }

    .footer-large .footer-sub-info {
        display: flex;
        margin-top: 32px;
        width: 100%;
        align-items: center;
        gap: 40px;
        color: #eafaff;
        font-weight: 400;
        line-height: 22px;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .footer-large .sub-links {
        align-self: stretch;
        display: flex;
        min-width: 240px;
        align-items: center;
        gap: 40px 58px;
        justify-content: flex-end;
        flex-wrap: wrap;
        width: 900px;
        margin: auto 0;
    }

    .footer-large .sub-links-text {
        flex: 1;
        flex-basis: 0%;
        margin: auto 0;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-100);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
    }

.footer-medium {
    display: flex;
    position: absolute;
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding: 59px 80px 0;
    background-color: var(--colors-light-blue-lb-600);
    font: 400 14px/2 Instrument Sans, -apple-system, Roboto, Helvetica, sans-serif;
}

    .footer-medium .footer-content {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 744px;
        padding: 32px 0;
    }

    .footer-medium .contact-info {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 40px 100px;
        color: #c6e8f3;
        line-height: 22px;
    }

    .footer-medium .logo {
        object-fit: contain;
        width: 100%;
        cursor: pointer;
    }

    .footer-medium .address {
        color: #eafaff;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        font-style: var(--large-body-font-style);
        line-height: var(--large-caption-line-height);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        width: 272px;
    }

    .footer-medium .email {
        color: #c6e8f3;
        font-family: var(--large-body-font-family);
        font-style: var(--large-body-font-style);
        font-weight: var(--large-body-font-weight);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        line-height: var(--large-caption-line-height);
    }

    .footer-medium .footer-links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 24px;
        margin-top: 32px;
        color: #fff;
        font-weight: 600;
    }

    .footer-medium .menu-group {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        color: var(--colors-neutral-n-0);
        font-weight: 600;
        font-family: "Instrument Sans", Helvetica;
        cursor: pointer;
    }

        .footer-medium .menu-group:not(.open) .link-icon {
            transform: rotate(0deg);
        }

        .footer-medium .menu-group.open .link-icon {
            transform: rotate(180deg);
        }

    .footer-medium .link-icon {
        aspect-ratio: 1;
        object-fit: contain;
        width: 24px;
        cursor: pointer;
        align-self: end;
    }

    .footer-medium .secondary-link {
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-200);
        font-family: var(--large-body-font-family);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
    }

    .footer-medium .submenu {
        display: none;
        background-color: #0b2436;
        width: 100%;
        padding: 16px 0px;
    }

        .footer-medium .submenu:not(.open) {
            display: none;
        }

    .footer-medium .submenu-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
        color: #c6e8f3;
        font-weight: 400;
    }

    .footer-medium .sub-menu-elem {
        display: block;
        padding-left: 15px;
        position: relative;
        flex: 0 0 auto;
        cursor: pointer;
        width: fit-content;
    }

        .footer-medium .sub-menu-elem:hover .text-wrapper-22 {
            font-weight: bold;
        }

    .footer-medium .text-wrapper-22 {
        width: fit-content;
        margin-top: -1px;
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-200);
        font-size: var(--large-caption-font-size);
        line-height: var(--large-cta-line-height);
        position: relative;
        font-family: var(--large-body-font-family);
        letter-spacing: var(--large-body-letter-spacing);
        font-style: var(--large-body-font-style);
        transition: font-weight 0.5s ease;
    }

    .footer-medium .divider {
        width: 100%;
        height: 1px;
        margin-top: 32px;
        border: 1px solid rgba(201, 213, 221, 1);
    }

    .footer-medium .sub-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 32px;
        color: #eafaff;
        font-weight: 400;
        line-height: 22px;
    }

    .footer-medium .sub-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 40px 85px;
        width: 100%;
        max-width: 533px;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-100);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
    }

    .footer-medium .copyright {
        margin-top: 25px;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-100);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
    }

.footer-small {
    display: flex;
    background-color: var(--colors-light-blue-lb-600);
    color: #eafaff;
    font: 400 11px/22px Instrument Sans, -apple-system, Roboto, Helvetica, sans-serif;
    padding: 33px 24px 0;
    max-width: 100%;
}

    .footer-small .footer-content {
        display: flex;
        flex-direction: column;
        padding: 32px 0;
    }

    .footer-small .contact-info {
        display: flex;
        flex-direction: column;
        color: #c6e8f3;
        text-align: center;
        line-height: 22px;
    }

    .footer-small .logo {
        aspect-ratio: 10;
        object-fit: contain;
        width: 70%;
        align-self: center;
        cursor: pointer;
    }

    .footer-small .address {
        color: #eafaff;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        font-style: var(--large-body-font-style);
        line-height: 30px;
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        margin-top: 32px;
        margin-bottom: 8px;
    }

    .footer-small .email {
        color: #c6e8f3;
        font-family: var(--large-body-font-family);
        font-style: var(--large-body-font-style);
        font-weight: var(--large-body-font-weight);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        line-height: var(--large-caption-line-height);
    }

    .footer-small .divider {
        border: 1px solid #c9d5dd;
        margin: 16px 0;
    }

    .footer-small .links-section {
        display: flex;
        flex-direction: column;
        color: #fff;
        font-weight: 600;
        margin-top: 8px;
        margin-bottom: 8px;
        line-height: 30px;
    }

    .footer-small .link-group {
        display: flex;
        justify-content: space-between;
        align-items: center;
        min-height: 24px;
        margin-top: 4px;
        color: var(--colors-neutral-n-0);
        cursor: pointer;
    }

    .footer-small .sub-menu-item {
        display: inline-flex;
        padding: var(--numbers-spacing-spacing-none) 20px var(--numbers-spacing-spacing-none) 10px;
    }

    .footer-small .link-text {
        font-size: var(--large-caption-font-size);
        font-weight: 600;
        font-family: "Instrument Sans", Helvetica;
        flex: 1;
    }

    .footer-small .arrow-down-icon {
        aspect-ratio: 1;
        object-fit: contain;
        width: 24px;
        cursor: pointer;
        align-self: flex-start;
    }

    .footer-small details:not([open]) .arrow-down-icon {
        transform: rotate(0deg);
    }

    .footer-small details[open] + .arrow-down-icon {
        transform: rotate(180deg);
    }

    .footer-small .client-link {
        margin-top: 4px;
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-200);
        font-family: var(--large-body-font-family);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
    }

    .footer-small .sub-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: 8px;
        line-height: 22px;
        font-weight: 400;
        color: #eafaff;
    }

    .footer-small .sub-links {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-100);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
        line-height: 30px;
    }

    .footer-small .copyright {
        text-align: center;
        margin-top: 32px;
        font-family: var(--large-body-font-family);
        font-weight: var(--large-body-font-weight);
        color: var(--colors-light-blue-lb-100);
        font-style: var(--large-body-font-style);
        font-size: var(--large-caption-font-size);
        letter-spacing: var(--large-body-letter-spacing);
    }

@media (min-width: 1170px) {
    .footer-medium, .footer-small {
        display: none;
    }
}

@media (max-width: 1270px) {
    .footer-large .link-group {
        flex: 1;
        flex-basis: 0%;
    }
}

@media (max-width: 1169px) {
    .footer-large, .footer-small {
        display: none;
    }

    .footer-medium {
        display: flex;
    }
}

@media (max-width: 991px) {
    .footer-medium {
        padding: 59px 20px;
    }

    .footer-small {
        padding: 0 20px;
    }

        .footer-small .footer-content,
        .footer-small .contact-info,
        .footer-small .divider,
        .footer-small .links-section,
        .footer-small .link-group,
        .footer-small .link-text,
        .footer-small .client-link,
        .footer-small .sub-info,
        .footer-small .sub-links,
        .footer-small .copyright {
            max-width: 100%;
        }
}

@media (max-width: 796px) {
    .footer-large, .footer-medium {
        display: none;
    }

    .footer-small {
        display: flex;
        margin-top: 6%;
    }
}

@media (max-width: 776px) {
    .footer-small {
        margin-top: 0;
    }
}

@media (max-width: 480px) {
    .footer-small .logo {
        align-self: start;
    }

    .footer-small .copyright {
        text-align: start;
    }

    .footer-small .sub-links {
        gap: 4px 237px;
    }
}
