﻿#dag-page {
    overflow: hidden;
}

/*================== banner section =========================*/

.banner-images {
    position: relative;
}

.banner-background {
    width: 100%;
}

.banner-car {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 65%;
}

.dag-banner .slick-dots li {
    background: #fff;
    margin: 0px;
    padding: 0px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #bbb;
    margin: 0px 10px;
    vertical-align: middle;
}

    .dag-banner .slick-dots li.slick-active {
        background: #1c69d4;
        width: 14px;
        height: 14px;
    }

.dag-banner .slick-next.slick-arrow,
.dag-banner .slick-prev.slick-arrow {
    z-index: 3;
    width: 44px;
    height: 44px;
    top: 300px;
    background-color: black;
    background-position-x: center;
    background-position-y: center;
    background-repeat: no-repeat;
    background-size: 100%;
}

    .dag-banner .slick-next.slick-arrow::before,
    .dag-banner .slick-prev.slick-arrow::before,
    .dag-banner .slick-dots li button:before {
        content: '';
    }

.dag-banner .slick-prev.slick-arrow {
    background-image: url('/Content/images/ico/arrow_left-trans.png');
    left: 0px;
}

.dag-banner .slick-next.slick-arrow {
    background-image: url('/Content/images/ico/arrow_right-trans.png');
    right: 0px;
}

#headline-homepage {
    line-height: 54px;
    max-width: 1660px;
    padding: 0px 15px;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 8px;
    text-transform: uppercase;
    margin: 100px auto 50px;
    text-align: center;
}

/*==================== map section ==================*/
#retailer-container {
}

    #retailer-container #HomepageRetailerMap {
        width: 100%;
        height: 100%;
    }

.map-view-switch {
    display: none;
}

.map-wrapper {
    display: flex;
    flex-direction: row-reverse;
    gap: 15px;
}

    .map-wrapper .map-left {
        background-color: #fff;
        height: 630px;
        width: 330px;
    }

    .map-wrapper .map-right {
        background-size: cover;
        height: 630px;
        padding: 0;
        flex-grow: 1;
    }

    .map-wrapper .map-input {
        position: relative;
    }

        .map-wrapper .map-input .geolocate-btn {
            position: absolute;
            bottom: 14px;
            right: 15px;
            width: 30px;
            height: 30px;
            background: url('/Content/images/location-outlined.png') center center no-repeat;
            border: none;
        }

            .map-wrapper .map-input .geolocate-btn:disabled {
                opacity: 0.5;
            }

.locations-container {
    padding-right: 15px;
    height: 100%;
}

#locations-carousel {
    height: calc(100% - 90px);
}

    #locations-carousel .slick-list {
        height: 100% !important;
    }

.locations-item {
    position: relative;
    background-color: white;
    padding: 22px 0px 22px 20px;
    margin: 2px auto;
    cursor: pointer;
}

    .locations-item:hover,
    .active-location {
        background: #c3c2c2;
        outline: none;
    }

.location-logo {
    padding: 0 10px 0 0;
    display: none;
}

    .location-logo img {
        width: 27px;
    }

.location-text {
    padding: 0 10px 0 0;
}

    .location-text .location-name {
        font-weight: bold;
    }

.location-tel {
    color: #000;
    text-decoration: underline;
    font-size: 15px;
    font-weight: normal;
}

    .location-tel:hover {
        color: #000;
    }

.location-distance {
    text-align: right;
    display: none;
}

.location-arrow {
    background-image: url("/Content/images/ico/right_arrow-big-blue.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 17px;
    height: 17px;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    cursor: pointer;
}

#retailer-location-input {
    border-radius: 0px;
    height: 20px;
    border: none;
    border-bottom: 1px solid #212121;
    background-color: transparent;
    color: #000;
    padding-left: 0;
    box-shadow: none;
    margin: 14px auto;
}

    #retailer-location-input:focus {
        border-color: #000;
        outline: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

