﻿/*
 *   Header
 */

header {
    position: absolute;
    width: 100%;
    height: 69px;
    padding-top: 16px;
    border-bottom: 1px solid #e6e6e6;
    opacity: 1;
    max-width: 100%;
}

z

header.offScreen {
    opacity: 0;
    -webkit-transition: all 0.15s;
    -moz-transition: all 0.15s;
    -o-transition: all 0.15s;
    -ms-transition: all 0.15s;
}

.menuOpen header.inPage,
.menuOpen.whiteHeaderBasePage header {
    background-color: #003D78;
}

header.inPage {
    position: fixed;
    background-color: #fff;
    opacity: 1;
}

.whiteHeaderBasePage header {
    background-color: #fff;
}

.imageHeaderBasePage .breadcrumb {
    top: 125px;
}

@media only screen and (min-width: 768px) {
    header {
        height: 100px;
        padding-top: 26px;
        border-bottom: none;
    }

    .menuOpen header {
        border-bottom: none;
    }
}

header .widthHolder {
    height: 100%;
    position: relative;
}

.navButton {
    background-image: url(../../images/v2/icons/iconStack.svg#IconMenu);
    height: 44px;
    width: 44px;
    background-color: transparent;
    position: absolute;
    left: -12px;
    top: -4px;
    text-indent: -9999px;
}

    .navButton:hover {
        opacity: 0.6;
    }

.inPage .navButton,
.whiteHeaderBasePage .navButton {
    background-image: url(../../images/v2/icons/iconStack.svg#IconMenuBlack);
}

.menuOpen .navButton {
    background-image: url(../../images/v2/icons/iconStack.svg#IconClose);
}

@media only screen and (min-width: 768px) {
    .menuOpen header {
        position: fixed;
        background-color: #003D78;
    }

    .navButton {
        top: 2px;
    }

    header .contentHolder {
        height: 100%;
    }

        header .contentHolder:after,
        header .contentHolder:before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 0;
            height: 1px;
            background-color: rgba(255,255,255,0.3);
            visibility: visible;
        }

        header .contentHolder:after {
            width: calc(100% - 68px);
        }

    .menuOpen header .contentHolder:after {
        display: none;
    }

    .menuOpen header .contentHolder:before {
        width: calc(100% - 68px) !important;
        -webkit-transition: all 1s;
        -moz-transition: all 1s;
        -o-transition: all 1s;
        -ms-transition: all 1s;
    }
}

.branchLogo {
    position: absolute;
    right: 0;
    top: 0;
    padding-right: 50px;
    text-decoration: none;
    color: #fff;
    text-align: right;
    font-size: 0.8125rem;
    display: block;
    letter-spacing: 0.03em;
    line-height: 122%;
    height: 38px;
    font-family: 'BMWTypeNextLatin-Bold', sans-serif;
}

    .branchLogo span.branchText {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        display: block;
    }

    .branchLogo:hover span.branchText {
        opacity: 0.6;
    }

.inPage .branchLogo,
.whiteHeaderBasePage .branchLogo {
    color: #000;
}

.menuOpen .inPage .branchLogo,
.menuOpen.whiteHeaderBasePage .branchLogo {
    color: #fff;
}

.branchLogo span.logo {
    background: url("../../images/v2/icons/bmwLogo.svg") 0 0 no-repeat;
    background-size: cover;
    display: block;
    position: absolute;
    width: 42px;
    height: 42px;
    right: -3px;
    top: -3px;
}

.inPage .branchLogo span.logo,
.whiteHeaderBasePage .branchLogo span.logo {
    background: url("../../images/v2/icons/bmwLogoForWhite.svg") 0 0 no-repeat;
    background-size: cover;
}

.menuOpen .inPage .branchLogo span.logo,
.menuOpen.whiteHeaderBasePage .branchLogo span.logo {
    background: url("../../images/v2/icons/bmwLogo.svg") 0 0 no-repeat;
    background-size: cover;
}

@media only screen and (min-width: 768px) {
    .branchLogo {
        position: absolute;
        padding-right: 68px;
        font-size: 0.8125rem;
        height: 48px;
    }

        .branchLogo span.logo {
            width: 56px;
            height: 56px;
            right: -4px;
            top: -4px;
        }
}

.coreLinks {
    background-color: #6f6f6f;
    width: 100%;
    height: 40px;
    padding: 14px 0;
    margin: 0;
    list-style: none;
    position: absolute;
    bottom: 0;
    left: 0;
    display: none !important;
}

.menuOpen .coreLinks {
    background: #0653B6;
    display: block !important;
}

.coreLinks li {
    width: 50%;
    float: left;
    height: 16px;
}

    .coreLinks li:first-child {
        padding-right: 8%;
        text-align: right;
        border-right: 1px solid #fff;
    }

    .coreLinks li:nth-child(2) {
        padding-left: 8%;
    }

.coreLinks a {
    color: #fff;
    text-decoration: none;
    font-size: 0.625rem;
    font-family: 'BMWTypeNextLatin-Bold', sans-serif;
    line-height: 24px;
    position: relative;
    top: -5px;
    letter-spacing: 0.03em;
}

    .coreLinks a:hover {
        opacity: 0.6;
    }

.inPage .coreLinks a {
    color: #000;
}

.menuOpen .inPage .coreLinks a {
    color: #fff;
}

@media only screen and (min-width: 768px) {
    .coreLinks {
        background-color: transparent;
        width: calc(84% - 200px);
        min-width: 450px;
        height: auto;
        padding: 0;
        margin: 0 0 0 11%;
        top: 18px;
        bottom: auto;
        display: block !important;
    }

    .menuOpen .coreLinks {
        background-color: transparent;
    }

    .coreLinks li {
        width: auto;
        float: left;
        height: 16px;
    }

        .coreLinks li:first-child {
            padding: 0 40px 0 0;
            text-align: left;
            border-right: none;
        }

        .coreLinks li:nth-child(2) {
            padding-left: 0;
        }

    .coreLinks a {
        font-size: 0.8125rem;
        position: relative;
        top: -5px;
    }

    .whiteHeaderBasePage .coreLinks a {
        color: #000;
    }

    .menuOpen.whiteHeaderBasePage .coreLinks a {
        color: #fff;
    }

    .coreLinks li.call a {
        width: auto;
        text-indent: 0;
        background-repeat: no-repeat;
        padding: 15px 0 4px 44px;
        color: #fff;
        text-decoration: none;
        font-size: 0.8125rem;
        font-family: 'BMWTypeNextLatin-Bold', sans-serif;
        letter-spacing: 0.03em;
    }
}

@media only screen and (min-width: 1280px) {
    .coreLinks {
        margin: 0 0 0 10%;
    }
}

header .contactHolder,
header .coreLinks .call {
    display: none;
}

@media only screen and (max-width: 900px) {
    .menuOpen header .contactHolder {
        display: block;
        width: 100%;
        height: 40px;
        margin: 0;
        position: absolute;
        bottom: -40px;
        left: 0;
        background: rgba(255, 255, 255, 0.1);
    }

        .menuOpen header .contactHolder li {
            position: relative;
            left: 48%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            margin-left: 0;
        }

            .menuOpen header .contactHolder li a {
                width: auto;
                text-indent: 0;
                background-repeat: no-repeat;
                padding: 14px 0 0 50px;
                color: #fff;
                text-decoration: none;
                font-size: 0.75rem;
                font-family: 'BMWTypeNextLatin-Bold', sans-serif;
                letter-spacing: 0.08em;
            }
}

@media only screen and (min-width: 768px) and (max-width: 899px) {
    .menuOpen header .contactHolder {
        height: 44px;
        background: #0653B6;
    }

        .menuOpen header .contactHolder li {
            position: relative;
            left: 9.5%;
            -webkit-transform: translateX(0%);
            -ms-transform: translateX(0%);
            transform: translateX(0%);
        }
}

@media only screen and (min-width: 900px) {
    header .coreLinks .call {
        display: block;
    }

    .coreLinks li:nth-child(3) {
        padding-left: 30px;
    }

    .inPage .coreLinks li.call a,
    .whiteHeaderBasePage .coreLinks li.call a {
        background-image: url(../../images/v2/icons/iconStack.svg#IconPhoneDark);
        color: #000;
    }

    .menuOpen .inPage .coreLinks li.call a,
    .menuOpen.whiteHeaderBasePage .coreLinks li.call a {
        background-image: url(../../images/v2/icons/iconStack.svg#IconPhone);
        color: #fff;
    }
}


/*
 *   Amends for minimal header
 */

.minimalHeader header .contentHolder:after {
    width: 0;
}

.minimalHeader header .contentHolder:before {
    width: 0;
}

.minimalHeader .coreLinks,
.minimalHeader .pageAnchors {
    display: none;
}

.menuOpen .coreLinks {
    display: block;
    bottom: -40px;
}

@media only screen and (min-width: 768px) {
    .menuOpen .coreLinks {
        display: block;
    }
}


/*
 *   Menu
 */

.menu {
    background-color: #003D78;
    position: absolute;
    top: 0;
    width: 100%;
    min-height: 100vh;
    opacity: 0;
    -webkit-transition: opacity .5s;
    -moz-transition: opacity .5s;
    -o-transition: opacity .5s;
    -ms-transition: opacity .5s;
}

.menuOpen .menu {
    opacity: 1;
}

.menuOpen .heroPageHead,
.menuOpen .mainBodyHolder {
    visibility: hidden;
}

html.menuOpen {
    background-color: #003D78;
}

.menu .contentHolder {
    margin-top: 180px;
}

@media only screen and (min-width: 768px) {
    .menu .contentHolder {
        margin-top: 100px;
        padding-top: 90px;
    }
}

@media only screen and (min-width: 900px) {
    .menu .contentHolder {
        padding-top: 44px;
    }
}

.mainLinks {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

    .mainLinks li {
        margin-bottom: 32px;
    }

    .mainLinks a {
        font-size: 1rem;
        font-family: 'BMWTypeNextLatin-Light', sans-serif;
        color: #fff;
        text-decoration: none;
    }

.retailerInfo {
    padding-bottom: 30px;
}

@media only screen and (min-width: 768px) {
    .mainLinks {
        float: left;
        width: 50%;
    }

    .retailerInfo {
        float: right;
        width: 300px;
    }
}
