/*
 *   Buttons
 */

.btn-primary, /* overrides cookie v1 ROLN*/
.btnPrimary {
    display: block;
    float: left;
    height: 44px;
    background-color: #0085AC;
    color: #fff;
    text-align: center;
    padding: 13px 20px;
    font-size: 0.875rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-decoration: none;
    line-height: 1rem;
    margin:0;
    border: 2px solid #0085AC;
    cursor: pointer;
    letter-spacing: 0.063rem;
}

.btnPrimary.withArrow {
    background-image: url("images/v2/icons/iconStackSmall.svg#ArrowRightWhite");
    background-position: 100% 0;
    background-repeat: no-repeat;
}

.btn-primary:hover, /* overrides cookie v1 ROLN*/
.btnPrimary:hover {
    border: 2px solid #0085AC;
    background-color: #fff;
    color: #000;
}

input[type="submit"].btnPrimary  {
    -webkit-appearance: none;
    border-radius: 0;
    display: block;
    height: 44px;
    background-color: #0085AC;
    color: #fff;
    text-align: center;
    padding: 12px 48px;
    font-size: 0.85rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 150%;
    margin: 0;
    border: none;
    cursor: pointer;
    letter-spacing: 0.08em;
}

input[type="submit"].btnPrimary:hover {
    opacity:0.7;
}

input[type="submit"].btnPrimary.btnLink {
    background: none !important;
    border: none;
    padding: 0 !important;
    color: #1c69d4;
    text-decoration: none;
    cursor: pointer;
    text-align:center;
    font-size: 0.75rem;
    display: block;
    padding: 20px 0;
    letter-spacing: 0em;
    margin: 0 auto;
    float: none;
}

.btnSecondary {
    display: block;
    float: left;
    height: 44px;
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 13px 20px;
    font-size: 0.875rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-decoration: none;
    line-height: 1rem;
    margin:0;
    letter-spacing: 0.03em;
    border: 2px solid #000;
}

.btnSecondary:hover {
    background-color: #fff;
    border: 2px solid #000;
    color: #000;
}

.btnTertiary {
    display: block;
    float: left;
    height: 44px;
    background-color: transparent;
    color: #000;
    text-align: center;
    padding: 13px 20px;
    font-size: 0.875rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-decoration: none;
    line-height: 1rem;
    margin:0;
    letter-spacing: 0.03em;
    border: 2px solid #0085AC;
}

.btnTertiary:hover {
    border: 2px solid #0085AC;
    color: #0085AC;
}


.buttonHolder .btnPrimary:first-child {
    margin-right: 20px;
}

@media only screen and (max-width: 768px) {
    .btn-primary, /* overrides cookie v1 ROLN*/
    input[type="submit"].btnPrimary.solo {
        margin: 0 auto;
        width: 230px;
        float: none;
    }
}


@media only screen and (min-width: 768px) {
    .btn-primary, /* overrides cookie v1 ROLN*/
    .btnPrimary.solo {
        margin: 0;
        width: 230px;
        float: right;
    }
}


/*
 *   Arrow links
 */

.arrowLink {
    background: url("images/v2/icons/iconMiniStack.svg#smallArrowRightBlue") 100% 0 no-repeat transparent;
    font-family: 'MINISansSerif-Regular', sans-serif;
    font-size: 0.875rem;
    color: #0085AC;
    line-height: 0.938rem;
    text-decoration: none;
    text-transform: uppercase;
    padding: 15px 34px 15px 0;
    height: 45px;
    display: inline-block;
    letter-spacing: 0.062em;
    white-space: nowrap;
}

.arrowLink:hover  {
    background: url("images/v2/icons/iconMiniStack.svg#smallArrowRightBlue") 100% 0 no-repeat transparent;
    color: #0085AC;
}

.centerArrow {
    text-align: center;
}

/*  safari button fixes */
@media not all and (min-resolution:.001dpcm) {
    .arrowLink {
        padding-top: 16px;
    }

    .btn-primary, .btnPrimary {
        padding-top: 14px;
    }
}

button[disabled], button.disabled {
    pointer-events: none;
    opacity: 0.4
}

#bmw-eprivacy-banner__cta .btn {
    width: 100%;
    max-width: 300px;
    line-height: 120%;
    padding: 2px 48px;
}
/*
 *   Font
 */

