@keyframes page-load {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.footer .footer-content {
    position: relative;
    width: 100%;
    max-width: 138.4rem;
    padding-left: 3.2rem;
    padding-right: 3.2rem;
    margin: auto;
}

@media only screen and (max-width: 1447px) {
    .footer .footer-content {
        box-sizing: border-box;
        max-width: 100%;
    }
}

@media only screen and (max-width: 959px) {
    .footer .footer-content {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }
}

.footer .footer-content .links ul {
    display: flex;
    margin: 0 -1.6rem;
}

    .footer .footer-content .links ul > * {
        padding: 0 1.6rem;
        flex-grow: 1;
        box-sizing: border-box;
    }

.footer::before {
    content: '';
    display: block;
    height: .8rem;
    background-image: linear-gradient(225deg, #1697aa 0%, #256fb8 51%, #1c2858 100%);
}

/* ==========================================================================
  Helper classes
  ========================================================================== */
.footer {
    margin-top: 6.5625em;
    background-color: #F3F4F4;
}

    .footer .footer-content {
        display: flex;
        align-items: center;
        padding-top: 5.3125em;
        padding-bottom: 5.3125em;
    }

        .footer .footer-content .links ul li a {
            color: #303030;
        }

            .footer .footer-content .links ul li a[href^="tel"]:last-child {
                display: none;
            }

        .footer .footer-content .social {
            margin-left: auto;
        }

            .footer .footer-content .social h5 {
                position: absolute;
                margin-top: -2em;
                color: #303030;
            }

            .footer .footer-content .social ul {
                display: flex;
            }

                .footer .footer-content .social ul li {
                    font-size: 1.25em;
                }

                    .footer .footer-content .social ul li + li {
                        margin-left: 3.2rem;
                    }

                    .footer .footer-content .social ul li a[title="YouTube"] {
                        color: #c54d17;
                    }

                    .footer .footer-content .social ul li a[title="Twitter"] {
                        color: #5ec0e9;
                    }

                    .footer .footer-content .social ul li a[title="Facebook"] {
                        color: #256fb8;
                    }

                    .footer .footer-content .social ul li a[title="LinkedIn"] {
                        color: #3076b0;
                    }

                    .footer .footer-content .social ul li a[title="Instagram"] {
                        color: #303030;
                    }

                    .footer .footer-content .social ul li a:hover, .footer .footer-content .social ul li a:focus, .footer .footer-content .social ul li a:active {
                        color: #1c2858;
                    }

                    .footer .footer-content .social ul li a .fa {
                        font-size: 3.2rem;
                    }

@media only screen and (max-width: 1447px) {
    .footer .footer-content {
        display: block;
    }

        .footer .footer-content .links ul {
            margin: -0.8rem;
        }

            .footer .footer-content .links ul > * {
                flex-grow: 0;
                padding: 0 0.8rem;
            }

        .footer .footer-content .social {
            margin-top: 2em;
        }

            .footer .footer-content .social h5 {
                position: static;
                margin-top: 0;
            }

            .footer .footer-content .social ul {
                margin-top: .25em;
            }
}

@media only screen and (max-width: 1279px) {
    .footer {
        margin-top: 4em;
    }

        .footer .footer-content {
            padding-top: 3.2rem;
            padding-bottom: 3.2rem;
        }
}

@media only screen and (max-width: 959px) {
    .footer .footer-content .links ul {
        flex-wrap: wrap;
    }

        .footer .footer-content .links ul > *:last-child {
            width: 100%;
            margin-top: .5em;
        }
}

@media only screen and (max-width: 639px) {
    .footer .footer-content .links ul {
        margin: 0;
    }

        .footer .footer-content .links ul li {
            font-size: 1.125em;
            width: 100%;
            padding-left: 0.8rem;
            padding-right: 0.8rem;
        }

            .footer .footer-content .links ul li + li {
                margin-top: .7222222222em;
            }

                .footer .footer-content .links ul li + li:last-child {
                    font-size: 1.6rem;
                    border-top: solid 1px #D1D3D4;
                    margin-top: 1.5em;
                    padding-top: 1em;
                    padding-bottom: 1em;
                    position: relative;
                }

                    .footer .footer-content .links ul li + li:last-child span {
                        display: block;
                    }

                    .footer .footer-content .links ul li + li:last-child a[href^="tel"]:last-child {
                        display: inline;
                    }

                        .footer .footer-content .links ul li + li:last-child a[href^="tel"]:last-child .material-icons {
                            position: absolute;
                            right: 0.8rem;
                            top: 50%;
                            transform: translateY(-50%);
                        }

    .footer .footer-content .social {
        margin-top: 0;
        padding: 1em 0.8rem 0;
        border-top: solid 1px #D1D3D4;
    }

        .footer .footer-content .social h5 {
            font-size: 1.6rem;
        }

        .footer .footer-content .social ul {
            justify-content: space-between;
        }
}
