/*! tailwindcss v4.1.4 | MIT License | https://tailwindcss.com */
@font-face {
    font-family: '1903SansCondensed';
    src: url('../fonts/1903SansCondensed-Bold.woff2') format('woff2'),
        url('../fonts/1903SansCondensed-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: '1903Sans-Bold';
    src: url('../fonts/1903Sans-Bold.woff2') format('woff2'),
        url('../fonts/1903Sans-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: '1903Sans';
    src: url('../fonts/1903Sans-Regular.woff2') format('woff2'),
        url('../fonts/1903Sans-Regular.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: '1903Sans';
}

.font-serif{
   font-family: "1903SansCondensed", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

.font-1903 {
    font-family: '1903Sans';
}
.font-bold-1903 {
    font-family: '1903Sans-Bold';
}
.font-serif1903 {
    font-family: '1903SansCondensed';
}
.bg-nightster {
    background-image: url(../images/h-d-nightster.webp);
}

.bg-nightster-view {
    background-image: url(../images/nightster-2026.jpg);
}

.bg-event {
    background-image: url(../images/national-events-hd.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bg-event-view {
    background-image: url(../images/national-events-hd-view.png);
}

.bg-hdra {
    background-image: url(../images/hdra-hd.webp);
}

.bg-cvo {
    background-image: url(../images/cvo-new-banner.webp);
}

.bg-cvo-lifestyle {
    background-image: url(../images/road-glide-2026-2.jpg);
}

.bg-low-rider {
    background-image: url(../images/2025-low-rider-st-hd.webp);
}

.bg-low-rider-view {
    background-image: url(../images/low-rider-st-2026.jpg);
}

.bg-hdra-view {
    background-image: url(../images/hdra-hd-view.webp);
}

.bg-sales{
    background-image: url(../images/sales-promo-hd.webp);
}

.bg-sales-view {
    background-image: url(../images/my25-gat-2025.webp);
}

.bg-tri-glide-ultra-hd {
    background-image: url(../images/tri-glide-ultra-new-banner.webp);
}

.bg-tri-glide-ultra-hd-view {
    background-image: url(../images/tri-glide-ultra-hd-view.webp);
}

.bg-my25 {
    background-image: url(../images/my2025.jpg);
}

.bg-street-glide {
    background-image: url(../images/street-glide-new-banner.webp);
}

.bg-street-glide-view {
    background-image: url(../images/street-glide-2026.jpg);
}

.bg-street-glide-3 {
    background-image: url(../images/limited/street-glide-3-limited-bottom.jpg);
}

.bg-street-glide-limited {
    background-image: url(../images/limited/street-glide-limited-bottom.jpg);
}

.bg-road-glide-3 {
    background-image: url(../images/limited/road-glide-3-bottom.jpg);
}

.bg-carryover-reveal{
    background-image: url(../images/carryover-reveal-2026.jpg);
}

.bg-rolling-daytona-event{
    background-image: url(../images/rolling-daytona-event.jpg);
}

.bg-my26{
    background-image: url(../images/my26-gat.jpg);
}

.disclaimer-text {
    font-size: 10px;
    line-height: 0.7rem;
    color: gainsboro;
}

/* locator styles */
        @keyframes spinner {
            to {transform: rotate(360deg);}
        }

    .pill {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 0.15rem 0.6rem;
        font-size: 1rem;
        background: #E0F2FE;
        color: #EA590D;
        font-weight: 500;
    }

    .spinner:before {
        content: '';
        box-sizing: border-box;
        position: absolute;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        left: 48%;
        border-top: 7px solid #EA590D;
        border-right: 7px solid transparent;
        animation: spinner .9s linear infinite;
    }

    #storelocator-leftcolumn,
    #storelocator-map_canvas,
    #storelocator-map_container {
        height: 650px !important;
    }

    #storelocatorwidget {
        font-family: '1903Sans' !important;
    }
    #storelocator-search-label,
    #search_radius_text {
        color: black !important;
    }

    #storelocatorwidget .storelocator-btn-primary,
    #storelocatorwidget .storelocator-btn-primary:active,
    #storelocatorwidget .storelocator-btn-primary:visited {
        color: #ffffff !important;
        border-color: #EA590D !important;
        border-radius: 0px !important;
        background-color: #EA590D !important;
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#EA590D', endColorstr='#b74203') !important;
        background-image: -khtml-gradient(linear, left top, left bottom, from(#EA590D), to(#b74203)) !important;
        background-image: -moz-linear-gradient(top, #EA590D, #b74203) !important;
        background-image: -ms-linear-gradient(top, #EA590D, #b74203) !important;
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #EA590D), color-stop(100%, #b74203)) !important;
        background-image: -webkit-linear-gradient(top, #EA590D, #b74203) !important;
        background-image: -o-linear-gradient(top, #EA590D, #b74203) !important;
        background-image: linear-gradient(#EA590D, #b74203) !important;
    }

    #storelocatorwidget .storelocator-btn-primary:hover,
    #storelocatorwidget .storelocator-btn-primary:focus {
        color: #ffffff !important;
        background-color: #EA590D !important;
        background-image: none !important;
    }

    .storelocator-acnumber,
    .storelocator-canumber {
        display: none;
    }

    .storelocator-btn.storelocator-btn-danger.storelocator-directions-link {
        margin-top: 3px;
        color: white !important;
        background-color: #EA590D !important;
        background-image: none !important;
    }

    .fa-arrows:before {
        color: white !important;
    }

    #storelocator-filter_checkbox {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    #storelocator-filter_checkbox_box {
        padding-top: 9px;
        margin-bottom: 20px;
    }

    @media only screen and (max-width: 820px) {
        .storelocator-search-bar-row1 {
            flex-direction: column !important;
        }

        #storelocator-filter_checkbox {
            flex-direction: column;
        }

        #storelocator-search-label {
            width: 100% !important;
            padding: 10px !important;
            text-align: center !important;
        }

        #storelocator-search_address {
            max-width: none !important;
        }

        #storelocator-filter_checkbox_box {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            flex-wrap: wrap;
            height: 100px;
            overflow: auto;
            white-space: nowrap;
        }

        .storelocator-btn.storelocator-btn-primary {
            width: 100% !important;
            margin: 10px;
        }

        .storelocator-input-icons {
            width: 100% !important;
            margin: 10px;
        }

        #storelocator-map_container {
            position: absolute !important;
        }
    }
    /* end locator styles */

/* Contact Modal Styles - BEM Methodology */
/* Block: modal-contact */

.modal-contact {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.modal-contact--active {
    display: block;
}

.modal-contact__wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 1rem;
}

.modal-contact__container {
    position: relative;
    background-color: #ffffff;
    border-radius: 8px;
    max-width: 850px;
    width: 100%;
    padding: 2rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    margin: 2rem auto;
    animation: modalContactFadeIn 0.3s ease-out;
}

@keyframes modalContactFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.modal-contact__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 2.5rem;
    line-height: 1;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s;
}

.modal-contact__close:hover {
    color: #4b5563;
}

.modal-contact__header {
    margin-bottom: 1.5rem;
}

.modal-contact__title {
    font-family: '1903Sans-Bold';
    font-size: 1.875rem;
    color: #000000;
    text-align: center;
    margin: 0;
    line-height: 1.3;
}

.modal-contact__title #modalDealerName {
    display: inline;
    font-family: '1903Sans-Bold';
}

