.footer {
    padding-top: 40px;
    padding-bottom: 40px;
}

.footer h2 {
    font-size: 18px;
    line-height: 27px;
}

.footer p {
    color: #101F59;
    font-size: 16px;
    line-height: 24px;
}

.footer__list {
    list-style: none;
    padding: 0;
}

.footer__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    color: white;
}

.footer__item img {
    margin-right: 16px;
    margin-bottom: 10px;
    width: auto;
    max-width: 100px;
    max-height: 35px;
}

.footer .footer__logo {
    width: auto;
    height: auto;
    max-width: 280px;
    max-height: 100px;
}

/*Primary*/
.footer.footer--primary {
    background-color: #D8F4F5;
}

.footer.footer--primary .grid {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 60px;
    row-gap: 0;
    padding-right: 15px;
    padding-left: 15px;
}

.footer.footer--primary .btn {
    margin-bottom: 25px;
}

.footer.footer--primary .footer__copyright.footer__copyright--desktop {
    display: none;
}

.footer.footer--primary .footer__copyright p {
    margin: 0;
    color: #404040;
    font-size: 14px;
    line-height: 20px;
}

.footer.footer--primary .footer__list--menu a {
    margin-left: -14px;
    padding: 6px 16px;
    outline: 2px solid transparent;
    border-radius: 2px;
    color: #101F59;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
}

.footer.footer--primary .footer__list--menu a:focus,
.footer.footer--primary .footer__list--menu a:hover {
    outline: 2px solid #101F59;
    background-color: white;
}

.footer.footer--primary .footer__list--social {
    display: flex;
}

.footer.footer--primary .footer__list--social svg {
    width: 30px;
    height: 30px;
    fill: #101F59;
}

.footer.footer--primary .footer__list--social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    outline: 2px solid transparent;
}

.footer.footer--primary .footer__list--social a:focus,
.footer.footer--primary .footer__list--social a:hover {
    outline: 2px solid #101F59;
    background-color: #101F59;
}

.footer.footer--primary .footer__list--social a:focus svg,
.footer.footer--primary .footer__list--social a:hover svg {
    fill: #F6ED4E;
}

.footer.footer--primary .footer__list--social a .instagram path {
    fill: #101F59;
    stroke: #101F59;
}

.footer.footer--primary .footer__list--social a:focus .instagram path,
.footer.footer--primary .footer__list--social a:hover .instagram path {
    fill: #F6ED4E;
    stroke: #F6ED4E;
}

.footer.footer--primary .footer__list--social li {
    padding-right: 16px;
}

/*Secondary*/
.footer.footer--secondary {
    background-image: url('../../assets/bg-footer-curve.svg');
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

@media all and (min-width: 700px) {
    /*Primary*/
    .footer.footer--primary .grid {
        row-gap: 30px;
    }

    .footer.footer--primary .footer__list--menu a {
        padding: 12px 16px;
        color: #404040;
        line-height: 48px;
        text-decoration: underline;
    }
}

@media all and (min-width: 1400px) {
    .footer.footer--primary .grid {
        grid-template-columns: 7fr 3fr 3fr;
    }

    .footer__item {
        padding-right: 15px;
    }

    .footer__item a:last-of-type {
        margin-right: 0;
    }

    .footer.footer--primary .footer__copyright.footer__copyright--desktop {
        display: block;
    }

    .footer.footer--primary .footer__copyright.footer__copyright--mobile {
        display: none;
    }
}