.locations-container .slick-dots {
    bottom: -50px !important;
    left: 3px;
}

    .locations-container .slick-dots li button::before {
        font-size: 35px;
        color: #012e6c;
    }

    .locations-container .slick-dots li.slick-active button::before {
        opacity: 1;
        color: #012e6c;
    }

    .locations-container .slick-dots li img:nth-child(1) {
        display: block;
    }

    .locations-container .slick-dots li img:nth-child(2) {
        display: none;
    }

    .locations-container .slick-dots li.slick-active img:nth-child(1) {
        display: none;
    }

    .locations-container .slick-dots li.slick-active img:nth-child(2) {
        display: block;
    }


@media only screen and (max-width: 1075px) {
    /*================== map section =========================*/
    .map-view-switch {
        display: flex;
        width: 100%;
        flex-flow: row nowrap;
        justify-content: space-evenly;
        padding: 7px;
        background-color: #f1f1f1;
    }

        .map-view-switch .view-btn {
            width: 50%;
            padding: 15px 20px;
            font-weight: normal;
            font-size: 12px;
            letter-spacing: 0.3px;
            color: #000000;
            text-transform: capitalize;
            text-align: center;
            cursor: pointer;
        }

        .map-view-switch .map-view {
            border-right: 1px solid #c9c9c9 !important;
        }

            .map-view-switch .map-view span:before {
                content: '';
                display: inline-block;
                width: 26px;
                height: 24px;
                background-image: url(/Content/images/ico/map-map-view.png);
                background-repeat: no-repeat;
                vertical-align: -50%;
                margin: 0px 12px 0px 0;
            }

        .map-view-switch .list-view span:before {
            content: '';
            display: inline-block;
            width: 25px;
            height: 22px;
            background-image: url(/Content/images/ico/map-list-view.png);
            background-repeat: no-repeat;
            vertical-align: -50%;
            margin: 0px 14px 0px 0;
        }

    .map-wrapper {
        flex-direction: column;
    }

        .map-wrapper.reversed {
            flex-direction: column-reverse;
        }

        .map-wrapper .map-left {
            width: 100%;
            padding: 20px 10px;
            height: auto;
        }

        .map-wrapper #locations-carousel {
            position: relative;
        }

        .map-wrapper #locations-carousel-left-control, #locations-carousel-right-control {
            display: initial;
            position: absolute;
            top: 105%;
            transform: translate(-50%);
            z-index: 100000000000;
        }

        .map-wrapper #locations-carousel-left-control {
            cursor: pointer;
            left: 20%;
        }

        .map-wrapper #locations-carousel-right-control {
            cursor: pointer;
            right: 20%;
        }
}

@media only screen and (max-width: 1632px) {
    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 15px;
    }

    .locations-item .small {
        font-size: 12px;
    }
}

@media only screen and (max-width: 1075px) and (min-width: 830px) {
    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 18px;
    }

    .locations-item .small {
        font-size: 16px;
    }

    #locations-carousel .slick-dots {
        top: calc(100% + 20px);
    }

    .location-text {
        padding: 0 0 0 10px;
    }
}

@media only screen and (max-width: 917px) and (min-width: 830px) {
    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 16px;
    }

    .locations-item .small {
        font-size: 14px;
    }
}

@media only screen and (max-width: 830px) {
    .locations-item {
        position: relative;
    }

    #locations-carousel-left-control, #locations-carousel-right-control {
        top: 104%;
    }

    .custom_paging {
        position: absolute;
        transform: translateX(-50%);
        text-align: center;
        padding: 0px;
        margin-bottom: 0px;
        left: 50%;
        top: 105%;
    }

        .custom_paging li {
            display: none;
            font-size: 15px;
        }

        .custom_paging .slick-active {
            display: block;
        }
}

/*================== latest with BMW tiles section =========================*/
.latest-section {
    text-align: center;
    padding: 100px;
    background-color: #D6D6D6;
}

    .latest-section h2,
    #featured-offers h2 {
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 8px;
        text-transform: uppercase;
        margin: 100px auto 50px;
        text-align: center;
    }

    .latest-section .latest-tiles-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 15px;
    }

    .latest-section .latest-tile {
        display: flex;
        position: relative;
        width: 100%;
        max-width: min(640px, 38vw);
        aspect-ratio: 640 / 450;
        justify-content: center;
        align-items: end;
        padding: 0 min(70px, 2vw) min(70px, 4vw);
        background-size: cover;
        background-repeat: no-repeat;
    }

        .latest-section .latest-tile .inner-content {
            text-align: center;
        }

        .latest-section .latest-tile .tile-title {
            font-size: 30px;
            line-height: 1;
            color: #fff;
            margin: 0px auto 10px;
            text-transform: uppercase;
        }

        .latest-section .latest-tile .tile-links {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 3em;
            flex-direction: row;
        }

        .latest-section .latest-tile a.tile-link {
            font-size: 16px;
            color: #fff;
            left: -10px;
            position: relative;
        }

            .latest-section .latest-tile a.tile-link:before {
                content: ' ';
                display: inline-block;
                width: 7px;
                height: 12px;
                background-image: url(/Content/images/ico/right_arrow-blue.png);
                background-repeat: no-repeat;
                margin: 0px 15px 0px 0;
            }