.modal-contact__form {
    width: 100%;
}

.modal-contact__row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
}

.modal-contact__row--half {
    flex-direction: column;
}

.modal-contact__row--full {
    flex-direction: column;
}

.modal-contact__group {
    position: relative;
    flex: 1;
}

.modal-contact__group--checkbox {
    margin-bottom: 0.75rem;
}

.modal-contact__label {
    display: block;
    font-family: '1903Sans-Bold';
    font-size: 0.875rem;
    color: #000000;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.modal-contact__input {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    text-align: left;
    background-color: #f9fafb;
    border: 2px solid #d1d5db;
    border-radius: 4px;
    outline: none;
    transition: all 0.2s;
    font-family: '1903Sans';
    box-sizing: border-box;
}

.modal-contact__input:focus {
    border-color: #EA590D;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(234, 89, 13, 0.1);
}

.modal-contact__input--error {
    border-color: #dc2626;
}

.modal-contact__select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 12px;
    padding-right: 2.5rem;
    cursor: pointer;
}

.modal-contact__checkbox-label {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    font-family: '1903Sans';
    font-size: 0.875rem;
    color: #374151;
    line-height: 1.5;
}

.modal-contact__checkbox {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-right: 0.75rem;
    margin-top: 0.125rem;
    cursor: pointer;
    border: 2px solid #d1d5db;
    border-radius: 3px;
    accent-color: #EA590D;
}

.modal-contact__checkbox:focus {
    outline: 2px solid #EA590D;
    outline-offset: 2px;
}

.modal-contact__checkbox-text {
    flex: 1;
}

.modal-contact__link {
    color: #EA590D;
    text-decoration: underline;
    transition: color 0.2s;
}

.modal-contact__link:hover {
    color: #d14f0a;
}

.modal-contact__error {
    display: block;
    color: #dc2626;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    min-height: 1.25rem;
}

.modal-contact__submit {
    width: 100%;
    max-width: 300px;
    padding: 0.75rem;
    margin-top: 0.5rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
    font-family: '1903Sans-Bold';
    font-size: 1rem;
    text-transform: uppercase;
    color: #ffffff;
    background-color: #EA590D;
    border: 2px solid #EA590D;
    border-radius: 8px;
    cursor: pointer;
    outline: none;
    transition: all 0.2s;
}

.modal-contact__submit:hover {
    background-color: #d14f0a;
    border-color: #d14f0a;
}

.modal-contact__submit:active {
    transform: scale(0.98);
}

.modal-contact__footer {
    text-align: center;
    margin-top: 1rem;
}

.modal-contact__footer-text {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0;
}

/* Responsive - Tablet & Desktop */
@media (min-width: 768px) {
    .modal-contact__wrapper {
        padding: 1.5rem;
    }

    .modal-contact__container {
        padding: 2.5rem;
        max-width: 850px;
    }

    .modal-contact__row--half {
        flex-direction: row;
        gap: 1.5rem;
    }

    .modal-contact__label {
        font-size: 0.9375rem;
    }

    .modal-contact__input {
        font-size: 1rem;
        padding: 0.875rem;
    }

    .modal-contact__checkbox-label {
        font-size: 0.9375rem;
    }

    .modal-contact__submit {
        font-size: 1.125rem;
        padding: 1rem;
        max-width: 350px;
    }
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    .modal-contact__wrapper {
        align-items: flex-start;
        padding: 0.5rem;
    }

    .modal-contact__container {
        margin: 1rem auto;
        padding: 1.5rem;
    }

    .modal-contact__title {
        font-size: 1.5rem;
    }

    .modal-contact__dealer-name {
        font-size: 1rem;
    }

    .modal-contact__close {
        font-size: 2rem;
        width: 32px;
        height: 32px;
    }
}

/* Responsive - Small Mobile */
@media (max-width: 480px) {
    .modal-contact__wrapper {
        padding: 1rem 0.5rem;
        align-items: center;
    }

    .modal-contact__container {
        border-radius: 8px;
        margin: 1rem auto;
        max-width: calc(100% - 1rem);
    }
}
/* end contact modal styles */