/************************ FOOTER **********************/
.footer-cols {
    box-sizing: border-box;
}

.footer-cols a {
    color: black;
    font-size: 1rem;
    font-weight: 400;
    transition: color .7s ease;
}

.footer-cols p a:hover {
    color: var(--brand-a);
    transition: color .7s ease;
}

.social-media-container {
    width: 285px;
    xdisplay: flex;
    flex-direction: row;
    justify-content: space-between;
}

.social-media-container p {
    color: var(--brand-a);
    font-weight: 400;
    margin-bottom: .75rem;
    font-size: 1rem;
}

/* .fab is the social media icons in footer */
.fab {
    font-family: "Font Awesome 5 Brands";
    font-size: 2rem;
    color: var(--brand-a);
    transition: color .7s ease;
    margin-right: 1em;
}

.fab:hover {
    color: var(--brand-a-hover);
    transition: color .7s ease;
}

/*********************** Overwritten styles for footer ****************************/
#footer {
    /* background: url("images/bg_bottom.jpg") center no-repeat;	background-size: cover; */
    padding: 1rem 0;
}

/*.cmsDebug #footer {	background-image: url(../../images/bg_bottom.jpg);}*/
#footer .standard-width {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(calc(25% - 2rem), 1fr));
}

.footer-cols {
    max-width: unset;
}

.footer-cols p.footer-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 2rem;
}

.footer-logo {
    width: 285px;
    margin-bottom: 1.5rem;
}

.footer-logo a {
    display: inline-block;
    width: 100%;
    height: 100%;
    transition: opacity 1s ease;
}

.footer-logo a:hover {
    opacity: .75;
    transition: opacity 1s ease;
}

.footer-cols p {
    font-size: 1rem;
    margin: 0 0 .2rem;
}

.copyrightContainer {
    border-top: 1px solid #ccc;
}

.copyrightContainer .standard-width {
    display: flex;
}

.copyrightContainer .standard-width p {
    flex: 1;
}

.copyrightContainer .copyright-p.copyright-p-right {
    text-align: right;
}

.copyrightContainer .copyright-p {
    font-size: 1rem;
    color: black;
    font-weight: 400;
    margin: 0;
    padding: 1rem 0;
}

.copyrightContainer .copyright-p a {
    color: black;
    font-weight: 400;
}

.copyrightContainer .copyright-p a:hover {
    color: var(--brand-a);
}

/************************* Wrapping 2nd and 3rd column content in a <DIV> *************************/
.footer-cols.footer-col2 {
    display: flex;
    justify-content: flex-end;
}

.footer-cols.footer-col3 {
    display: flex;
    justify-content: flex-end;
}

/************************* Wrapping 4th column content in a <DIV> *************************/
.footer-cols.footer-col4 {
    display: flex;
    justify-content: flex-end;
}

.footer-cols h3 {
    color: white;
    /* text-transform: uppercase; */
    font-size: 1.1rem;
    font-weight: 700;
}

.footer-cols h3::after {
    display: none;
}


@media only screen and (max-width: 1250px) {
    .footer-logo,
    .social-media-container {
        width: auto;
    }

    .footer-cols.footer-col4 {
        justify-content: center;
    }
}



@media only screen and (max-width: 899px) {
    #footer .standard-width {
        grid-template-columns: repeat(auto-fit, minmax(calc(50% - 2rem), 1fr));
    }

    .footer-cols.footer-col2,
    .footer-cols.footer-col3,
    .footer-cols.footer-col4 {
        justify-content: start;
    }

    .footer-col1 p {
        margin-left: 0;
    }

    .footer-logo,
    .social-media-container {
        width: 250px;
    }
}



@media only screen and (max-width: 679px) {
    .copyrightContainer .standard-width {
        display: block;
    }

    .copyrightContainer .copyright-p,
    .copyrightContainer .copyright-p.copyright-p-right {
        text-align: center;
    }

    .copyrightContainer .copyright-p {
        padding: 0.25rem 0;
    }
}


@media only screen and (max-width: 575px) {
    .footer-logo,
    .social-media-container {
        width: auto;
    }
}


@media only screen and (max-width: 499px) {
    #footer .standard-width {
        display: block;
    }

    .footer-cols {
        padding: 0;
    }

    #footer {
        display: block;
    }

    .footer-cols.footer-col2,
    .footer-cols.footer-col3,
    .footer-cols.footer-col4 {
        margin-top: 2rem;
    }

    .footer-cols.footer-col1 {
        padding-top: 0;
    }

    .footer-cols.footer-col1,
    .footer-cols.footer-col2,
    .footer-cols.footer-col3,
    .footer-cols.footer-col4 {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-cols p {
        text-align: center;
    }

    .social-media-container {
        margin-top: 0;
        align-items: center;
    }

    .footer-logo,
    .social-media-container {
        text-align:center;
    }

    .page-home #middle {
        margin-bottom: 1rem;
    }

}

@media only screen and (max-width: 484px) {

}