@media (max-width: 967px) {
    .latest-section .latest-tile {
        max-width: 640px;
        padding: 0 min(70px, 4vw) min(70px, 8vw);
    }
}

@media (max-width: 768px) {
    /*================== banner section =========================*/
    .banner-wrapper .banner-header .banner-title {
        top: 0;
        left: 9%;
        width: 100%;
    }

    .dag-banner .slick-next.slick-arrow,
    .dag-banner .slick-prev.slick-arrow {
        top: 185px;
    }

    /*================== latest tiles section =========================*/
    .latest-section {
        padding: 60px 10px;
    }
}

@media (max-width: 600px) {
    /*================== banner section =========================*/
    .dag-banner .slick-next.slick-arrow,
    .dag-banner .slick-prev.slick-arrow {
        width: 20px;
        height: 20px;
        top: 185px;
    }

    .dag-banner .slick-prev.slick-arrow {
        background-color: black;
        padding: 10px;
        background-size: 20px !important;
    }

    .dag-banner .slick-next.slick-arrow {
        background-color: black;
        padding: 10px;
        background-size: 20px !important;
    }

    /*================== latest tiles section =========================*/
    .latest-section .latest-tile {
        padding: 0 5vw 5vw;
    }

        .latest-section .latest-tile .tile-title {
            font-size: 25px;
        }

        .latest-section .latest-tile .tile-links {
            gap: 5px;
            flex-direction: column;
        }

        .latest-section .latest-tile a.tile-link {
            font-size: 16px;
        }
}

@media (max-width: 400px) {
    .dag-banner .slick-next.slick-arrow,
    .dag-banner .slick-prev.slick-arrow {
        top: 145px;
    }
}

/*======================== copy from chase ====================*/

/*================ size for tablet (landscape) =====================*/
@media only screen and (max-width: 1280px) {
    .locations-item h4, .locations-item h5, .locations-item h6 {
        font-size: 16px;
    }

    .locations-item .small {
        font-size: 14px;
    }
}

/*================ size for tablet (portrait) =====================*/
@media only screen and (max-width: 992px) {
    .half-text {
        text-align: center;
    }

    .responsive-title {
        display: block;
    }

    .lg-desktop-only-title {
        display: none;
    }
}

/*navbar fix form smaller phone screens and landscape mode*/
@media only screen and (max-width: 568px) {
    #locations-carousel-left-control, #locations-carousel-right-control {
        top: 95%;
    }
}

@media only screen and (max-width: 415px) {
    .slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0 4px;
    }

        .slick-dots li img {
            width: 10px;
        }

    .slick-dots {
        width: calc(100%);
    }

    #locations-carousel-pagination, #locations-carousel-left-control, #locations-carousel-right-control {
        transform: translate(-50%, -10px);
    }

    .location-text {
        padding: 0 10px 0 10px;
    }
}

/*================ size for phone =====================*/
@media only screen and (max-width: 1280px) and (min-width: 1170px) {
    .coverage-article h4 {
        font-size: 26px;
    }

    .coverage-article p.small {
        font-size: 16px;
    }
}

@media only screen and (max-width: 1170px) and (min-width: 1070px) {
    .coverage-article h4 {
        font-size: 22px;
    }

    .coverage-article p.small {
        font-size: 15px;
    }
}

@media only screen and (max-width: 1070px) and (min-width: 992px) {
    .coverage-article h4 {
        font-size: 20px;
    }

    .coverage-article p.small {
        font-size: 13px;
    }
}
