.page-footer {
    background-color: #fff;
}

.footer-middle {
    background-color: #333;
    color: #fff;
}

.social-footer {
    background-color: #444;
    padding: 25px 30px 15px;

    ul {
        .ul-nostyle();
        .clearfix();
    }

    ul li {
        float: left;
        margin: 0 10px 10px 0;

        a {
            background-color: #fff;
            color: #666;
            font-size: 16px;
            display: block;
            width: 40px;
            height: 40px;
            text-align: center;
            line-height: 40px;
            .transition(.1s);
            .border-radius(2px);
        }

        a:hover {
            border-color: transparent;
        }
    }
}

.newsletter-footer {
    display: flex;
    padding-top: 25px;

    .newsletter-title {
        position: relative;
        padding-left: 70px;
        padding-right: 30px;
        white-space: nowrap;

        &:before {
            content: '';
            width: 52px;
            height: 52px;
            background: url(../images/newsletter-icon.png) no-repeat top left;
            position: absolute;
            top: -7px;
            left: 0;
        }

        .top-title {
            font-size: 120%;
            line-height: 1;
            margin: 3px 0 0;
        }

        .bottom-title {
            font-size: 183%;
            font-weight: 700;
            line-height: 1;
        }
    }

    .newsletter-content {
        display: flex;
        width: 100%;
    }

    .newsletter-form,
    .input-box {
        width: 100%;
    }

    .input-box input {
        border: none;
        height: 40px;
        .border-radius(2px 0 0 2px);
    }

    .action-button button {
        height: 40px;
        line-height: 40px;
        padding: 0 20px;
        text-transform: uppercase;
        font-weight: 600;
        .border-radius(0 2px 2px 0);
        .transition(.1s);
    }
}

.footer-top {
    background-color: #f5f5f5;
}

.footer-block {
    padding-top: 40px;
    margin-bottom: 40px;

    .footer-block-title {
        font-size: 107.69%;
        color: #222;
        font-weight: 700;
        padding-bottom: 10px;
        margin-bottom: 15px;
        position: relative;

        &:before {
            content: '';
            display: block;
            width: 40px;
            height: 2px;
            position: absolute;
            left: 0;
            bottom: 0;
        }
    }

    .links-footer {
        .ul-nostyle();

        li {
            margin: 0;
        }

        li a {
            display: table;
            padding: 4px 0;
        }
    }
}

.footer-block.footer-contact {
    background-color: #f9f9f9;
    margin: 0;
    padding: 40px 30px;

    .contact-info {
        .ul-nostyle();
        padding-top: 3px;

        li {
            padding-left: 39px;
            position: relative;
            margin: 0;
            color: #444;
        }

        li:not(:last-child) {
            margin-bottom: 18px;
        }

        li:before {
            background-color: #969696;
            display: block;
            width: 30px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            color: #fff;
            position: absolute;
            left: 0;
            top: 50%;
            margin-top: -15px;
            .border-radius(3px);
        }

        li.address:before {
            .icomoon(e90a, 20px);
        }

        li.email:before {
            .icomoon(e908, 18px);
        }

        li.phone:before {
            .icomoon(e967, 18px);
        }
    }
}

.footer-bottom {
    background-color: #f3f4f8;
    padding: 15px 0;

    address {
        margin: 4px 0 0;
    }

    address a:hover {
        text-decoration: underline;
    }

    small, .small {
        font-size: 100%;
    }
}

.payment-footer {
    text-align: right;
}

.layout-boxed {
    .footer-top,
    .footer-middle,
    .footer-bottom {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }
}