@font-face {
    font-family: 'MINISerif-Regular';
    src: url('/fonts/mini/mini_serif-regular-web.eot');
    src: url('/fonts/mini/mini_serif-regular-web.eot?#iefix') format('embedded-opentype'),
    url('/fonts/mini/mini_serif-regular-web.ttf') format('truetype'),
    url('/fonts/mini//mini_serif-regular-web.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MINISerif-Bold';
    src: url('/fonts/mini/mini_serif-bold-web.eot');
    src: url('/fonts/mini/mini_serif-bold-web.eot?#iefix') format('embedded-opentype'),
    url('/fonts/mini/mini_serif-bold-web.ttf') format('truetype'),
    url('/fonts/mini/mini_serif-bold-web.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MINISansSerif-Regular';
    src: url('/fonts/mini/mini_sans_serif-regular-web.eot');
    src: url('/fonts/mini/mini_sans_serif-regular-web.eot?#iefix') format('embedded-opentype'),
    url('/fonts/mini/mini_sans_serif-regular-web.ttf') format('truetype'),
    url('/fonts/mini/mini_sans_serif-regular-web.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MINISansSerif-Bold';
    src: url('/fonts/mini/mini_sans_serif-bold-web.eot');
    src: url('/fonts/mini/mini_sans_serif-bold-web.eot?#iefix') format('embedded-opentype'),
    url('/fonts/mini/mini_sans_serif-bold-web.ttf') format('truetype'),
    url('/fonts/mini/mini_sans_serif-bold-web.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {text-align: left; font-size: 1rem; font-family: 'MINISerif-Regular', sans-serif; line-height: 120%; color: #242424; -webkit-font-smoothing: antialiased; letter-spacing:0.031rem;}

p,ul,dl,ol,pre{ font-family: 'MINISerif-Regular', sans-serif; font-weight: normal; letter-spacing:0.031rem;}
p input, p textarea, li input, p label {font-size: 100%; font-family: 'MINISerif-Regular', sans-serif;}
pre,code,input,textarea,select{font-family: 'MINISerif-Regular', sans-serif; line-height:120%;}
th dt, td dt, th dd, td dd, th li, td li, li li, dt dt, dt dd, dd dt, dd dd, legend legend{font-size:100%; font-family: 'MINISerif-Regular', sans-serif;}

h1,h2,h3,h4,h5,h6{padding-bottom:1em;font-family: 'MINISerif-Bold', sans-serif; font-weight: normal; line-height:120%;}

i,em {font-family: 'MINISerif-Regular', sans-serif; font-style: italic;}
b,strong{font-family: 'MINISerif-Bold', sans-serif;}
i b,i strong,em b,em strong,b i,strong i,b em,strong em{font-family: 'MINISerif-Bold', sans-serif; font-style: italic;}

/*
 *   Footer
 */

/* html styles here ensure background of main scroll bar for safari is white, not dark */

html {
    background-color: #fff;
    position: relative;
}

html:after {
    background-color: #272727;
    bottom: -20px;
    content:"";
    display: block;
    height: 21px;
    position: absolute;
    width: 100%;
}

footer {
    background-color: #484848;
    color: #fff;
    font-family: 'MINISansSerif-Regular', sans-serif;
}

footer h2 {
    color: #fff;
    font-size: 0.9375rem;
    line-height: 1.125rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-transform: uppercase;
}


.footer {
    padding: 26px 0 0;
}

.footer address {
    font-style: normal;
    padding-bottom: 36px;
}

.footer address strong {
    display: block;
    color: #fff;
    font-size: 0.9375rem;
    font-weight: normal;
    line-height: 1.125rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-transform: uppercase;
    padding-bottom: 6px;
}
.footer address p {
    color: #fff;
    font-family: 'MINISansSerif-Regular', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.5rem;
    padding-bottom: 25px;
}

.footer address p.footerPhone {
    display: inline;
}

.footer address p.footerPhone a {
    color: #fff;
    text-decoration:none;
}

.footer .social {
    list-style: none;
    margin: 0 0 52px -8px;
    padding:0;
}

@media only screen and (min-width: 768px) {
    .footer {
        padding: 38px 0 0;
    }

    footer h2 {
        font-size: 0.75rem;
        line-height: 18px;
        font-weight: normal;
    }

    .footer address strong {
        font-size: 0.75rem;
        line-height: 18px;
        font-weight: normal;
    }

    .footer address p {
        font-size: 0.75rem;
        line-height: 18px;
        padding-bottom: 0;
        font-weight: 400;
    }

    .footer .socialCol {
        float: left;
        width:50%;
    }

    .footer address {
        float: right;
        width:50%;
    }

    .subFooter {
        clear:both;
    }
}

@media only screen and (min-width:1280px) {
    .subFooter {
        float: right;
        padding-bottom: 45px;
        width: 20%;
    }

    .footer address,
    .footer .socialCol {
        float: none;
        width:100%;
    }
    .secondaryFooter .widthHolder,
    .footer > .widthHolder {
        width: 100%;
        max-width: 1020px;
    }

}

.footerNav h2 {
    background: url(images/v2/icons/iconMiniStack.svg#ArrowWhiteDown) 105% 20px no-repeat transparent;
    border-bottom: 1px solid #666666;
    color: #fff;
    cursor: pointer;
    font-size: 0.9375rem;
    line-height: 18px;
    font-family: 'MINISansSerif-Regular', sans-serif;
    padding: 17px 0;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.footerNav h2.open {
    background: url(images/v2/icons/iconMiniStack.svg#ArrowWhiteUp) 105% 20px no-repeat transparent;
}

.footerNavHolder {
    padding-bottom: 15px;
}

.footerNav ul{
    display:none;
    padding: 0;
    margin:0;
}

.footerNav ul.open{
    display:block;
}

.footerNav li{
    list-style: none;
    margin:0;
    padding:0;
    padding-right: 25px;
}

.footerNav li a{
    color: #BDBDBD;
    display: inline-block;
    font-family: 'MINISansSerif-Regular', sans-serif;
    font-size:  0.875rem;
    line-height:120%;
    text-decoration: none;
    padding: 10px 0 9px;
}

@media only screen and (min-width: 768px) {
    .footerNav li a{
        font-size: 0.75rem;
        padding: 6px 0;
    }

    .footerNav h2 {
        border:none;
        cursor:none;
        font-size: 0.75rem;
        line-height:1rem;
        margin-bottom: 15px;
        padding: 0;
    }

    .footerNavHolder {
        display:inline-block;
        padding-bottom: 28px;
    }

    .footerNav > ul {
        display: block ;
    }

    .footerNav{
        display:block;
        float:left;
        width: 22%;
    }
    .primaryNav {
        display:block;
        width: 55%;
    }

    .primaryNav li{
        float: left;
        padding-right: 25px;
        width: 50%;
    }

    .primaryNav li:nth-child(even){
        float: right;
    }
}

@media only screen and (min-width:1280px) {
    .footerNavHolder {
        display:inline-block;
        padding-bottom: 45px;
        width: 80%;
    }

    .footerNav {
        width: 25%;
    }

    .primaryNav {
        width: 50%;
    }

}

.secondaryFooter {
    background-color: #272727;
    color: #fff;
    padding-bottom: 26px;
}

.secondaryFooter .navLink {
    padding: 10px 0 0 0;
    display: inline-block;
    margin:0;
}

.secondaryFooter .navLink li:after {
    content: "";
    display: block;
    height: 9px;
    background-color: #666666;
    transform: rotate(0deg);
    position: absolute;
    right: 15px;
    top: 8px;
    width: 1px;
}

.secondaryFooter .navLink li:last-child:after {
    display: none;
}

.secondaryFooter .navLink li {
    display: inline-block;
    list-style-type: none;
    padding: 0 0 2px;
    position: relative;
}

.secondaryFooter .navLink li a {
    color: #BDBDBD;
    font-size: 0.75rem;
    margin-right: 13px;
    padding-right: 19px;
    font-family: 'MINISansSerif-Regular', sans-serif;
    text-decoration: none;
    position: relative;
}

@media only screen and (min-width: 768px) {
    .secondaryFooter {
        padding-bottom: 192px;
    }
}

.versionInfo {
    font-size: 0.7em;
}
/*
 *   Header
 */

header {
    height: 69px;
    padding-top: 16px;
    position: absolute;
    opacity: 1;
    width: 100%;
    max-width: 100%;
}

html.menuOpen .mainBodyHolder {
    display: none;
}

html.menuOpen:after {
    display:none;
}

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,
.menuOpen.whiteHeaderBasePage header {
    background-color: #fff;
}

.menuOpen header,
.whiteHeaderBasePage header {
    background-color: #fff;
}

@media only screen and (min-width: 768px) {
    header {
        height:100px;
        padding-top: 26px;
    }
}

@media only screen and (min-width: 1280px) {
    header {
        width:100vw;
    }
}

header .widthHolder {
    height: 100%;
    position: relative;

}

.menu .widthHolder {
    height: 100vh;
    position: relative;
    min-height: 100vh;
}

.navButton {
    background-image: url("images/v2/icons/iconMiniStack.svg#IconMenu");
    background-position: -2px 1px;
    background-color: transparent;
    height: 44px;
    position:absolute;
    right: -12px;
    text-indent: -9999px;
    top: -4px;
    width: 44px;
}

.navButton:hover {
    opacity: 0.6;
}

.menuOpen .inPage .navButton,
.menuOpen.whiteHeaderBasePage .navButton,
.menuOpen .navButton {
    background-image: url("images/v2/icons/iconMiniStack.svg#IconCloseDark");
    background-position: 1px -1px;
}

.inPage .navButton,
.whiteHeaderBasePage .navButton {
    background-image: url("images/v2/icons/iconMiniStack.svg#IconMenuBlack");
}


@media only screen and (min-width: 768px) {
    .menuOpen header {
        position: fixed;
    }

    .navButton {
        top: 2px;
    }

    header .contentHolder {
        height:100%;
    }

    header .contentHolder:after,
    header .contentHolder:before {
        background-color: rgba(255,255, 255,0.08);
        bottom: 0;
        content: "";
        height: 1px;
        position: absolute;
        visibility: visible;
        width: 100%;
    }
    .whiteHeaderBasePage header .contentHolder:after {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .menuOpen header .contentHolder:after,
    .menuOpen header .contentHolder:before {
        background-color: rgba(0, 0, 0, 0.05);
    }

}

@media only screen and (min-width:1280px) {
    .menuOpen header, .menuOpen header.inPage, .menuOpen.whiteHeaderBasePage header {
        background-color: transparent;
    }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .menuOpen header, .menuOpen header.inPage, .menuOpen.whiteHeaderBasePage header {
        background-color: #fff;
    }
}


/*
 *  brandLogo
 */

.branchLogo {
    position: absolute;
    left: 0;
    top: 0;
    padding-left: 60px;
    text-decoration: none;
    color: #fff;
    font-size: 0.6875rem;
    display: block;
    letter-spacing: 0.03em;
    line-height: 122%;
    height: 38px;
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.branchLogo span.branchText {
    display: block;
    position: relative;
    top: 48%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.branchLogo:hover span.branchText {
    opacity: 0.6;
}

.menuOpen .branchLogo,
.inPage .branchLogo,
.whiteHeaderBasePage .branchLogo {
    color: #242424;
}

.menuOpen .inPage .branchLogo,
.menuOpen.whiteHeaderBasePage .branchLogo {
    color: #242424;
}

.branchLogo span.logo {
    background: url("images/v2/icons/miniLogoForWhite.png") center center no-repeat;
    background-size: 54px 24px;
    display: block;
    height: 24px;
    left: -3px;
    position: absolute;
    top: 4px;
    width: 54px;
}
.menuOpen .branchLogo span.logo,
.inPage .branchLogo span.logo,
.whiteHeaderBasePage .branchLogo span.logo {
    background: url("images/v2/icons/miniLogo.png") center center no-repeat;
    background-size: 54px 24px;
}

@media only screen and (min-width: 768px) {
    .branchLogo {
        font-size: 0.75rem;
        height: 48px;
        padding-left: 92px;
        position: absolute;
    }

    .branchLogo span.logo {
        display: inline-block;
        background-size: 83px 37px;
        height: 37px;
        right: 0;
        top: 5px;
        width: 83px;
    }
    .menuOpen .branchLogo span.logo,
    .inPage .branchLogo span.logo,
    .whiteHeaderBasePage .branchLogo span.logo {
        background-size: 83px 37px;
    }
}


/*
 *   Core Links
 */

.whiteHeaderBasePage .coreLinks {
    background: #666;
}

.coreLinks {
    background-color: rgba(0,0,0,0.3);
    bottom: 0;
    height: 40px;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 12px 0;
    position: absolute;
    width: 100%;
    top: 40px;
}

.menuOpen .coreLinks {
    background: #0085ac;
    display: block !important;
}

.coreLinks li {
    float: left;
    height: 16px;
    width: 50%;
}

.coreLinks li.call {
    display: none;
}

.coreLinks li:first-child {
    border-right: 1px solid #949494;
    padding-right: 6%;
    text-align: right;
}

.menuOpen .coreLinks li:first-child {
    border-right: 1px solid #4cabc5;
}

.coreLinks li:nth-child(2) {
    padding-left: 6%;
}

.coreLinks a {
    color: #fff;
    font-size: 0.625rem;
    font-family: 'MINISansSerif-Regular', sans-serif;
    letter-spacing: 0.073em;
    line-height: 1.5rem;
    position: relative;
    text-decoration: none;
    text-transform :uppercase;
    top: -5px;
}

.coreLinks a:hover {
    opacity:0.6;
}

.menuOpen .coreLinks a,
.inPage .coreLinks a {
    color: #fff;
}

@media only screen and (min-width: 1280px) {
    .menuCloseBtn {
        font-family: 'MINISerif-Bold',sans-serif;
        font-weight: bolder;
        line-height: 120%;
        color: #242424;
        padding-top: 20% !important;
        display: inline-block;
        font-size: 1rem !important;
        bottom: 27px;
        left: 20%;
        text-decoration: underline !important;
    }
}

@media only screen and (max-width: 1279px) {
    .menuCloseBtn {
        display: none !important;
    }
}

@media only screen and (min-width: 768px) {
    .coreLinks {
        background-color: transparent;
        bottom: auto;
        height: auto;
        left: auto;
        padding: 0;
        right: 76px;
        text-align: right;
        top: 15px;
        width: auto;
        display: block;
    }

    .modelSelectionPage .coreLinks {
        display:none;
    }

    .menuOpen .coreLinks {
        background-color: transparent;
    }

    .coreLinks li {
        float: left;
        height: 16px;
        padding: 0 40px 0 0;
        width: auto;
    }

    .coreLinks li.call {
        display: block;
    }

    .coreLinks li:first-child {
        border-right: none;
        padding: 0 40px 0 0;
        text-align: right;
    }

    .coreLinks li:nth-child(2) {
        padding-left: 0;
    }

    .coreLinks a {
        font-size: 0.75rem;
        position: relative;
        top: -5px;
    }

    .menuOpen .coreLinks li.call {
        /*display: none;*/
    }

    .menuOpen .coreLinks a,
    .inPage .coreLinks a {
        color: #242424;
    }

    .menuOpen.whiteHeaderBasePage .coreLinks a,
    .whiteHeaderBasePage .coreLinks a {
        color: #242424;
    }
    .whiteHeaderBasePage .coreLinks {
        background: transparent;
    }
}


@media only screen and (min-width: 900px) {
    .coreLinks {
        right: 89px;
    }
}

@media only screen and (min-width: 1280px) {
    .coreLinks {
        right: 151px;
    }
    .menuOpen .coreLinks li:first-child {
        border-right:none;
    }

}


/*
 *   Amends for minimal header
 */

.minimalHeader header .contentHolder:before {
    width:0;
}

.minimalHeader .coreLinks,
.minimalHeader .pageAnchors {
    display: none;
}

.menuOpen .coreLinks {
    display: block;
    bottom: -38px;
}


/*
 *   Menu
 */

@media only screen and (min-width: 768px)  and (max-width: 1279px) {
    .menuOpen .coreLinks {
        background-color: #666666;
        height: 62px;
        list-style: none;
        margin: 0;
        padding: 20px 0;
        position: absolute;
        top: 74px;
        left: 0;
        width: 100%;
    }

    .menuOpen .coreLinks {
        background: #0085ac;
    }

    .menuOpen .coreLinks li {
        float: left;
        height: 24px;
        width: 50%;
    }

    .menuOpen .coreLinks li:first-child {
        border-right: 1px solid #4cabc5;
        padding-right: 13%;
        text-align: right;
    }

    .menuOpen .coreLinks li:nth-child(2) {
        padding-left: 13%;
        text-align: left;
    }

    .menuOpen .coreLinks a {
        color: #fff !important;
        text-decoration: none;
        font-size:  0.875rem;
        font-family: 'MINISansSerif-Regular', sans-serif;
        line-height: 1.5rem;
        text-transform :uppercase;
        position: relative;
        top: unset;
        letter-spacing: 0.073em;
    }
}

.menu {
    position: absolute;
    top:0;
    width:100%;
    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 .tier1Banner,
.menuOpen .mainBodyHolder {
    visibility: hidden;
}

html.menuOpen {
    background-color: #fff;
}

.menu .contentHolder {
    margin: 0%;
    padding: 108px 0 0;
    height: 100vh;
    display: block;
}

@media only screen and (min-width: 768px) {
    .menu .contentHolder {
        margin: 0;
        padding: 162px 0;
    }
}

@media only screen and (max-width:1279px) {
    .menu .contentHolder {
        background: #fff;
    }

    html.menuOpen.activeMenu .menu .contentHolder {
        background: #F9F9F9 !important;
    }
    html.menuOpen.activeMenu{
        background: #F9F9F9;
    }

}

@media only screen and (min-width: 1280px) {
    .menu .contentHolder {
        background: #fff;
        height: 760px;
        margin: 0 0 0 0;
        padding: 0;
        position: relative;
    }


    .activeMenu .menu .contentHolder {
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(255,255,255,1) 30%, rgba(249,249,249,1) 30%);
        height: 760px;
        margin: 0 0 0 0%;
        padding: 0;
        position: relative;
    }
}

.mainLinks {
    list-style: none;
    line-height: 22px;
    padding: 0;
    list-style: none;
    line-height: 22px;
    padding: 0;
    width: 30%;
    float: left;
    padding-bottom: 65px;
    min-height: 660px;
    padding-top: 8em;
}

@media only screen and (max-width:1279px) {
    .mainLinks {
        width: 100%;
        position: relative;
        display: block;
        padding-top: 44px;
        padding-bottom: 65px;
        height: 100%;
        box-sizing: border-box;
        margin: 0;
    }
}

    .mainLinks a {
        color: #242424;
        display: block;
        font-size: 1.25rem;
        font-family: 'MINISerif-Regular', sans-serif;
        padding: 0 0 0 5%;
        text-decoration: none;
    }

    .mainLinks a span {
        color: inherit;
        display: inline-block;
        padding: 15px 20px 14px 0;
    }

    .mainLinks li.has-child span {
        background: url(images/v2/icons/rightArrow.svg) right 19px no-repeat;
    }

    @media only screen and (min-width: 768px) {
        .mainLinks a {
            font-size: 1.375rem;
            padding: 0 0 0 6.25%;
        }
    }

    @media only screen and (min-width: 1280px) {
        .mainLinks li:hover a,
        .mainLinks .active a {
            background-color: #F9F9F9;
        }

        .mainLinks a {
            font-size: 1.375rem;
            padding: 0 0 0 20%;
        }

        .menu {
            height: 100vh;
        }
    }


/*
 *   Forms
 */

p label,
.labelCopy {
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.stdForm p a {
    font-family: 'MINISerif-Regular', sans-serif;
    color: #0085AC;
}

.checkRadioHolder {
    font-family: 'MINISerif-Regular', serif;
}

    .checkRadioHolder.promoPrice .labelLineBreak {
        font-family: 'MINISerif-Bold', serif;
        color: #0085AC;
    }

    .checkRadioHolder .originalPrice {
        font-family: 'MINISerif-Regular', serif;
    }

    .checkRadioHolder:hover input ~ .checkmark,
    .checkRadioHolder input:checked ~ .checkmark,
    .checkRadioHolder:hover input ~ .radioMark,
    .checkRadioHolder input:checked ~ .radioMark {
        /* border: 1px solid #0085AC; */
    }

    .checkRadioHolder .checkmark:after {
        border: solid #0085AC;
        left: 9px;
        top: 5px;
        width: 5px;
        height: 10px;
        border-width: 0 1px 1px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .checkRadioHolder .radioMark:after {
        background-color: #0085AC;
    }

.toolTip {
    background: url("images/v2/icons/iconMiniStack.svg#InfoTip") no-repeat 0 0 transparent;
}

select {
    background-image: url('images/v2/icons/iconStackSmall.svg#ArrowDownBlue');
    background-repeat: no-repeat;
    font-size: 0.875rem;
    background-position: 110% 4%;
}

.filterType .opener:after {
    background: url('images/v2/icons/iconStackSmall.svg#ArrowDownBlue') 0 0 no-repeat transparent;
}

.filtersSection .filtersOpen {
    background: url('images/v2/icons/iconMiniStack_v2.svg#Filter') 100% 0 no-repeat transparent;
}

@media only screen and (min-width: 768px) {
    select {
        background-position: 110% 40%;
    }
}

.appointmentHead {
    background: url("images/v2/icons/iconStackSmall.svg#ArrowDownBlue") 100% -5px no-repeat transparent;
    width: 50%;
    margin-left: 10%;
    float: left;
    text-decoration: none;
}

    .appointmentHead.closed {
        background: url("images/v2/icons/iconStackSmall.svg#ArrowUpBlue") 100% -5px no-repeat transparent;
    }

.tipContent a {
    color: #0085AC;
}

.selectSize {
    font-family: 'MINISerif-Bold';
}

.use-address-entered em {
    color: #0085AC;
}


/*
 *   mandatory checkbox
 */
.mandatory-checkbox {
    border: 1px solid #262626;
}

    .mandatory-checkbox:checked {
        border: 1px solid #0085AC;
    }

        .mandatory-checkbox:checked:after {
            /*border: 1px solid #0085AC;*/
        }


/*
 *   Colours & fonts
 */

.progressBar li.active span:before {
    border: 1px solid #0085AC;
    background-color: #0085AC;
}

.progressBar li.active span:after {
    background-color: #0085AC;
}

.progressBar p {
    font-family: 'MINISansSerif-Regular', sans-serif;
    color: #949494;
}

.progressBar li.active p {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}

.alertArea {
    background-color: #0085AC;
}

.pageWrap .bmw-eprivacy .bmw-eprivacy-banner__container h2,
.pageWrap .bmw-eprivacy .bmw-eprivacy-banner__container h3,
.pageWrap .bmw-eprivacy .bmw-eprivacy-banner__container h4 {
    font-family: 'MINISerif-Bold', serif;
}

.pageWrap .bmw-eprivacy .bmw-eprivacy-banner__container a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}

.title h2 {
    font-family: 'MINISerif-Bold', serif;
}

.defaultTabs li.current {
    border-bottom: 1px solid #0085AC;
}

.defaultTabs li a {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.defaultTabs li.current a:after {
    background-color: #0085AC;
}

#recommendedTabs #recommendedContentTab a.recommended-link {
    background: url("images/v2/icons/iconStackSmall.svg#ArrowDownBlue") 100% -5px no-repeat transparent;
    width: 100%;
    color: #0085AC;
}

    #recommendedTabs #recommendedContentTab a.recommended-link.closed {
        background: url("images/v2/icons/iconStackSmall.svg#ArrowUpBlue") 100% -5px no-repeat transparent;
        width: 100%;
        color: #0085AC;
    }

#recommendedTabs #moreContentTab a.more-link {
    background: url("images/v2/icons/iconStackSmall.svg#ArrowDownBlue") 100% -5px no-repeat transparent;
    width: 100%;
    color: #0085AC;
}

    #recommendedTabs #moreContentTab a.more-link.closed {
        background: url("images/v2/icons/iconStackSmall.svg#ArrowUpBlue") 100% -5px no-repeat transparent;
        width: 100%;
        color: #0085AC;
    }

.recommendedTabs p {
    text-align: center;
}

.recommendedTabs a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}

.recommendedTabs .current a {
    color: #0085AC;
}

.pillTabs a {
    padding: 5px 10px;
}

.pillTabs .current a {
    border: 1px solid #0085AC;
    background-color: rgba(0, 133, 172, 0.05);
}

.vehicleSelect h3 {
    font-family: 'MINISerif-Bold', serif;
}

.vehicleSelectBox.selectedCar {
    border: 1px solid #0085AC;
}

.vehicleSelectBox h4 {
    font-family: 'MINISerif-Bold', serif;
}

.vehicleSelectBox li {
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.vehicleSelectBox a {
    font-family: 'MINISansSerif-Regular', sans-serif;
    color: #0085AC;
    text-transform: uppercase;
}

.optionSelectBox h4 {
    font-family: 'MINISerif-Bold', serif;
}

.optionSelectBox h5 {
    font-family: 'MINISerif-Regular', serif;
}

.savedCarSwitch a.selected {
    border: 1px solid #0085AC;
    background-color: rgba(0, 133, 172, 0.05);
}

.bookingBox.titleBox.serviceItem.selected {
    border: 1px solid #0085AC;
    background-color: rgba(0, 133, 172, 0.05);
}

.recommendedModule .bookingBox.titleBox.serviceItem {
    border: 1px solid #e6e6e6;
    background-color: #ffffff;
    border-top: 4px solid #0085AC;
}

.moreModule .bookingBox.titleBox.serviceItem {
    border: 1px solid #e6e6e6;
    background-color: #ffffff;
}

    .moreModule .bookingBox.titleBox.serviceItem.serviceAll {
        background-color: #f3f6fb;
        text-align: center;
    }

        .moreModule .bookingBox.titleBox.serviceItem.serviceAll p {
            text-align: center;
        }

        .moreModule .bookingBox.titleBox.serviceItem.serviceAll a {
            text-decoration: none;
            font-weight: bold;
            color: #0085AC;
            font-size: 0.75em;
        }

#ServiceList .serviceListWrapper .minimise a {
    color: #0085AC;
}

.bookingBox.titleBox {
    border-top: 4px solid #0085AC;
}

.bookingBox.recall {
    border-top: 1px solid #0085AC;
    order: 1;
}

.bookingBox.unsureAboutYourNeedsTop {
    border-top: 1px solid #0085AC;
    order: 2;
}

.bookingBox.unsureAboutYourNeedsBottom {
    border-top: 1px solid #0085AC;
    order: 2;
}
.bookingBox h3,
.bookingBox p.appointmentDetails {
    font-family: 'MINISerif-Regular', serif;
}

.bookingBox.withCarousel h4,
.bookingBox.selectionSummaryBox h4 {
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.selectionSummaryBox.selectedState {
    border: 1px solid #0085AC;
    background-color: rgba(0, 133, 172, 0.05);
}

.campaignActive p {
    font-size: 0.875rem;
}

.altNav p {
    font-size: 0.875rem;
}

.altNav a,
.navArrow,
.altNav label {
    font-family: 'MINISansSerif-Bold', sans-serif;
    font-size: 0.875rem;
    color: #0085AC;
}

.slotCarousel .dateChoose.promo {
    background-color: rgba(0, 133, 172, 0.05);
    border: 1px solid #0085AC;
}

.slotCarousel .dateChoose.selected,
.slotCarousel .dateChoose:hover {
    border: 1px solid #0085AC;
    background-color: #0085AC;
}

@media only screen and (min-width: 550px) {
    .slotCarousel .flickity-button.next {
        background: url("images/v2/icons/iconMiniStack.svg#ArrowRightBlue") 0 0 no-repeat transparent;
    }

    .slotCarousel .flickity-button.previous {
        background: url("images/v2/icons/iconMiniStack.svg#ArrowLeftBlue") 0 0 no-repeat transparent;
    }
}

.timeList .timeChoose.selected .appointment-time,
.timeList .timeChoose:hover .appointment-time {
    background-color: #0085AC;
}

.previousSection {
    background: url("images/v2/icons/iconMiniStack.svg#CircleArrowLeftBlue") 0 0 no-repeat transparent;
}

.nextSection,
.tyresNav {
    background: url("images/v2/icons/iconMiniStack.svg#CircleArrowRightBlue") 100% 0 no-repeat transparent;
}


/*
 *  basket values
 */

.basketItem .itemTitle a {
    color: #0085AC;
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.termsAndSubmit .aprNote p a {
    color: #0085AC;
    font-family: 'MINISansSerif-Bold', sans-serif;
}

/*
 *   Confirmation Message - MINI
 */

/ .confirmationMessageContent .title {
    background: url(../../../images/union.png) 50% 62px no-repeat;
}

.confirmationMessageBox p {
    color: #262626;
    font-family: 'MINISansSerif-light', sans-serif;
}


.confirmationMessageBox li {
    color: #262626;
    font-family: 'MINISansSerif-Regular', sans-serif;
}

    .confirmationMessageBox li:before {
        background-color: #262626;
    }

.confirmationMessageBox a {
    color: #1C69D4;
    font-family: 'MINISansSerif-Bold', sans-serif;
}


@media only screen and (min-width: 768px) {

    .confirmationMessageBox p {
        color: #262626;
    }
}


/**Accordian MINI*/

.accordianItem h4.accordionToggle {
    font-family: 'MINISansSerif-Bold', sans-serif;
    font-size: 12px;
}

/**
    cardTyre
*/


.tyreCard .tyreCardTitle {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.tyreCard .tyreCardDescription {
    color: #666;
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.tyreCard .tyreCardSize,
.tyreCard .tyreCardInfo {
    font-family: 'MINISansSerif-Regular', sans-serif;
}



.tyreCard .fittedPriceCopy {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

    .tyreCard .fittedPriceCopy span {
        color: #666666;
    }

.tyreCard .tyreCardCopy {
    color: #666666;
}

.tyreCardAction a,
.accessoryCardAction a {
    background-image: url(../../../images/v2/icons/iconStack.svg#arrowRightGrey03);
    background-position: 102% 0;
}

.tyreCard.selected {
    background-color: rgba(0, 133, 172, 0.05);
    border: 1px solid #0085AC;
}

.tyreFilters li {
    background-image: url(images/v2/icons/iconStackSmall.svg#ArrowDownBlue);
    background-position: 100% 1px;
}

@media only screen and (min-width: 768px) {

    .tyreFilters li {
        background-position: 100% -2px;
    }
}

    /**
    card pricePanel
*/

    .pricePanel {
    color: #0085AC;
    font-family: 'MINISerif-Regular', sans-serif;
}

    .pricePanel span.listPrice {
        color: #0085AC;
        font-size: 1.625rem;
        line-height: 1.875rem;
    }

    .pricePanel span.originalPrice:after {
        top: 8px;
    }

/**
    tyreFilters - Mini
*/

.tyreFilters.openFilter {
    background-image: url(../../../images/v2/icons/iconStack.svg#ArrowUpBlue);
    background-position: 100% 5px;
}


.tyreFilters .checkRadioHolder {
    font-family: 'MINISansSerif-Light', sans-serif;
}


.tyreFilters .withSubContent button {
    background-color: #fff;
    background-image: url('../../../images/v2/icons/iconStack.svg#Plus');
}

    .tyreFilters .withSubContent button.opened {
        background-image: url('../../../images/v2/icons/iconStack.svg#Minus');
    }


@media only screen and (min-width: 768px) {

    .tyreFilters.openFilter {
        background-image: url(../../../images/v2/icons/iconStack.svg#ArrowUpBlue);
        background-position: 100% 0;
    }
}


/**
    tyreFilters - BMW
*/

.tyreFilters.openFilter {
    background-image: url(../../../images/v2/icons/iconStack.svg#ArrowUpBlue);
    background-position: 100% 5px;
}


.tyreFilters .checkRadioHolder {
    font-family: 'MINISansSerif-Light', sans-serif;
}


.tyreFilters .withSubContent button {
    background-color: #fff;
    background-image: url('../../../images/v2/icons/iconStack.svg#Plus');
}

    .tyreFilters .withSubContent button.opened {
        background-image: url('../../../images/v2/icons/iconStack.svg#Minus');
    }


@media only screen and (min-width: 768px) {

    .tyreFilters.openFilter {
        background-image: url(../../../images/v2/icons/iconStack.svg#ArrowUpBlue);
        background-position: 100% 0;
    }
}



.arrow {
    border: solid #0085AC;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

}

/**
    manufacture Modal Header
*/

.manufactureModelHeader a h2 {
    font-family: 'MINISansSerif-Regular';
}

.manufactureModelHeader a p {
    font-family: 'MINISansSerif-Regular';
}

#manufacturerTabOneContent table td {
    font-family: 'MINISansSerif-Regular';
}

/**
    accessory Modal Header
*/

.accessoryModelHeader a h2 {
    font-family: 'MINISansSerif-Regular';
}

.accessoryModelHeader a p {
    font-family: 'MINISansSerif-Regular';
}

#accessoryTabOneContent table td {
    font-family: 'MINISansSerif-Regular';
}

/*
 *   Tabs
 */

.defaultTabs li.current a:after {
    background-color: #0085AC;
}

.recommendedTabs a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}


/*
*  Tyres Spec Size
*/

.tyreSpecItem .tyreSpecSize {
    font-family: 'MINISerif-Regular', sans-serif;
    font-size: 20px;
    top: -6px;
}


.tyreSpecSizeCopy .tyreSpecTitle {
    font-family: 'MINISerif-Regular', sans-serif;
    margin-bottom: 5px;
    font-size: 14px;
}

.tyreSpecSizeCopy .tyreSpecDescription {
    font-family: 'MINISerif-Regular', sans-serif;
    font-size: 16px;
}

.chooseTyreSizeTitle {
    font-family: 'MINISansSerif-Bold', sans-serif;
    font-size: 12px;
}

.tyreSpecSizeCopy {
    margin-top: 1px;
}


/** 
   tyreSpecEditor  for Tyres
*/


.tyreSpecEditor .tyreSpecEditorContent {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.tyreSpecEditor a {
    font-family: 'MINISansSerif-Bold', sans-serif;
}


/** 
   tyreSpecDisplay  for Tyres
*/

.tyreSpecDisplay h3 {
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.tyreSpecDisplay .tyreSpecEditorContent {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.tyreSpecDisplay a {
    font-family: 'MINISansSerif-Bold', sans-serif;
}



/** 
   .tyreSelectReview for Tyres
*/

.tyreSelectReview .tyresSelectTitle {
    font-size: 20px;
    /* line-height: 26px; */
    font-family: 'MINISerif-Bold', sans-serif;
}


/** 
   .tyreSpecDisplay for Tyres
*/

.tyreSpecDisplay h3 {
    font-size: 12px;
}

.tyreSpecDisplay .tyreSpecEditorContent {
    font-size: 1rem;
    line-height: 22px;
}


.tyreSpecDisplay a {
    font-size: 14px;
    line-height: 1rem;
}




/** 
   Skip tyres section button
*/

.stepSection a {
    background-color: #0085AC;
    font-family: 'MINISansSerif-Bold', sans-serif;
}


/**
    Core file updates 
*/

.vehicleSelectBox a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}

.vehicleSelectionBox a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}



/**
    Core file updates 
*/

.vehicleSelectBox a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}

.vehicleSelectionBox a {
    font-family: 'MINISansSerif-Bold', sans-serif;
    color: #0085AC;
}




/**
*   Modal themes
*/

.modalInner h2,
.modalInner h3,
.modalInner h4,
.modalInner h5 {
    font-family: 'MINISerif-Bold', sans-serif;
}

.modalInner p {
    font-family: 'MINISerif-Regular', sans-serif;
}

.modalInner .modelActions a {
    color: #0085AC;
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.modalClose {
    background: url("images/v2/icons/iconStack.svg#IconClose") 0 0 no-repeat #0085AC;
}



/** 
    Modal Form - Retail contact booking 
*
*/

.sent-callback-request {
    color: #0085AC;
}

.tyreKey {
    font-family: 'MINISansSerif-Bold', sans-serif;
}

    .tyreKey span {
        font-family: 'MINISansSerif-Bold', sans-serif;
    }

        .tyreKey span b {
            background-color: #0085AC;
            font-family: 'MINISansSerif-Bold', sans-serif;
        }

.tyreKeyList li {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

    .tyreKeyList li b {
        background-color: #0085AC;
        font-family: 'MINISansSerif-Bold', sans-serif;
    }



/** 
    Jquery UI model override 

*/

.ui-dialog .ui-dialog-title {
    font-family: 'MINISansSerif-Light', sans-serif;
}

.ui-dialog .ui-dialog-title {
    font-family: 'MINISansSerif-Light', sans-serif;
}

.retailer-contact-info p {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.ui-dialog .ui-dialog-titlebar-close {
    background: #0085AC;
    background: url("images/v2/icons/iconStack.svg#IconClose") 0 0 no-repeat #0085AC;
}

#sendCustomerDetailsToRetailer {
    background-color: #0085AC;
    font-family: 'MINISansSerif-Bold', sans-serif;
}

.ui-widget-content a {
    color: #0085AC;
}


/**
    accessoriesTyre
*/


.accessoriesCard .accessoriesCardTitle {
    font-family: 'MINISerif-Regular', sans-serif;
    color: #262626;
    font-size: 1rem;
    line-height: 1.125rem;
}

.accessoriesCard .fittedPriceCopy {
    font-family: 'MINISerif-Regular', sans-serif;
}

    .accessoriesCard .fittedPriceCopy span {
        color: #666666;
    }


.accessoriesCardAction a {
    background-image: url(images/v2/icons/iconStack.svg#arrowRightGrey03);
    background-position: 102% 0;
    color: #262626;
    font-family: 'MINISanSerif-Regular', sans-serif;
    font-size: 0.875rem;
    line-height: 1.063rem;
}

.accessoriesCard.selected {
    background-color: rgba(0, 133, 172, 0.05);
    border: 1px solid #0085AC;
}


/**
    yourSelection
*/

.yourSelection h4 {
    font-family: 'MINISanSerif-Regular', sans-serif;
    font-size: 12px;
    line-height: 14px;
}

.yourSelection p {
    font-family: 'MINISerif-Regular', sans-serif;
    font-size: 18px;
    line-height: 24px;
}

.yourSelection a {
    font-family: 'MINISanSerif-Regular', sans-serif;
    font-size: 14px;
    line-height: 16px;
    color: #0085AC;
}

.car-image-container {
    width: 90%;
}

.car-image-container img {
    display: block;
    width: 100%;
    height: auto;
}

.noPromotions {
    padding: 2em;
}


/**
    accessoryCard
*/


.accessoryCard .accessoryCardTitle {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.accessoryCard .accessoryCardDescription {
    color: #666;
    font-family: 'MINISansSerif-Regular', sans-serif;
}

.accessoryCard .accessoryCardSize {
    font-family: 'MINISansSerif-Regular', sans-serif;
}



.accessoryCard .fittedPriceCopy {
    font-family: 'MINISansSerif-Regular', sans-serif;
}

    .accessoryCard .fittedPriceCopy span {
        color: #666666;
    }

.accessoryCard .accessoryCardCopy {
    color: #666666;
}

.accessoryCard.selected {
    background-color: rgba(0, 133, 172, 0.05);
    border: 1px solid #0085AC;
}

@media only screen and (max-width: 428px) {
    .progressBar {
        margin-top: 20px !important;
    }
}
