/*
Theme Name: One Page Express Child
Template: one-page-express
Version: 1.0
Text Domain: one-page-express-child
*/

/* Header-Logo von One Page Express */
.navigation-bar .logo_col,
.navigation-bar .logo_col a,
.navigation-bar .logo_col img,
.header-top .logo_col,
.header-top .logo_col a,
.header-top .logo_col img {
    max-width: none;
}
.navigation-bar .logo_col img,
.header-top .logo_col img,
.navigation-bar img.custom-logo,
.header-top img.custom-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 180px !important;
    max-height: 60px !important;
    object-fit: contain !important;
}

/* Gesamter Footer */

.wieg-footer {

    box-sizing: border-box;

    width: 100%;

    margin: 0;

    padding: 70px 30px 0;

    background: #123354;

    color: #ffffff;

}

.wieg-footer *,

.wieg-footer *::before,

.wieg-footer *::after {

    box-sizing: border-box;

}

/* Gemeinsame Ausrichtung aller Footer-Bereiche */

.wieg-footer__container {

    width: 100%;

    max-width: 1200px;

    margin-right: auto;

    margin-left: auto;

}

/* =========================================================

   Vier obere Spalten

   ========================================================= */

.wieg-footer__main {

    display: grid;

    grid-template-areas: "brand quicklinks hubpages contact";

    grid-template-columns:

        minmax(220px, 1.4fr)

        minmax(150px, 1fr)

        minmax(150px, 1fr)

        minmax(220px, 1.2fr);

    column-gap: 50px;

    row-gap: 40px;

    width: 100%;

    margin: 0;

    padding: 0 0 55px;

}

/*

 * One Page Express bzw. Bootstrap verwendet teilweise

 * Pseudoelemente für Clearfix. In einem CSS-Grid würden

 * diese als zusätzliche Grid-Elemente gezählt.

 */

.wieg-footer__main::before,

.wieg-footer__main::after {

    display: none !important;

    content: none !important;

}

/* Spalten ausdrücklich positionieren */

.wieg-footer__brand {

    grid-area: brand;

    min-width: 0;

    margin: 0;

    padding: 0;

}

.wieg-footer__contact {

    grid-area: contact;

}

/* Sicherheitsregel gegen Theme-Floats */

.wieg-footer__brand,

.wieg-footer__column,

.wieg-footer__contact {

    float: none !important;

    width: auto !important;

    min-width: 0;

    margin-top: 0;

    margin-right: 0;

    margin-left: 0;

}

/* =========================================================

   Logo

   ========================================================= */

.wieg-footer__logo {

    display: block;

    margin: 0 0 25px;

    padding: 0;

}

.wieg-footer__logo .custom-logo-link {

    display: inline-block;

    margin: 0;

    padding: 0;

}

.wieg-footer__logo img,

.wieg-footer__logo .custom-logo {

    display: block;

    width: auto;

    width: 100px;

    height: auto;

    margin: 0;

    object-fit: contain;

}

.wieg-footer__description {

    max-width: 280px;

    margin: 0;

    color: rgba(255, 255, 255, 0.72);

    font-size: 0.95rem;

    line-height: 1.7;

}

/* =========================================================

   Überschriften und Menüs

   ========================================================= */

.wieg-footer__column h2 {

    margin: 0 0 22px;

    padding: 0;

    color: #ffffff;

    font-size: 0.95rem;

    font-weight: 700;

    line-height: 1.3;

    letter-spacing: 0.06em;

    text-transform: uppercase;

}

.wieg-footer__menu {

    display: block;

    margin: 0;

    padding: 0;

    list-style: none;

}

.wieg-footer__menu::before,

.wieg-footer__menu::after {

    display: none !important;

    content: none !important;

}

.wieg-footer__menu li {

    display: block;

    float: none !important;

    width: auto !important;

    margin: 0 0 11px;

    padding: 0;

}

.wieg-footer__menu a {

    color: rgba(255, 255, 255, 0.75);

    font-size: 0.95rem;

    line-height: 1.5;

    text-decoration: none;

}

.wieg-footer__menu a:hover,

.wieg-footer__menu a:focus-visible {

    color: #ffffff;

}

/* =========================================================

   Kontakt

   ========================================================= */

.wieg-footer__contact address {

    margin: 0 0 18px;

    color: rgba(255, 255, 255, 0.75);

    font-size: 0.95rem;

    font-style: normal;

    line-height: 1.7;

}

.wieg-footer__contact p {

    margin: 0;

}

.wieg-footer__contact a {

    color: rgba(255, 255, 255, 0.75);

    line-height: 1.7;

    text-decoration: none;

}

/* =========================================================

   Untere Zeile

   ========================================================= */

.wieg-footer__bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    min-height: 78px;

    margin: 0;

    padding: 22px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.22);

}

.wieg-footer__bottom::before,

.wieg-footer__bottom::after {

    display: none !important;

    content: none !important;

}

.wieg-footer__copyright {

    flex: 0 1 auto;

    margin: 0;

    padding: 0;

    color: rgba(255, 255, 255, 0.7);

    font-size: 0.9rem;

    text-align: left;

}

.wieg-footer__legal {

    display: flex;

    flex: 0 1 auto;

    flex-wrap: wrap;

    align-items: center;

    justify-content: flex-end;

    margin: 0 0 0 auto;

    padding: 0;

    text-align: right;

}

.wieg-footer__legal::before,

.wieg-footer__legal::after {

    display: none !important;

    content: none !important;

}

.wieg-footer__legal a {

    display: inline-block;

    color: rgba(255, 255, 255, 0.7);

    font-size: 0.9rem;

    line-height: 1.5;

    text-decoration: none;

}

.wieg-footer__legal a:not(:last-child)::after {

    margin: 0 14px;

    color: rgba(255, 255, 255, 0.35);

    content: "|";

}

.wieg-footer__legal a:hover,

.wieg-footer__legal a:focus-visible {

    color: #ffffff;

}

/* =========================================================

   Tablet

   ========================================================= */

@media (max-width: 950px) {

    .wieg-footer__main {

        grid-template-areas:

            "brand quicklinks"

            "hubpages contact";

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 60px;

        row-gap: 45px;

    }

}

/* =========================================================

   Smartphone

   ========================================================= */

@media (max-width: 600px) {

    .wieg-footer {

        padding: 50px 22px 0;

    }

    .wieg-footer__main {

        grid-template-areas:

            "brand"

            "quicklinks"

            "hubpages"

            "contact";

        grid-template-columns: minmax(0, 1fr);

        gap: 38px;

        padding-bottom: 42px;

    }

    .wieg-footer__bottom {

        align-items: flex-start;

        flex-direction: column;

        gap: 14px;

        min-height: auto;

        padding: 24px 0 30px;

    }

    .wieg-footer__legal {

        justify-content: flex-start;

        margin-left: 0;

        text-align: left;

    }

}