{"id":9,"date":"2025-11-17T22:20:15","date_gmt":"2025-11-17T22:20:15","guid":{"rendered":"https:\/\/wcaa.preprod.fruitionqa.com\/?page_id=9"},"modified":"2026-03-20T00:54:15","modified_gmt":"2026-03-20T00:54:15","slug":"homepage","status":"publish","type":"page","link":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/","title":{"rendered":"Homepage"},"content":{"rendered":"\n\n<div class=\"heroLandingFluid paddingBottom2XL bottomLeftRadius bottomRightRadius\">\n\n    <div class=\"container heroLandingContainer\">\n        <div class=\"grid align-end\">\n            <div class=\"col-sm-7\">\n                <h1><span>Detroit Metropolitan<\/span> wayne county airport<\/h1>\n            <\/div>\n            <div class=\"col-sm-5\">\n                \n        <script>\n(function() {\n  if (!document.querySelector('[data-typekit-loaded], link[href*=\"typekit.net\"], script[src*=\"typekit.net\"], script[src*=\"use.typekit.net\"]')) {\n    var l = document.createElement('link');\n    l.rel = 'stylesheet';\n    l.href = 'https:\/\/use.typekit.net\/lly7wdy.css';\n    document.head.appendChild(l);\n  }\n  if (!document.querySelector('script[src*=\"kit.fontawesome.com\"]')) {\n    var s = document.createElement('script');\n    s.src = 'https:\/\/kit.fontawesome.com\/f2144e7b52.js';\n    s.crossOrigin = 'anonymous';\n    s.async = true;\n    document.head.appendChild(s);\n  }\n})();\n<\/script>\n<style>\n\/* FlyFruition Design System - Design Tokens *\/\n:root {\n    \/* Typography - Font Families *\/\n    --font-family-body: 'aktiv-grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --font-family-heading: 'dm-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --font-family-button: 'aktiv-grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --font-family-numeric: 'aktiv-grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n\n    \/* Typography - Font Sizes *\/\n    --font-size-xs: 11px;\n    --font-size-sm: 13px;\n    --font-size-base: 15px;\n    --font-size-md: 17px;\n    --font-size-lg: 18px;\n    --font-size-xl: 22px;\n    --font-size-2xl: 28px;\n    --font-size-3xl: 36px;\n\n    \/* Typography - Font Weights *\/\n    --font-weight-regular: 400;\n    --font-weight-medium: 500;\n    --font-weight-semibold: 600;\n    --font-weight-bold: 700;\n    --font-weight-extrabold: 800;\n\n    \/* Typography - Line Heights *\/\n    --line-height-tight: 1.25;\n    --line-height-normal: 1.5;\n    --line-height-relaxed: 1.75;\n\n    \/* Colors - Primary *\/\n    --color-primary: #0064A7;\n    --color-primary-dark: #004A78;\n\n    \/* Colors - Status *\/\n    --color-success: #1cb85b;\n    --color-success-bg: #d2f1de;\n    --color-warning: #ff8800;\n    --color-warning-bg: #fff4e6;\n    --color-error: #f3442d;\n    --color-error-bg: #ffefed;\n    --color-info: #2063f8;\n    --color-info-bg: #d2e0fe;\n\n    \/* Colors - Status Tags *\/\n    --status-ontime-bg: #d2f1de;\n    --status-ontime-border: #49c67c;\n    --status-ontime-icon: #1cb85b;\n    --status-ontime-text: #3a3e46;\n    --status-arrived-bg: #d2f1de;\n    --status-arrived-border: #49c67c;\n    --status-arrived-icon: #1cb85b;\n    --status-arrived-text: #3a3e46;\n    --status-delayed-bg: #fff4e6;\n    --status-delayed-border: #ffb84d;\n    --status-delayed-icon: #ff8c00;\n    --status-delayed-text: #3a3e46;\n    --status-onground-bg: #D3E7F5;\n    --status-onground-border: #2E83B8;\n    --status-onground-icon: #2E83B8;\n    --status-onground-text: #3a3e46;\n    --status-cancelled-bg: #ffefed;\n    --status-cancelled-border: #f56957;\n    --status-cancelled-icon: #f3442d;\n    --status-cancelled-text: #3a3e46;\n\n    \/* Colors - Text *\/\n    --color-text-heading: #05243D;\n    --color-text-body: #3a3e46;\n    --color-text-light: #7d8796;\n    --color-text-muted: #b0b8c1;\n\n    \/* Colors - Borders *\/\n    --color-border-light: #e1edf2;\n    --color-border-medium: #e6e9eb;\n    --color-border-accent: #a6c1fc;\n    --color-border-neutral: #C6C8CF;\n\n    \/* Colors - Backgrounds *\/\n    --color-bg-primary: #ffffff;\n    --color-bg-light: #f7fafc;\n    --color-bg-secondary: #f6f6f7;\n    --color-bg-blue-light: #d2e0fe;\n    --color-bg-blue-lighter: #ccf2ff;\n\n    \/* Spacing Scale *\/\n    --spacing-xs: 4px;\n    --spacing-sm: 8px;\n    --spacing-md: 12px;\n    --spacing-lg: 16px;\n    --spacing-xl: 20px;\n    --spacing-2xl: 24px;\n    --spacing-3xl: 32px;\n    --spacing-4xl: 40px;\n\n    \/* Border Radius *\/\n    --radius-sm: 4px;\n    --radius-md: 8px;\n    --radius-lg: 12px;\n    --radius-pill: 24px;\n\n    \/* Shadows *\/\n    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06);\n    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);\n    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);\n}\n\n\/* Flight Search Component Styles *\/\n\n\/* Flight Search Container *\/\n.flight-search-container {\n    display: flex;\n    flex-direction: column;\n    gap: var(--spacing-xs);\n    align-items: flex-start;\n    width: 515px;\n    max-width: 100%;\n}\n\n\/* Flight Search Label *\/\n.flight-search-label {\n    display: flex;\n    gap: var(--spacing-xs);\n    align-items: center;\n}\n\n.flight-search-label p {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-medium);\n    font-size: 17px;\n    line-height: 26px;\n    color: #fff;\n    white-space: nowrap;\n    margin: 0;\n}\n\n\/* Flight Search Wrapper *\/\n.flight-search-wrapper {\n    position: relative;\n    width: 100%;\n}\n\n\/* Flight Search Field *\/\n.flight-search-field {\n    background-color: var(--color-bg-primary);\n    border: 1px solid var(--color-border-medium);\n    border-radius: var(--radius-md);\n    display: flex;\n    gap: var(--spacing-sm);\n    align-items: center;\n    padding: var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-2xl);\n    width: 100%;\n    box-sizing: border-box;\n}\n\n\/* Flight Search Input *\/\n.flight-search-input {\n    flex-grow: 1;\n    flex-basis: 0;\n    min-width: 0;\n    min-height: 1px;\n    font-size: var(--font-size-base);\n    line-height: var(--line-height-normal);\n    color: var(--color-text-muted);\n    border: none;\n    outline: none;\n    background: transparent;\n}\n\n.flight-search-input::placeholder {\n    color: var(--color-text-muted);\n}\n\n.flight-search-input:focus {\n    color: var(--color-text-heading);\n}\n\n\/* Flight Search Button *\/\n.flight-search-button {\n    background-color: var(--color-primary);\n    border: none;\n    border-radius: var(--radius-md);\n    display: flex;\n    gap: var(--spacing-sm);\n    align-items: center;\n    justify-content: center;\n    padding: var(--spacing-md) var(--spacing-xl);\n    cursor: pointer;\n    transition: opacity 0.2s ease;\n}\n\n.flight-search-button:hover {\n    opacity: 0.9;\n}\n\n.flight-search-button:active {\n    opacity: 0.8;\n}\n\n.flight-search-button i {\n    color: #ffffff;\n    font-size: 16px;\n    line-height: 0;\n}\n\n.flight-search-button p {\n    white-space: nowrap;\n}\n\n\/* Autocomplete Dropdown *\/\n.autocomplete-dropdown {\n    position: absolute;\n    top: 100%;\n    left: 0;\n    right: 0;\n    background-color: var(--color-bg-primary);\n    border: 1px solid var(--color-border-medium);\n    border-radius: var(--radius-md);\n    margin-top: var(--spacing-xs);\n    box-shadow: var(--shadow-sm);\n    max-height: 400px;\n    overflow-y: auto;\n    display: none;\n    z-index: 1000;\n}\n\n.autocomplete-dropdown.show {\n    display: block;\n}\n\n\/* Autocomplete Item *\/\n.autocomplete-item {\n    display: flex;\n    align-items: center;\n    gap: var(--spacing-sm);\n    padding: var(--spacing-sm) var(--spacing-xl);\n    border-bottom: 1px solid var(--color-border-medium);\n    color: inherit;\n    cursor: pointer;\n    transition: background-color 0.2s ease;\n}\n\n.autocomplete-item:hover,\n.autocomplete-item--active {\n    background-color: var(--color-bg-light);\n}\n\n.autocomplete-item:last-child {\n    border-bottom: none;\n}\n\n\/* Airline Logo Container *\/\n.airline-logo-container {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 2px;\n    flex-shrink: 0;\n}\n\n\/* Airline Logo *\/\n.autocomplete-item .airline-logo {\n    width: 40px;\n    height: 40px;\n    object-fit: contain;\n    flex-shrink: 0;\n}\n\n\/* Direction Label *\/\n.direction-label {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-medium);\n    font-size: 9px;\n    line-height: 1;\n    color: black;\n    text-transform: uppercase;\n    letter-spacing: 0.3px;\n}\n\n\/* Flight Details *\/\n.flight-details {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    flex-grow: 1;\n    min-width: 0;\n}\n\n.autocomplete-item .flight-number {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-bold);\n    font-size: var(--font-size-base);\n    line-height: var(--line-height-normal);\n    color: var(--color-text-heading);\n}\n\n.flight-route {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-regular);\n    font-size: var(--font-size-base);\n    line-height: var(--line-height-normal);\n    color: var(--color-text-body);\n}\n\n\/* Flight Info Right Container *\/\n.flight-info-right {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end;\n    gap: 4px;\n    flex-shrink: 0;\n}\n\n\/* Flight Status Badge *\/\n.flight-status {\n    display: inline-flex;\n    align-items: center;\n    padding: 2px 8px;\n    border: 1px solid;\n    border-radius: var(--radius-sm);\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-medium);\n    font-size: var(--font-size-xs);\n    line-height: 18px;\n    white-space: nowrap;\n}\n\n.status-on-time {\n    background-color: var(--color-success-bg);\n    border-color: var(--status-arrived-border);\n    color: #3a3e46;\n}\n\n.status-delayed {\n    background-color: var(--color-warning-bg);\n    border-color: var(--status-delayed-border);\n    color: #3a3e46;\n}\n\n.status-cancelled {\n    background-color: var(--color-error-bg);\n    border-color: var(--status-cancelled-border);\n   color: #3a3e46;\n}\n\n.status-arrived {\n    background-color: var(--color-success-bg);\n    border-color: var(--status-arrived-border);\n    color: #3a3e46;\n}\n\n.status-departed {\n    background-color: var(--color-success-bg);\n    border-color: var(--status-arrived-border);\n    color: #3a3e46;\n}\n\n.status-boarding {\n    background-color: var(--color-info-bg, #e0f2fe);\n    border-color: var(--color-info, #0284c7);\n    color: #3a3e46;\n}\n\n.status-unknown {\n    background-color: var(--color-bg-light);\n    border-color: var(--color-border-medium);\n    color: #3a3e46;\n}\n\n\/* Flight Time *\/\n.autocomplete-item .flight-time {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-regular);\n    font-size: var(--font-size-base);\n    line-height: var(--line-height-normal);\n    color: var(--color-text-light);\n    white-space: nowrap;\n}\n\n\/* No Results Message *\/\n.no-results {\n    padding: var(--spacing-xl);\n    text-align: center;\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-regular);\n    font-size: var(--font-size-base);\n    color: var(--color-text-light);\n}\n\n\/* Loading State *\/\n.loading-indicator {\n    padding: var(--spacing-xl);\n    text-align: center;\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-regular);\n    font-size: var(--font-size-base);\n    color: var(--color-text-light);\n}\n\n\/* Flight Search Links *\/\n.flight-search-links {\n    display: flex;\n    gap: var(--spacing-lg);\n    align-items: center;\n    justify-content: flex-start;\n    width: 100%;\n    margin-top: var(--spacing-sm);\n}\n\n.flight-search-links a {\n    font-family: var(--font-family-body);\n    font-weight: var(--font-weight-medium);\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-normal);\n    color: #ffffff;\n    text-decoration: underline;\n    cursor: pointer;\n    transition: opacity 0.2s ease;\n}\n\n.flight-search-links a:hover {\n    opacity: 0.8;\n}\n\n\/* Responsive Design *\/\n@media (max-width: 767px) {\n    .flight-search-container {\n        width: 100%;\n    }\n\n    .flight-search-field {\n        padding-left: var(--spacing-sm);\n    }\n\n    .flight-search-button p {\n        display: none;\n    }\n\n    .flight-search-button {\n        padding: var(--spacing-sm);\n    }\n}\n<\/style>\n\n<div id=\"flyfruition-flight-search-DTW-1780476197314\" class=\"flyfruition-widget flyfruition-widget--flight-search\" data-airport=\"DTW\" data-widget=\"flight-search\">\n  <div class=\"flyfruition-widget__content\">\n    <div class=\"flight-search-container\">\n    <div class=\"flight-search-label\">\n        <p>Find my Flight<\/p>\n    <\/div>\n    <div class=\"flight-search-wrapper\">\n        <div class=\"flight-search-field\">\n            <input type=\"text\" placeholder=\"Search by Flight #, City, Airport Code\" class=\"flight-search-input\" id=\"flyfruition-flight-search-DTW-1780476197314-input\" autocomplete=\"off\" aria-label=\"Search by flight number, city, or airport code\">\n            <button class=\"flight-search-button\" id=\"flyfruition-flight-search-DTW-1780476197314-button\">\n                <i class=\"fa-solid fa-search\"><\/i>\n                <p>Search<\/p>\n            <\/button>\n        <\/div>\n        <div class=\"autocomplete-dropdown\" id=\"flyfruition-flight-search-DTW-1780476197314-dropdown\">\n            <!-- Autocomplete results will be inserted here by JavaScript -->\n        <\/div>\n    <\/div>\n    <div class=\"flight-search-links\" id=\"flyfruition-flight-search-DTW-1780476197314-links\">\n        <!-- View all links will be inserted here by JavaScript -->\n    <\/div>\n<\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n    \/\/ Flight Search Widget - flyfruition-flight-search-DTW-1780476197314\n    const widgetId = 'flyfruition-flight-search-DTW-1780476197314';\n    const dataUrl = 'https:\/\/pages.fruitionqa.com\/api\/widgets\/dtw\/flight-search\/data';\n    const baseUrl = 'https:\/\/pages.fruitionqa.com';\n    const widgetDirection = null;\n    const resultLimit = 10;\n\n    \/\/ State\n    let flights = [];\n    let isLoading = false;\n    let refreshInterval = null;\n    var selectedIndex = -1;\n    \n    \/\/ DOM Elements\n    const searchInput = document.getElementById(widgetId + '-input');\n    const searchButton = document.getElementById(widgetId + '-button');\n    const dropdown = document.getElementById(widgetId + '-dropdown');\n    \n    if (!searchInput || !searchButton || !dropdown) {\n        console.error('Flight search widget elements not found');\n        return;\n    }\n\n    \/**\n     * Get the arrival, departure, and connections page paths from document configuration\n     * @returns {Object} Object with arrivalPath, departurePath, and connectionsPath properties\n     *\/\n    function getPagePaths() {\n        return {\n            arrivalPath: (typeof document.ARRIVAL_PAGE_PATH === 'string' && document.ARRIVAL_PAGE_PATH) ? document.ARRIVAL_PAGE_PATH : null,\n            departurePath: (typeof document.DEPARTURE_PAGE_PATH === 'string' && document.DEPARTURE_PAGE_PATH) ? document.DEPARTURE_PAGE_PATH : null,\n            connectionsPath: (typeof document.CONNECTIONS_PAGE_PATH === 'string' && document.CONNECTIONS_PAGE_PATH) ? document.CONNECTIONS_PAGE_PATH : null\n        };\n    }\n\n    \/**\n     * Get the flight detail page path from document configuration\n     * @returns {string|null} Flight detail page path\n     *\/\n    function getFlightDetailPagePath() {\n        return (typeof document.FLIGHT_PAGE_PATH === 'string' && document.FLIGHT_PAGE_PATH) ? document.FLIGHT_PAGE_PATH : null;\n    }\n    \n    \/**\n     * Check if a flight time is within the acceptable range (6 hours old or newer, including future flights)\n     * @param {Object} flight - Flight object with scheduledTime field\n     * @returns {boolean} True if flight is within range\n     *\/\n    function isFlightWithinTimeRange(flight) {\n        if (!flight.flightDate || !flight.scheduledTime) return true;\n\n        try {\n            \/\/ Combine flightDate + scheduledTime to create valid datetime\n            \/\/ scheduledTime is a bare time string like \"16:00\", not an ISO datetime\n            var flightDateTime = new Date(flight.flightDate + 'T' + flight.scheduledTime);\n\n            \/\/ Check if date is valid\n            if (isNaN(flightDateTime.getTime())) {\n                return true;\n            }\n\n            \/\/ Calculate time difference in hours\n            var now = new Date();\n            var diffMs = now - flightDateTime;\n            var diffHours = diffMs \/ (1000 * 60 * 60);\n\n            \/\/ Keep flights that are 6 hours old or newer (includes future flights)\n            return diffHours < 6;\n        } catch (error) {\n            return true;\n        }\n    }\n\n    \/**\n     * Parse time string to minutes since midnight for sorting\n     * @param {string} timeStr - Time string in format like \"10:30 AM\" or \"14:30\"\n     * @returns {number} Minutes since midnight\n     *\/\n    function parseTimeToMinutes(timeStr) {\n        if (!timeStr) return 0;\n\n        try {\n            var timeParts = timeStr.match(\/(\\d+):(\\d+)\\s*(AM|PM)?\/i);\n            if (!timeParts) return 0;\n\n            var hours = parseInt(timeParts[1]);\n            var minutes = parseInt(timeParts[2]);\n            var period = timeParts[3];\n\n            \/\/ Convert to 24-hour format if needed\n            if (period) {\n                if (period.toUpperCase() === 'PM' && hours !== 12) {\n                    hours += 12;\n                } else if (period.toUpperCase() === 'AM' && hours === 12) {\n                    hours = 0;\n                }\n            }\n\n            return hours * 60 + minutes;\n        } catch (error) {\n            return 0;\n        }\n    }\n\n    \/\/ Fetch flights from API\n    async function fetchFlights() {\n        if (isLoading) return;\n\n        isLoading = true;\n        try {\n            const response = await fetch(dataUrl);\n            if (!response.ok) throw new Error('Failed to fetch flights');\n            var allFlights = await response.json();\n\n            \/\/ Filter flights: keep those 6 hours old or newer (includes future flights)\n            var filteredFlights = allFlights.filter(function(flight) {\n                return isFlightWithinTimeRange(flight);\n            });\n\n            \/\/ Sort by time ascending\n            filteredFlights.sort(function(a, b) {\n                return parseTimeToMinutes(a.time) - parseTimeToMinutes(b.time);\n            });\n\n            flights = filteredFlights;\n            console.log('[FlightSearch] Loaded', flights.length, 'flights (filtered and sorted)');\n        } catch (error) {\n            console.error('[FlightSearch] Error fetching flights:', error);\n        } finally {\n            isLoading = false;\n        }\n    }\n    \n    \/\/ Normalize string for comparison (remove spaces, special chars, lowercase)\n    function normalize(str) {\n        if (!str) return '';\n        return str.toLowerCase().replace(\/[^a-z0-9]\/g, '');\n    }\n\n    \/\/ Calculate search score for a flight (higher = better match)\n    function getSearchScore(flight, query, normalizedQuery) {\n        var score = 0;\n        \n        \/\/ Normalize flight number for comparison\n        var flightNumNorm = normalize(flight.flightNumber);\n        var airlineCodeNorm = normalize(flight.airlineCode);\n        var airportCodeNorm = normalize(flight.airportCode);\n        \n        \/\/ Exact flight number match (highest priority)\n        if (flightNumNorm === normalizedQuery) {\n            score += 1000;\n        }\n        \/\/ Flight number starts with query\n        else if (flightNumNorm.startsWith(normalizedQuery)) {\n            score += 500;\n        }\n        \/\/ Flight number contains query\n        else if (flightNumNorm.includes(normalizedQuery)) {\n            score += 300;\n        }\n        \n        \/\/ Exact airline code match\n        if (airlineCodeNorm === normalizedQuery) {\n            score += 200;\n        }\n        \/\/ Airline code starts with query\n        else if (airlineCodeNorm.startsWith(normalizedQuery)) {\n            score += 100;\n        }\n        \n        \/\/ Exact airport code match\n        if (airportCodeNorm === normalizedQuery) {\n            score += 200;\n        }\n        \/\/ Airport code starts with query\n        else if (airportCodeNorm.startsWith(normalizedQuery)) {\n            score += 100;\n        }\n        \n        \/\/ Airline name contains query (case insensitive)\n        if (flight.airline && flight.airline.toLowerCase().includes(query)) {\n            score += 50;\n        }\n        \n        \/\/ City name contains query\n        if (flight.airportCity && flight.airportCity.toLowerCase().includes(query)) {\n            score += 50;\n        }\n        \n        \/\/ Origin\/destination contains query\n        if (flight.origin && flight.origin.toLowerCase().includes(query)) {\n            score += 30;\n        }\n        if (flight.destination && flight.destination.toLowerCase().includes(query)) {\n            score += 30;\n        }\n        \n        return score;\n    }\n\n    \/\/ Filter flights based on search query with smart matching\n    function filterFlights(query) {\n        if (!query || query.trim().length === 0) {\n            return [];\n        }\n\n        query = query.toLowerCase().trim();\n        var normalizedQuery = normalize(query);\n\n        \/\/ Score all flights\n        var scoredFlights = flights.map(function(flight) {\n            return {\n                flight: flight,\n                score: getSearchScore(flight, query, normalizedQuery)\n            };\n        });\n\n        \/\/ Filter to only matches (score > 0) and sort by score descending\n        return scoredFlights\n            .filter(function(item) { return item.score > 0; })\n            .sort(function(a, b) { return b.score - a.score; })\n            .slice(0, resultLimit)\n            .map(function(item) { return item.flight; });\n    }\n\n    \/\/ Get status display information\n    function getStatusInfo(status) {\n        var statusMap = {\n            'on-time': { text: 'On Time', cssClass: 'status-on-time' },\n            'delayed': { text: 'Delayed', cssClass: 'status-delayed' },\n            'cancelled': { text: 'Cancelled', cssClass: 'status-cancelled' },\n            'arrived': { text: 'Arrived', cssClass: 'status-arrived' },\n            'departed': { text: 'Departed', cssClass: 'status-departed' },\n            'boarding': { text: 'Boarding', cssClass: 'status-boarding' },\n            'on-ground': { text: 'On Ground', cssClass: 'status-arrived' }\n        };\n        return statusMap[status] || { text: status || 'Unknown', cssClass: 'status-unknown' };\n    }\n\n    \/\/ Create autocomplete item HTML\n    function createFlightItem(flight) {\n        var item = document.createElement('div');\n        item.className = 'autocomplete-item';\n\n        var statusInfo = getStatusInfo(flight.status);\n        var directionLabel = flight.direction === 'departure' ? 'Departure' : 'Arrival';\n        var logoHtml = flight.airlineLogo\n            ? '<div class=\"airline-logo-container\">' +\n                '<img decoding=\"async\" src=\"' + flight.airlineLogo + '\" alt=\"' + flight.airline + '\" class=\"airline-logo\" onerror=\"this.style.display=\\'none\\'\">' +\n                '<div class=\"direction-label\">' + directionLabel + '<\/div>' +\n              '<\/div>'\n            : '<div class=\"airline-logo-container\">' +\n                '<div class=\"direction-label\">' + directionLabel + '<\/div>' +\n              '<\/div>';\n\n        var routeText = flight.direction === 'departure'\n            ? flight.origin + ' \u2192 ' + flight.destination\n            : flight.origin + ' \u2192 ' + flight.destination;\n\n        item.innerHTML =\n            logoHtml +\n            '<div class=\"flight-details\">' +\n                '<div class=\"flight-number\">' + flight.flightNumber + '<\/div>' +\n                '<div class=\"flight-route\">' + routeText + '<\/div>' +\n            '<\/div>' +\n            '<div class=\"flight-info-right\">' +\n                '<div class=\"flight-status ' + statusInfo.cssClass + '\">' + statusInfo.text + '<\/div>' +\n                '<div class=\"flight-time\">' + flight.time + '<\/div>' +\n            '<\/div>';\n\n        \/\/ Add click handler to navigate to flight detail page\n        item.addEventListener('click', function() {\n            var flightPagePath = getFlightDetailPagePath();\n            if (flightPagePath) {\n                \/\/ Remove spaces from flight number (e.g., \"UA 4048\" -> \"UA4048\")\n                var flightNumberClean = flight.flightNumber.replace(\/\\s+\/g, '');\n                \/\/ Construct URL: \/flight-details\/?flight=arrival\/UA4048\n                var url = flightPagePath + '?flight=' + flight.direction + '\/' + flightNumberClean;\n                window.location.href = url;\n            }\n        });\n\n        return item;\n    }\n\n    \/\/ Update visual highlight on dropdown items\n    function updateHighlight() {\n        var items = dropdown.querySelectorAll('.autocomplete-item');\n        items.forEach(function(item, i) {\n            if (i === selectedIndex) {\n                item.classList.add('autocomplete-item--active');\n                item.scrollIntoView({ block: 'nearest' });\n            } else {\n                item.classList.remove('autocomplete-item--active');\n            }\n        });\n    }\n\n    \/\/ Show dropdown with results\n    function showResults(results) {\n        dropdown.innerHTML = '';\n        selectedIndex = -1;\n\n        if (isLoading) {\n            var loading = document.createElement('div');\n            loading.className = 'loading-indicator';\n            loading.textContent = 'Loading flights...';\n            dropdown.appendChild(loading);\n        } else if (results.length === 0) {\n            var noResults = document.createElement('div');\n            noResults.className = 'no-results';\n            noResults.textContent = 'No flights found';\n            dropdown.appendChild(noResults);\n        } else {\n            results.forEach(function(flight) {\n                dropdown.appendChild(createFlightItem(flight));\n            });\n        }\n\n        dropdown.classList.add('show');\n    }\n\n    \/\/ Hide dropdown\n    function hideDropdown() {\n        dropdown.classList.remove('show');\n    }\n\n    \/\/ Handle input changes\n    searchInput.addEventListener('input', function(e) {\n        var query = e.target.value;\n\n        if (query.trim().length === 0) {\n            hideDropdown();\n            return;\n        }\n\n        var results = filterFlights(query);\n        showResults(results);\n    });\n\n    \/\/ Handle search button click\n    searchButton.addEventListener('click', function() {\n        var query = searchInput.value;\n        if (query.trim().length > 0) {\n            var results = filterFlights(query);\n            var paths = getPagePaths();\n\n            \/\/ Determine which page to navigate to\n            var targetPath = null;\n\n            \/\/ For connections widgets, always go to departure page\n            if (widgetDirection && widgetDirection === 'arrival|connections') {\n                targetPath = paths.arrivalPath;\n            } else if (widgetDirection && widgetDirection === 'departure|connections') {\n                targetPath = paths.departurePath;\n            } else if (results.length > 0) {\n                \/\/ Use the direction of the first result to determine target page\n                targetPath = results[0].direction === 'arrival' ? paths.arrivalPath : paths.departurePath;\n            } else {\n                \/\/ Default to departure page if no results\n                targetPath = paths.departurePath || paths.arrivalPath;\n            }\n\n            if (targetPath) {\n                window.location.href = targetPath + '?q=' + encodeURIComponent(query);\n            }\n        }\n    });\n\n    \/\/ Handle keyboard navigation (arrows + enter)\n    searchInput.addEventListener('keydown', function(e) {\n        var items = dropdown.querySelectorAll('.autocomplete-item');\n        var itemCount = items.length;\n\n        if (e.key === 'ArrowDown') {\n            e.preventDefault();\n            if (itemCount > 0) {\n                selectedIndex = (selectedIndex + 1) % itemCount;\n                updateHighlight();\n            }\n        } else if (e.key === 'ArrowUp') {\n            e.preventDefault();\n            if (itemCount > 0) {\n                selectedIndex = selectedIndex <= 0 ? itemCount - 1 : selectedIndex - 1;\n                updateHighlight();\n            }\n        } else if (e.key === 'Enter') {\n            e.preventDefault();\n            \/\/ If an item is highlighted, click it\n            if (selectedIndex >= 0 && items[selectedIndex]) {\n                items[selectedIndex].click();\n                return;\n            }\n            \/\/ Otherwise navigate to flight board with search query\n            var query = searchInput.value;\n            if (query.trim().length > 0) {\n                var results = filterFlights(query);\n                var paths = getPagePaths();\n\n                var targetPath = null;\n\n                \/\/ For connections widgets, always go to departure page\n                if (widgetDirection && widgetDirection === 'arrival|connections') {\n                    targetPath = paths.arrivalPath;\n                } else if (widgetDirection && widgetDirection === 'departure|connections') {\n                    targetPath = paths.departurePath;\n                } else if (results.length > 0) {\n                    targetPath = results[0].direction === 'arrival' ? paths.arrivalPath : paths.departurePath;\n                } else {\n                    targetPath = paths.departurePath || paths.arrivalPath;\n                }\n\n                if (targetPath) {\n                    window.location.href = targetPath + '?q=' + encodeURIComponent(query);\n                }\n            }\n        } else if (e.key === 'Escape') {\n            hideDropdown();\n            selectedIndex = -1;\n        }\n    });\n\n    \/\/ Close dropdown when clicking outside\n    document.addEventListener('click', function(e) {\n        if (!e.target.closest('.flight-search-wrapper')) {\n            hideDropdown();\n        }\n    });\n\n    \/\/ Prevent dropdown from closing when clicking inside it\n    dropdown.addEventListener('click', function(e) {\n        e.stopPropagation();\n    });\n\n    \/\/ Render \"view all\" links based on widget direction\n    function renderViewAllLinks() {\n        var linksContainer = document.getElementById(widgetId + '-links');\n        if (!linksContainer) return;\n\n        var paths = getPagePaths();\n        var linksHtml = '';\n\n        \/\/ Handle connections widgets\n        if (widgetDirection === 'arrival|connections' || widgetDirection === 'departure|connections') {\n            if (paths.connectionsPath) {\n                linksHtml = '<a href=\"' + paths.connectionsPath + '\">View all Connections<\/a>';\n            }\n        }\n        \/\/ Handle single direction widgets\n        else if (widgetDirection === 'arrival') {\n            if (paths.arrivalPath) {\n                linksHtml = '<a href=\"' + paths.arrivalPath + '\">View All Arrivals<\/a>';\n            }\n        }\n        else if (widgetDirection === 'departure') {\n            if (paths.departurePath) {\n                linksHtml = '<a href=\"' + paths.departurePath + '\">View All Departures<\/a>';\n            }\n        }\n        \/\/ Default: show both links\n        else {\n            if (paths.arrivalPath) {\n                linksHtml += '<a href=\"' + paths.arrivalPath + '\">View All Arrivals<\/a>';\n            }\n\n            if (paths.departurePath) {\n                linksHtml += '<a href=\"' + paths.departurePath + '\">View All Departures<\/a>';\n            }\n        }\n\n        linksContainer.innerHTML = linksHtml;\n    }\n\n    \/\/ Initial fetch\n    fetchFlights();\n\n    \/\/ Render view all links\n    renderViewAllLinks();\n\n    \/\/ Refresh every 60 seconds\n    refreshInterval = setInterval(fetchFlights, 60000);\n\n    \/\/ Cleanup on page unload\n    window.addEventListener('beforeunload', function() {\n        if (refreshInterval) {\n            clearInterval(refreshInterval);\n        }\n    });\n})();\n<\/script>            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n\n    <div class=\"hero-video-container\">\n        <div class=\"hero-video-poster\">\n                            <img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2026\/03\/Image.webp\"\n                     alt=\"\"\n                     fetchpriority=\"high\"\n                     loading=\"eager\"\n                     width=\"1512\"\n                     height=\"512\">\n                    <\/div>\n                    <iframe id=\"iframe-block_dd7dcc04e19729060db16944ccbd40cb\" class=\"hv-element hv-youtube\"\n                src=\"https:\/\/www.youtube.com\/embed\/k_W8dpopu7s?enablejsapi=1&amp;controls=0&amp;rel=0&amp;playsinline=1&amp;autoplay=1&amp;mute=1&amp;loop=1&amp;playlist=k_W8dpopu7s\"\n                frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"\"\n                title=\"Background video\"><\/iframe>\n            <\/div>\n\n\n    <div class=\"container\">\n        <div class=\"grid justify-center\">\n            <div class=\"col-sm-10\">\n\n                                    <!-- Controls (Top Right) -->\n                    <div class=\"hero-controls\">\n                        <button class=\"hv-btn hv-mute-toggle\" data-target=\"iframe-block_dd7dcc04e19729060db16944ccbd40cb\"\n                            data-type=\"youtube\" aria-label=\"Mute video\">\n                            <!-- Icon Mute -->\n                            <span class=\"icon-mute\" aria-hidden=\"true\">\n                                <i class=\"fa-light fa-volume-xmark\"><\/i>\n                            <\/span>\n                            <!-- Icon Unmute-->\n                            <span class=\"icon-unmute\" style=\"display: none;\" aria-hidden=\"true\">\n                                <i class=\"fa-light fa-volume\"><\/i>\n                            <\/span>\n                        <\/button>\n\n                        <button class=\"hv-btn hv-play-toggle\" data-target=\"iframe-block_dd7dcc04e19729060db16944ccbd40cb\"\n                            data-type=\"youtube\" aria-label=\"Pause video\">\n                            <!-- Icon Pause -->\n                            <span class=\"icon-pause\" aria-hidden=\"true\">\n                                <i class=\"fa-light fa-pause\"><\/i>\n                            <\/span>\n                            <!-- Icon Play -->\n                            <span class=\"icon-play\" style=\"display: none;\" aria-hidden=\"true\">\n                                <i class=\"fa-light fa-play\"><\/i>\n                            <\/span>\n                        <\/button>\n                    <\/div>\n                \n            <\/div>\n        <\/div>\n\n\n\n    <\/div>\n<\/div>\n\n<div class=\"heroLandingTerminalCards\">\n    <div class=\"container\">\n        <div class=\"grid justify-center\">\n            <div class=\"col-sm-10\">\n                \n<script>\n(function() {\n  if (!document.querySelector('[data-typekit-loaded], link[href*=\"typekit.net\"], script[src*=\"typekit.net\"], script[src*=\"use.typekit.net\"]')) {\n    var l = document.createElement('link');\n    l.rel = 'stylesheet';\n    l.href = 'https:\/\/use.typekit.net\/lly7wdy.css';\n    document.head.appendChild(l);\n  }\n  if (!document.querySelector('script[src*=\"kit.fontawesome.com\"]')) {\n    var s = document.createElement('script');\n    s.src = 'https:\/\/kit.fontawesome.com\/f2144e7b52.js';\n    s.crossOrigin = 'anonymous';\n    s.async = true;\n    document.head.appendChild(s);\n  }\n})();\n<\/script>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:wght@700&display=swap\">\n\n<style>\n\/* FlyFruition Design System - DTW Terminal Cards *\/\n:root {\n  --tc-font-body: 'aktiv-grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n  --tc-font-heading: 'dm-sans', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n  --tc-color-primary: #0064A7;\n  --tc-color-heading: #05243D;\n  --tc-color-body: #3a3e46;\n  --tc-color-light: #7d8796;\n  --tc-color-border: #e6e9eb;\n  --tc-color-border-tertiary: #c2ecf8;\n  --tc-color-card-bg: #e6f4fa;\n  --tc-color-white: #ffffff;\n  --tc-color-success-bg: #d2f1de;\n  --tc-color-success-border: #49c67c;\n  --tc-color-success-icon: #1cb85b;\n  --tc-radius-sm: 4px;\n  --tc-radius-md: 8px;\n  --tc-radius-lg: 8px;\n  --tc-radius-xl: 16px;\n}\n\n\/* Reset *\/\n.terminal-cards * {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\n\/* Layout *\/\n.terminal-cards {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  width: 100%;\n  font-family: var(--tc-font-body);\n}\n\n.terminal-cards > .terminal-card {\n  flex: 1 1 400px;\n}\n\n\/* Card *\/\n.terminal-card {\n  background: var(--tc-color-card-bg);\n  border: 1px solid var(--tc-color-border-tertiary);\n  border-radius: var(--tc-radius-xl);\n  padding: 32px 24px 40px;\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n}\n\n\/* Card Header *\/\n.terminal-card__header {\n  border-bottom: 1px solid var(--tc-color-primary);\n  padding-bottom: 4px;\n}\n\n.terminal-card__title {\n  font-family: var(--tc-font-heading);\n  font-size: 22px;\n  font-weight: 700;\n  color: var(--tc-color-heading);\n  line-height: 32px;\n}\n\n\/* Content row: TSA + Airlines side by side *\/\n.terminal-card__content-row {\n  display: flex;\n  gap: 20px;\n}\n\n\/* Section *\/\n.terminal-card__section {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n.terminal-card__section--airlines {\n  flex: 1 0 0;\n  min-width: 214px;\n}\n\n.terminal-card__section-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.terminal-card__section-label {\n  font-family: var(--tc-font-heading);\n  font-size: 18px;\n  font-weight: 600;\n  line-height: 28px;\n  color: var(--tc-color-heading);\n}\n\n.terminal-card__view-all {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: var(--tc-font-body);\n  font-size: 15px;\n  font-weight: 500;\n  line-height: 22px;\n  color: var(--tc-color-primary);\n  text-decoration: none;\n  padding: 0 2px;\n  white-space: nowrap;\n}\n\n.terminal-card__view-all:hover {\n  text-decoration: underline;\n}\n\n.terminal-card__view-all i {\n  font-size: 16px;\n  color: var(--tc-color-primary);\n}\n\n\/* TSA Section *\/\n.terminal-card__tsa {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  background: var(--tc-color-white);\n  border: 1px solid var(--tc-color-border);\n  border-radius: var(--tc-radius-lg);\n  padding: 12px 20px;\n}\n\n.terminal-card__tsa-name {\n  font-family: var(--tc-font-heading);\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 28px;\n  color: var(--tc-color-heading);\n  white-space: nowrap;\n}\n\n.terminal-card__tsa-badge {\n  width: 46px;\n  height: 46px;\n  border-radius: var(--tc-radius-lg);\n  background: var(--tc-color-primary);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.terminal-card__tsa-badge-number {\n  font-family: 'Roboto', sans-serif;\n  font-size: 22px;\n  font-weight: 700;\n  line-height: 32px;\n  color: var(--tc-color-white);\n  text-align: center;\n}\n\n.terminal-card__tsa-unit {\n  font-family: var(--tc-font-heading);\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 28px;\n  color: var(--tc-color-heading);\n  white-space: nowrap;\n}\n\n.terminal-card__tsa-closed {\n  font-size: 15px;\n  font-weight: 500;\n  color: var(--tc-color-light);\n  padding: 12px 20px;\n  background: var(--tc-color-white);\n  border: 1px solid var(--tc-color-border);\n  border-radius: var(--tc-radius-lg);\n}\n\n\/* Airlines Section *\/\n.terminal-card__airlines {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.terminal-card__airline-tag {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  background: var(--tc-color-white);\n  border: 1px solid var(--tc-color-border);\n  border-radius: var(--tc-radius-sm);\n  padding: 4px 12px;\n  font-family: var(--tc-font-body);\n  font-size: 15px;\n  font-weight: 500;\n  line-height: 22px;\n  color: var(--tc-color-body);\n  white-space: nowrap;\n}\n\n\/* Parking Section *\/\n.terminal-card__parking-table {\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n}\n\n.terminal-card__parking-row {\n  display: flex;\n  align-items: center;\n  border-bottom: 1px solid var(--tc-color-border-tertiary);\n}\n\n.terminal-card__parking-cell {\n  padding: 8px 16px;\n  display: flex;\n  align-items: center;\n}\n\n.terminal-card__parking-cell--name {\n  flex: 1 0 0;\n}\n\n.terminal-card__parking-cell--name span {\n  font-family: var(--tc-font-body);\n  font-size: 15px;\n  font-weight: 400;\n  line-height: 22px;\n  color: var(--tc-color-body);\n  padding: 4px 0;\n}\n\n.terminal-card__parking-cell--spaces {\n  width: 186px;\n}\n\n.terminal-card__parking-cell--spaces span {\n  font-family: var(--tc-font-body);\n  font-size: 15px;\n  font-weight: 400;\n  line-height: 22px;\n  color: var(--tc-color-body);\n  padding: 4px 0;\n}\n\n.terminal-card__parking-cell--status {\n  padding: 8px 16px;\n}\n\n.terminal-card__parking-tag {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  padding: 4px 12px;\n  border-radius: var(--tc-radius-sm);\n  font-family: var(--tc-font-body);\n  font-size: 15px;\n  font-weight: 500;\n  line-height: 22px;\n  color: var(--tc-color-body);\n  white-space: nowrap;\n}\n\n.terminal-card__parking-tag--open {\n  background: var(--tc-color-success-bg);\n  border: 1px solid var(--tc-color-success-border);\n}\n\n.terminal-card__parking-tag--closed {\n  background: #fde8e8;\n  border: 1px solid #ef4444;\n}\n\n.terminal-card__parking-tag--limited {\n  background: #fef3c7;\n  border: 1px solid #f59e0b;\n}\n\n.terminal-card__parking-tag i {\n  font-size: 18px;\n}\n\n.terminal-card__parking-tag--open i {\n  color: var(--tc-color-success-icon);\n}\n\n.terminal-card__parking-tag--closed i {\n  color: #ef4444;\n}\n\n.terminal-card__parking-tag--limited i {\n  color: #f59e0b;\n}\n\n\/* Footer Buttons *\/\n.terminal-card__footer {\n  display: flex;\n  gap: 8px;\n  margin-top: auto;\n}\n\n.terminal-card__footer-btn {\n  flex: 1 0 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 5px;\n  background: var(--tc-color-white);\n  border: 1px solid var(--tc-color-border);\n  border-radius: var(--tc-radius-lg);\n  padding: 12px 37px;\n  font-family: var(--tc-font-heading);\n  font-size: 15px;\n  font-weight: 500;\n  color: var(--tc-color-primary);\n  text-decoration: none;\n  white-space: nowrap;\n}\n\n.terminal-card__footer-btn:hover {\n  background: #f8f9fa;\n  text-decoration: none;\n}\n\n.terminal-card__footer-btn i {\n  font-size: 13px;\n}\n\n\/* Responsive: stack on mobile *\/\n@media (max-width: 767px) {\n  .terminal-card__content-row {\n    flex-direction: column;\n  }\n  .terminal-card__parking-cell--spaces {\n    display: none;\n  }\n  .terminal-card__footer-btn {\n    padding: 12px 8px;\n    font-size: 13px;\n  }\n}\n\n\/* Tab Navigation *\/\n.tc-tab-header {\n  display: none;\n  background: #004a78;\n  border-radius: 16px 16px 0 0;\n  padding: 10px 18px 0;\n}\n\n.tc-tab-label {\n  display: block;\n  font-family: var(--tc-font-heading);\n  font-size: 11px;\n  font-weight: 600;\n  letter-spacing: 0.88px;\n  text-transform: uppercase;\n  color: rgba(255, 255, 255, 0.7);\n  margin-bottom: 8px;\n}\n\n.tc-tab-nav {\n  display: flex;\n  gap: 4px;\n}\n\n.tc-tab-btn {\n  padding: 9px 16px;\n  border: none;\n  border-radius: 10px 10px 0 0;\n  font-family: var(--tc-font-heading);\n  font-size: 13px;\n  font-weight: 600;\n  letter-spacing: -0.13px;\n  cursor: pointer;\n  transition: background 0.15s, color 0.15s;\n}\n\n.tc-tab-btn--active {\n  background: var(--tc-color-card-bg);\n  color: #003a6b;\n}\n\n.tc-tab-btn--inactive {\n  background: rgba(0, 100, 167, 0.59);\n  color: #ffffff;\n}\n\n\/* Below 1372px: show tabs, hide inactive card *\/\n@media (max-width: 1371px) {\n  .tc-tab-header {\n    display: block;\n  }\n\n  .flyfruition-widget--terminal-cards .terminal-cards {\n    border-radius: 0 0 20px 20px;\n  }\n\n  .terminal-card[data-terminal] {\n    display: none;\n  }\n\n  .terminal-card[data-terminal].tc-active {\n    display: flex;\n    border-top-left-radius: 0 !important;\n    border-top-right-radius: 0 !important;\n  }\n}\n<\/style>\n\n<div id=\"flyfruition-terminal-cards-DTW-1780476197638\" class=\"flyfruition-widget flyfruition-widget--terminal-cards\" data-airport=\"DTW\" data-widget=\"terminal-cards\">\n  <div class=\"flyfruition-widget__content\">\n    \n<div class=\"tc-tab-header\">\n  <span class=\"tc-tab-label\">DTW Airport \u00b7 Live Status<\/span>\n  <div class=\"tc-tab-nav\">\n    <button class=\"tc-tab-btn tc-tab-btn--active\" data-tab=\"evans\">Evans Terminal<\/button>\n    <button class=\"tc-tab-btn tc-tab-btn--inactive\" data-tab=\"mcnamara\">McNamara Terminal<\/button>\n  <\/div>\n<\/div>\n<div class=\"terminal-cards\">\n  <div class=\"terminal-card\" data-terminal=\"evans\">\n    <div class=\"terminal-card__header\">\n      <h2 class=\"terminal-card__title\">Evans Terminal<\/h2>\n    <\/div>\n\n    <div class=\"terminal-card__content-row\">\n      <div class=\"terminal-card__section\">\n        <div class=\"terminal-card__section-header\">\n          <span class=\"terminal-card__section-label\">TSA Wait Times<\/span>\n        <\/div>\n        \n      <div class=\"terminal-card__tsa\">\n        <span class=\"terminal-card__tsa-name\">Evans<\/span>\n        <div class=\"terminal-card__tsa-badge\">\n          <span class=\"terminal-card__tsa-badge-number\">4<\/span>\n        <\/div>\n        <span class=\"terminal-card__tsa-unit\">Minutes<\/span>\n      <\/div>\n      <\/div>\n\n      <div class=\"terminal-card__section terminal-card__section--airlines\">\n        <div class=\"terminal-card__section-header\">\n          <span class=\"terminal-card__section-label\">Airlines<\/span>\n          <a href=\"\/airlines\/\" class=\"terminal-card__view-all\" target=\"_blank\">View All <i class=\"fa-light fa-arrow-right\" aria-hidden=\"true\"><\/i><\/a>\n        <\/div>\n        <div class=\"terminal-card__airlines\">\n    <span class=\"terminal-card__airline-tag\">Air Canada<\/span>\n    <span class=\"terminal-card__airline-tag\">Alaska Airlines<\/span>\n    <span class=\"terminal-card__airline-tag\">American Airlines<\/span>\n    <span class=\"terminal-card__airline-tag\">Frontier<\/span>\n    <span class=\"terminal-card__airline-tag\">JetBlue<\/span>\n    <span class=\"terminal-card__airline-tag\">Lufthansa<\/span>\n    <span class=\"terminal-card__airline-tag\">Royal Jordanian<\/span>\n    <span class=\"terminal-card__airline-tag\">Southwest<\/span>\n    <span class=\"terminal-card__airline-tag\">Sun Country Airlines<\/span>\n    <span class=\"terminal-card__airline-tag\">Turkish Airlines<\/span>\n    <span class=\"terminal-card__airline-tag\">United<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"terminal-card__section\">\n      <div class=\"terminal-card__section-header\">\n        <span class=\"terminal-card__section-label\">Parking<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-table\">\n    <div class=\"terminal-card__parking-row\">\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--name\">\n        <span>Long Term<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--spaces\">\n        <span title=\"Placeholder \u2014 not live data\">Spaces Placeholder<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--status\">\n        <span class=\"terminal-card__parking-tag terminal-card__parking-tag--open\">\n          <i class=\"fa-light fa-circle-check\" aria-hidden=\"true\"><\/i> Open\n        <\/span>\n      <\/div>\n    <\/div>\n    <div class=\"terminal-card__parking-row\">\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--name\">\n        <span>Short Term<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--spaces\">\n        <span title=\"Placeholder \u2014 not live data\">Spaces Placeholder<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--status\">\n        <span class=\"terminal-card__parking-tag terminal-card__parking-tag--open\">\n          <i class=\"fa-light fa-circle-check\" aria-hidden=\"true\"><\/i> Open\n        <\/span>\n      <\/div>\n    <\/div><\/div>\n    <\/div>\n\n    <div class=\"terminal-card__footer\">\n      <a href=\"https:\/\/maps.metroairport.com\/?poiId=742\" target=\"_blank\" class=\"terminal-card__footer-btn\">\n        <i class=\"fa-light fa-location-dot\" aria-hidden=\"true\"><\/i>\n        Parking Map\n      <\/a>\n      <a href=\"https:\/\/maps.metroairport.com\/?poiId=713\" target=\"_blank\" class=\"terminal-card__footer-btn\">\n        <i class=\"fa-light fa-location-dot\" aria-hidden=\"true\"><\/i>\n        Terminal Map\n      <\/a>\n    <\/div>\n  <\/div>\n  <div class=\"terminal-card\" data-terminal=\"mcnamara\">\n    <div class=\"terminal-card__header\">\n      <h2 class=\"terminal-card__title\">McNamara Terminal<\/h2>\n    <\/div>\n\n    <div class=\"terminal-card__content-row\">\n      <div class=\"terminal-card__section\">\n        <div class=\"terminal-card__section-header\">\n          <span class=\"terminal-card__section-label\">TSA Wait Times<\/span>\n        <\/div>\n        \n      <div class=\"terminal-card__tsa\">\n        <span class=\"terminal-card__tsa-name\">McNamara<\/span>\n        <div class=\"terminal-card__tsa-badge\">\n          <span class=\"terminal-card__tsa-badge-number\">5<\/span>\n        <\/div>\n        <span class=\"terminal-card__tsa-unit\">Minutes<\/span>\n      <\/div>\n      <\/div>\n\n      <div class=\"terminal-card__section terminal-card__section--airlines\">\n        <div class=\"terminal-card__section-header\">\n          <span class=\"terminal-card__section-label\">Airlines<\/span>\n          <a href=\"\/airlines\/\" class=\"terminal-card__view-all\" target=\"_blank\">View All <i class=\"fa-light fa-arrow-right\" aria-hidden=\"true\"><\/i><\/a>\n        <\/div>\n        <div class=\"terminal-card__airlines\">\n    <span class=\"terminal-card__airline-tag\">AeroMexico<\/span>\n    <span class=\"terminal-card__airline-tag\">Air France<\/span>\n    <span class=\"terminal-card__airline-tag\">Delta Air Lines<\/span>\n    <span class=\"terminal-card__airline-tag\">WestJet Airlines<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"terminal-card__section\">\n      <div class=\"terminal-card__section-header\">\n        <span class=\"terminal-card__section-label\">Parking<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-table\">\n    <div class=\"terminal-card__parking-row\">\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--name\">\n        <span>Long Term<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--spaces\">\n        <span title=\"Placeholder \u2014 not live data\">Spaces Placeholder<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--status\">\n        <span class=\"terminal-card__parking-tag terminal-card__parking-tag--open\">\n          <i class=\"fa-light fa-circle-check\" aria-hidden=\"true\"><\/i> Open\n        <\/span>\n      <\/div>\n    <\/div>\n    <div class=\"terminal-card__parking-row\">\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--name\">\n        <span>Short Term<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--spaces\">\n        <span title=\"Placeholder \u2014 not live data\">Spaces Placeholder<\/span>\n      <\/div>\n      <div class=\"terminal-card__parking-cell terminal-card__parking-cell--status\">\n        <span class=\"terminal-card__parking-tag terminal-card__parking-tag--open\">\n          <i class=\"fa-light fa-circle-check\" aria-hidden=\"true\"><\/i> Open\n        <\/span>\n      <\/div>\n    <\/div><\/div>\n    <\/div>\n\n    <div class=\"terminal-card__footer\">\n      <a href=\"https:\/\/maps.metroairport.com\/?poiId=741\" target=\"_blank\" class=\"terminal-card__footer-btn\">\n        <i class=\"fa-light fa-location-dot\" aria-hidden=\"true\"><\/i>\n        Parking Map\n      <\/a>\n      <a href=\"https:\/\/maps.metroairport.com\/?poiId=712\" target=\"_blank\" class=\"terminal-card__footer-btn\">\n        <i class=\"fa-light fa-location-dot\" aria-hidden=\"true\"><\/i>\n        Terminal Map\n      <\/a>\n    <\/div>\n  <\/div><\/div>\n  <\/div>\n<\/div>\n\n\n<!-- FlyFruition Terminal Cards Live Update Script -->\n<script>\n(function() {\n  var widgetId = 'flyfruition-terminal-cards-DTW-1780476197638';\n  var channels = ['dtw-tsa', 'dtw-parking'];\n  var wsUrl = 'wss:\/\/dev-api.flyfruition.com\/';\n  var wsKey = '2QicQPH7AOM7ASWXGY4VkRiUlYMhOtW';\n  var refreshUrl = 'https:\/\/pages.fruitionqa.com\/api\/widgets\/dtw\/terminal-cards';\n  var dataUrl = 'https:\/\/pages.fruitionqa.com\/api\/widgets\/dtw\/terminal-cards\/data';\n\n  var ws = null;\n  var reconnectAttempts = 0;\n  var maxReconnectAttempts = 5;\n  var reconnectDelay = 3000;\n\n  \/\/ Tab state \u2014 persists across WebSocket-triggered refreshes\n  var activeTab = 'evans';\n\n  function applyActiveTab(container, tab) {\n    container.querySelectorAll('.tc-tab-btn').forEach(function(btn) {\n      var isActive = btn.getAttribute('data-tab') === tab;\n      btn.classList.toggle('tc-tab-btn--active', isActive);\n      btn.classList.toggle('tc-tab-btn--inactive', !isActive);\n    });\n    container.querySelectorAll('.terminal-card[data-terminal]').forEach(function(card) {\n      card.classList.toggle('tc-active', card.getAttribute('data-terminal') === tab);\n    });\n  }\n\n  function connect() {\n    if (ws && ws.readyState === WebSocket.OPEN) return;\n\n    try {\n      ws = new WebSocket(wsUrl + '?publicKey=' + wsKey);\n\n      ws.onopen = function() {\n        console.log('[FlyFruition TerminalCards] WebSocket connected');\n        reconnectAttempts = 0;\n        \/\/ Subscribe to both channels\n        for (var i = 0; i < channels.length; i++) {\n          ws.send(JSON.stringify({ action: 'subscribe', channel: channels[i] }));\n        }\n      };\n\n      ws.onmessage = function(event) {\n        try {\n          var data = JSON.parse(event.data);\n          var isRelevant = false;\n          for (var i = 0; i < channels.length; i++) {\n            if (data.channel === channels[i]) { isRelevant = true; break; }\n          }\n          if (isRelevant || data.type === 'update') {\n            console.log('[FlyFruition TerminalCards] Update received, refreshing...');\n            refreshWidget();\n          }\n        } catch (e) {\n          \/\/ Non-JSON message (heartbeat)\n        }\n      };\n\n      ws.onclose = function() {\n        console.log('[FlyFruition TerminalCards] WebSocket disconnected');\n        scheduleReconnect();\n      };\n\n      ws.onerror = function(error) {\n        console.error('[FlyFruition TerminalCards] WebSocket error:', error);\n      };\n    } catch (error) {\n      console.error('[FlyFruition TerminalCards] Failed to connect:', error);\n      scheduleReconnect();\n    }\n  }\n\n  function scheduleReconnect() {\n    if (reconnectAttempts < maxReconnectAttempts) {\n      reconnectAttempts++;\n      setTimeout(connect, reconnectDelay);\n    }\n  }\n\n  function refreshWidget() {\n    var container = document.getElementById(widgetId);\n    if (!container) return Promise.reject(new Error('Container not found'));\n\n    \/\/ Try JSON data update first for better performance\n    console.log('[FlyFruition TerminalCards] Fetching fresh JSON data from:', dataUrl);\n    return fetch(dataUrl)\n      .then(function(response) {\n        if (!response.ok) throw new Error('Failed to fetch JSON data');\n        return response.json();\n      })\n      .then(function(data) {\n        console.log('[FlyFruition TerminalCards] Fresh JSON data received, updating widget');\n        updateWidgetWithData(container, data);\n      })\n      .catch(function(error) {\n        console.error('[FlyFruition TerminalCards] Failed to fetch JSON data, falling back to HTML:', error);\n        return refreshWidgetWithHtml(container);\n      });\n  }\n\n  function refreshWidgetWithHtml(container) {\n    console.log('[FlyFruition TerminalCards] Fetching fresh HTML from:', refreshUrl);\n    return fetch(refreshUrl)\n      .then(function(response) {\n        if (!response.ok) throw new Error('Failed to fetch HTML');\n        return response.text();\n      })\n      .then(function(html) {\n        console.log('[FlyFruition TerminalCards] Fresh HTML received, updating widget');\n        var parser = new DOMParser();\n        var doc = parser.parseFromString(html, 'text\/html');\n        var newContent = doc.querySelector('.flyfruition-widget__content');\n        var currentContent = container.querySelector('.flyfruition-widget__content');\n        if (newContent && currentContent) {\n          currentContent.innerHTML = newContent.innerHTML;\n          \/\/ Restore active tab after content replacement\n          applyActiveTab(container, activeTab);\n        }\n      })\n      .catch(function(error) {\n        console.error('[FlyFruition TerminalCards] Failed to refresh with HTML:', error);\n        throw error;\n      });\n  }\n\n  function getLowestWaitTimeFromCheckpoint(checkpoint) {\n    if (!checkpoint.lanes || checkpoint.lanes.length === 0) return null;\n\n    var times = [];\n    for (var i = 0; i < checkpoint.lanes.length; i++) {\n      var lane = checkpoint.lanes[i];\n      if (lane.wait_time && !lane.closed) {\n        times.push(lane.wait_time);\n      }\n    }\n\n    if (times.length === 0) return null;\n\n    \/\/ Sort times and return the lowest\n    times.sort(function(a, b) {\n      var aNum = parseInt(a, 10);\n      var bNum = parseInt(b, 10);\n      return aNum - bNum;\n    });\n\n    return times[0];\n  }\n\n  function updateWidgetWithData(container, data) {\n    if (!data || !data.checkpoints) {\n      console.warn('[FlyFruition TerminalCards] No checkpoint data in response');\n      return refreshWidgetWithHtml(container);\n    }\n\n    console.log('[FlyFruition TerminalCards] Updating widget with data:', data);\n\n    \/\/ Update TSA wait times for both terminals\n    var terminals = {\n      evans: {\n        match: function(cp) {\n          var title = cp.title.toLowerCase();\n          var loc = (cp.location || '').toLowerCase();\n          return title === 'evans' || loc === 'evans';\n        }\n      },\n      mcnamara: {\n        match: function(cp) {\n          var title = cp.title.toLowerCase();\n          var loc = (cp.location || '').toLowerCase();\n          return title === 'mcnamara' || loc === 'mcnamara';\n        }\n      }\n    };\n\n    var updated = false;\n    for (var terminalKey in terminals) {\n      var terminal = terminals[terminalKey];\n      var matchedCheckpoints = data.checkpoints.filter(terminal.match);\n\n      if (matchedCheckpoints.length > 0) {\n        \/\/ Find lowest wait time\n        var lowestMinutes = Infinity;\n        var lowestCheckpointName = '';\n\n        for (var i = 0; i < matchedCheckpoints.length; i++) {\n          var cp = matchedCheckpoints[i];\n          var waitTime = getLowestWaitTimeFromCheckpoint(cp);\n          if (waitTime) {\n            var mins = parseInt(waitTime, 10);\n            if (mins < lowestMinutes) {\n              lowestMinutes = mins;\n              lowestCheckpointName = cp.title || terminalKey;\n            }\n          }\n        }\n\n        if (lowestMinutes !== Infinity) {\n          console.log('[FlyFruition TerminalCards] Updating ' + terminalKey + ' to ' + lowestMinutes + ' minutes');\n          \/\/ Find the terminal card and update TSA info\n          var cards = container.querySelectorAll('.terminal-card');\n          for (var j = 0; j < cards.length; j++) {\n            var card = cards[j];\n            var cardTitle = card.querySelector('.terminal-card__title');\n            if (cardTitle && cardTitle.textContent.toLowerCase().includes(terminalKey)) {\n              \/\/ Update checkpoint name\n              var nameEl = card.querySelector('.terminal-card__tsa-name');\n              if (nameEl) {\n                nameEl.textContent = lowestCheckpointName;\n              }\n              \/\/ Update wait time number\n              var badgeNumber = card.querySelector('.terminal-card__tsa-badge-number');\n              if (badgeNumber) {\n                badgeNumber.textContent = String(lowestMinutes);\n                updated = true;\n              }\n            }\n          }\n        }\n      }\n    }\n\n    if (updated) {\n      console.log('[FlyFruition TerminalCards] TSA data updated successfully');\n    } else {\n      console.warn('[FlyFruition TerminalCards] Could not update TSA data, falling back to HTML');\n      return refreshWidgetWithHtml(container);\n    }\n  }\n\n  function initTabs(container) {\n    \/\/ Event delegation \u2014 survives innerHTML replacement\n    container.addEventListener('click', function(e) {\n      var btn = e.target.closest && e.target.closest('.tc-tab-btn');\n      if (!btn) return;\n      activeTab = btn.getAttribute('data-tab');\n      applyActiveTab(container, activeTab);\n    });\n    applyActiveTab(container, activeTab);\n  }\n\n  function initialize() {\n    var container = document.getElementById(widgetId);\n    if (container) initTabs(container);\n    console.log('[FlyFruition TerminalCards] Fetching fresh data before connecting...');\n    \/\/ First, refresh the widget with fresh data from the endpoint\n    refreshWidget()\n      .then(function() {\n        console.log('[FlyFruition TerminalCards] Fresh data loaded, now connecting to WebSocket...');\n        \/\/ Then connect to WebSocket for live updates\n        connect();\n      })\n      .catch(function(error) {\n        console.error('[FlyFruition TerminalCards] Failed to fetch initial data, connecting to WebSocket anyway...');\n        \/\/ Even if initial fetch fails, still connect to WebSocket\n        connect();\n      });\n  }\n\n  \/\/ Initialize when DOM is ready\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initialize);\n  } else {\n    initialize();\n  }\n\n  window.addEventListener('beforeunload', function() {\n    if (ws) { ws.close(); }\n  });\n})();\n<\/script>            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"blockGlobal paddingTopSM paddingBottomLG cardTabsIconFluid\" style=\"background-color:#fff;\">\n\t\t<div class=\"container\">\n\t\t\n\n<!--Option 1-->\n<div class=\"grid wysiwyg wysiwygOption1 intro\">\n\t<div class=\"col-sm-8\">\n\n\t\t\t<div class=\"maincopy light\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<h2><span class=\"titleBlue\">Plan Ahead<\/span><br \/>\nfor a Smoother Day<\/h2>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t<\/div>\n<\/div>\n\n\n<!--Option 2-->\n\n\n<!--Option 3-->\n\n\n\t\t<!-- Render Tabs Component -->\n\t\t<div class=\"tabsWrap\" data-tab-instance=\"tab_6a1fe92966296\">\n\t\t\t\n\t\t<!-- Desktop Tabs  -->\n\t\t\t\t\t<div class=\"tabNavWrapper\">\n\t\t\t\t<button class=\"scroll-btn btn-prev\" aria-label=\"Previous\"><i class=\"fa-light fa-angle-left\"><\/i><\/button>\n\t\t\t\t<div class=\"tabWrapper\">\n\n\t\t\t\t\t\t\t<button class=\"tabLink active\"\n\t\t\t\t\tonclick=\"openTabComponent(event, 'departing')\"\n\t\t\t\t\tid=\"openDefault\"\t\t\t\t\tdata-tab-id=\"departing\">\n\t\t\t\t\t<span class=\"fa-classic fa-thin fa-plane iconLeft\"><\/span>Departing\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button class=\"tabLink\"\n\t\t\t\t\tonclick=\"openTabComponent(event, 'arriving')\"\n\t\t\t\t\t\t\t\t\t\tdata-tab-id=\"arriving\">\n\t\t\t\t\t<span class=\"fa-classic fa-thin fa-plane iconLeft\"><\/span>Arriving\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button class=\"tabLink\"\n\t\t\t\t\tonclick=\"openTabComponent(event, 'connecting')\"\n\t\t\t\t\t\t\t\t\t\tdata-tab-id=\"connecting\">\n\t\t\t\t\t<span class=\"fa-classic fa-thin fa-plane iconLeft\"><\/span>Connecting\t\t\t\t<\/button>\n\t\t\t\t\t\t\t<button class=\"tabLink\"\n\t\t\t\t\tonclick=\"openTabComponent(event, 'visiting')\"\n\t\t\t\t\t\t\t\t\t\tdata-tab-id=\"visiting\">\n\t\t\t\t\t<span class=\"fa-classic fa-thin fa-plane iconLeft\"><\/span>Visiting\t\t\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<button class=\"scroll-btn btn-next\" aria-label=\"Next\"><i class=\"fa-light fa-angle-right\"><\/i><\/button>\n\t\t\t<\/div>\n\t\t\n\t\t\t\t\t<div id=\"departing\" data-tab-panel=\"departing\" class=\"tabContent tabContentWrapper\" style=\"display: block;\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Single centered column without image -->\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<div class=\"tabContentCopy maincopy\">\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-plane\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Departures<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/departures\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/departures\/\" target=\"_self\" aria-label=\"Departures\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-security\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Security Screening<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/security\/security-screening\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/security\/security-screening\/\" target=\"_self\" aria-label=\"Security Screening\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-parking\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Transportation<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/\" target=\"_self\" aria-label=\"Transportation\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-wheelchair\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Accessibility<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/accessibility-services\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/accessibility-services\/\" target=\"_self\" aria-label=\"Accessibility\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"arriving\" data-tab-panel=\"arriving\" class=\"tabContent tabContentWrapper\" style=\"display: none;\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Single centered column without image -->\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<div class=\"tabContentCopy maincopy\">\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-plane-2\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Arrivals<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/arrivals\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/arrivals\/\" target=\"_self\" aria-label=\"Arrivals\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-bag\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Baggage<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/baggage\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/baggage\/\" target=\"_self\" aria-label=\"Baggage\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-parking\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Parking<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/parking\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/parking\/\" target=\"_self\" aria-label=\"Parking\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-wheelchair\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Wheelchairs<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/wheelchairs\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/wheelchairs\/\" target=\"_self\" aria-label=\"Wheelchairs\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"connecting\" data-tab-panel=\"connecting\" class=\"tabContent tabContentWrapper\" style=\"display: none;\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Single centered column without image -->\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<div class=\"tabContentCopy maincopy\">\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-navigation\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Connecting<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/connecting\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/connecting\/\" target=\"_self\" aria-label=\"Connecting\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-security\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Security Screening<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/security\/security-screening\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/security\/security-screening\/\" target=\"_self\" aria-label=\"Security Screening\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-dine\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Dine and Shop<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/dine-and-shop\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/dine-and-shop\/\" target=\"_self\" aria-label=\"Dine and Shop\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-wifi\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Wifi and Charging<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/wifi-and-charging\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/wifi-and-charging\/\" target=\"_self\" aria-label=\"Wifi and Charging\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"visiting\" data-tab-panel=\"visiting\" class=\"tabContent tabContentWrapper\" style=\"display: none;\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Single centered column without image -->\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t<div class=\"tabContentCopy maincopy\">\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-dine\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Dine and Shop<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/dine-and-shop\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/dine-and-shop\/\" target=\"_self\" aria-label=\"Dine and Shop\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-ticket\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Destination Pass<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/destination-pass\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/destination-pass\/\" target=\"_self\" aria-label=\"Destination Pass\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-parking\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Parking<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/parking\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/parking-and-transportation\/parking\/\" target=\"_self\" aria-label=\"Parking\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-6 col-md-3\">\n\t\t\t\t\t\t\n<div class=\"cardIcon boxed center\">\n\t\n<div class=\"iconWrapper iconGhost large\">\n\t<span class=\"fa-kit fa-custom fa-location\"><\/span>\n<\/div>\n\t<h2 class=\"h4\">Services<\/h2>\n\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn More<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t<a class=\"linkOverlay\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/services\/\" target=\"_self\" aria-label=\"Services\"><\/a>\n\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\n\t<!-- URL Hash Navigation Script -->\n\t<script type=\"text\/javascript\">\n\t\t\/* <![CDATA[ *\/\n\t\tconsole.log('[Tab Hash Nav] Script loaded for instance: tab_6a1fe92966296');\n\t\t(function() {\n\t\t\t'use strict';\n\t\t\tvar instanceId = 'tab_6a1fe92966296';\n\n\t\t\tfunction activateTabByHash() {\n\t\t\t\tvar hash = window.location.hash.substring(1); \/\/ Remove the # character\n\t\t\t\tconsole.log('[Tab Hash Nav] Instance:', instanceId, 'Hash:', hash);\n\t\t\t\tif (!hash) {\n\t\t\t\t\tconsole.log('[Tab Hash Nav] No hash found, skipping');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tvar tabsContainer = document.querySelector('.tabsWrap[data-tab-instance=\"' + instanceId + '\"]');\n\t\t\t\tconsole.log('[Tab Hash Nav] Container found:', !!tabsContainer);\n\t\t\t\tif (!tabsContainer) return false;\n\n\t\t\t\t\/\/ Check if this hash corresponds to a tab in this instance\n\t\t\t\tvar targetTab = tabsContainer.querySelector('#' + CSS.escape(hash));\n\t\t\t\tconsole.log('[Tab Hash Nav] Target tab found:', !!targetTab, 'Is tabContent:', targetTab ? targetTab.classList.contains('tabContent') : false);\n\t\t\t\tif (!targetTab || !targetTab.classList.contains('tabContent')) {\n\t\t\t\t\tconsole.log('[Tab Hash Nav] Tab not found in this instance, skipping');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconsole.log('[Tab Hash Nav] Activating tab:', hash);\n\n\t\t\t\t\/\/ Hide all tab contents\n\t\t\t\tvar allTabs = tabsContainer.querySelectorAll('.tabContent');\n\t\t\t\tallTabs.forEach(function(content) {\n\t\t\t\t\tcontent.style.display = 'none';\n\t\t\t\t});\n\n\t\t\t\t\/\/ Remove active class from all buttons\n\t\t\t\tvar allButtons = tabsContainer.querySelectorAll('.tabLink');\n\t\t\t\tallButtons.forEach(function(button) {\n\t\t\t\t\tbutton.classList.remove('active');\n\t\t\t\t});\n\n\t\t\t\t\/\/ Show the target tab\n\t\t\t\ttargetTab.style.display = 'block';\n\n\t\t\t\t\/\/ Add active class to corresponding button\n\t\t\t\tvar targetButton = tabsContainer.querySelector('[data-tab-id=\"' + hash + '\"]');\n\t\t\t\tif (targetButton) {\n\t\t\t\t\ttargetButton.classList.add('active');\n\t\t\t\t}\n\n\t\t\t\t\/\/ Update dropdown if mobile dropdown is enabled\n\t\t\t\tvar selectElement = tabsContainer.querySelector('.tabsDropdown select');\n\t\t\t\tif (selectElement) {\n\t\t\t\t\tselectElement.value = hash;\n\t\t\t\t\tvar selectId = selectElement.id;\n\t\t\t\t\t\/\/ Update Choices.js if it exists\n\t\t\t\t\tif (typeof window[selectId] !== 'undefined') {\n\t\t\t\t\t\tif (window[selectId]) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\twindow[selectId].setChoiceByValue(hash);\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\/\/ Choices.js not ready or doesn't support this method\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\/\/ Reinitialize Slick sliders in the newly visible tab\n\t\t\t\tif (typeof jQuery !== 'undefined') {\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tvar slickSliders = targetTab.querySelectorAll('.slick-slider');\n\t\t\t\t\t\tslickSliders.forEach(function(slider) {\n\t\t\t\t\t\t\tvar $slider = jQuery(slider);\n\t\t\t\t\t\t\tif ($slider.hasClass('slick-initialized')) {\n\t\t\t\t\t\t\t\t$slider.slick('setPosition');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t\/\/ Activate tab on page load if hash is present\n\t\t\tif (document.readyState === 'loading') {\n\t\t\t\tdocument.addEventListener('DOMContentLoaded', function() {\n\t\t\t\t\tsetTimeout(activateTabByHash, 100);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsetTimeout(activateTabByHash, 100);\n\t\t\t}\n\n\t\t\t\/\/ Listen for hash changes (e.g., browser back\/forward buttons)\n\t\t\twindow.addEventListener('hashchange', activateTabByHash);\n\t\t})();\n\t\t\/* ]]> *\/\n\t<\/script>\n<\/div>\n\t<\/div>\n<\/div>\n\n\n<div class=\"blockGlobal blueDarkblueDarkMedium paddingTopLG paddingBottomLG cardImageFluid topLeftRadius topRightRadius\">\n\t\t<div class=\"container\">\n\t\t<div class=\"cardImagelWrap dark\">\n\t\t\t\n\n<!--Option 1-->\n\n\n<!--Option 2-->\n\n\n<!--Option 3-->\n<div class=\"grid wysiwyg wysiwygOption3 intro\">\n\t<div class=\"col-sm-6 mediaLeft\">\n\t\t<div class=\"maincopy dark\">\n\t\t\t\t\t\t\t<h2 class=\"h2 titleBlue\">What\u2019s Happening\u2028at Detroit Metro Airport<\/h2>\n\t\t\t\t\t<\/div>\n\t<\/div>\n\t<div class=\"col-sm-6 mediaRight\">\n\t\t\t<div class=\"maincopy dark\">\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\t<\/div>\n<\/div>\n\n\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cardImageSlider\" data-items-to-show=\"3\">\n\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-08.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-09.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-10.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-11.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-11.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid  \">\n\t\t\t\t\t\t\n<div class=\"cardImage contained\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 16 \/ 9;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-11.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Announcement<\/h2>\n\t\t<p>Lorem ipsum dolor sit amet consectetur. Ipsum maecenas dolor eu proin iaculis vitae in sed. Amet nullam molestie integer leo nisi. Natoque a massa in dictumst cursus lectus ligula consectetur.\u00a0 maecenas nisi ut auctor malesuada sed.<\/p>\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\">\n\n\t\n\t<span class=\"linksTitle\">View Details<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/headline_posts\/news-test-page\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Announcement\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"arrowContainer\">\n\t\t\t\t\t<button class=\"prev\" aria-label=\"Previous slide\"><span class=\"fa-light fa-arrow-left\" aria-hidden=\"true\"><\/span><\/button>\n\t\t\t\t\t<button class=\"next\" aria-label=\"Next slide\"><span class=\"fa-light fa-arrow-right\" aria-hidden=\"true\"><\/span><\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<div class=\"blockGlobal paddingTopLG paddingBottomLG noRadius\" style=\"background-color:#F3F7FC;\">\n\t\t<div class=\"container\">\n\t\t  \n\n<!--Option 1-->\n<div class=\"grid wysiwyg wysiwygOption1 intro\">\n\t<div class=\"col-sm-8\">\n\n\t\t\t<div class=\"maincopy light\">\n\t\t\t\t\t\t\t\t\t<h2 class=\"h2 \">Evans and McNamara Terminals<\/h2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>There is no post-security connection between the two terminals. You must enter the terminal your airline uses and clear security there.<\/p>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<a\nhref=\"https:\/\/maps.metroairport.com\/?lang=en&#038;s=eyJvbmxpbmUvaGVhZGVyT25saW5lIjp7InNlYXJjaCI6InJlc3Ryb29tIiwiaXNTZWFyY2hDb25maXJtZWQiOnRydWV9LCJtYXBSZW5kZXJlciI6eyJ2cCI6eyJsYXQiOjQyLjIxNjA1NiwibG5nIjotODMuMzU0NTQ0LCJ6b29tIjoxNC4wODY1NDYsImJlYXJpbmciOjAsInBpdGNoIjowfSwib3JkIjoyfX0%3D\"\nclass=\"primaryButton light\"\ntitle=\"View Maps\" target=\"_blank\" rel=\"noopener noreferrer\">\nView Maps<span class=\"fa-light fa-arrow-up-right-from-square\"><\/span>\n<\/a>\n\t\t\t\n\t\t\t\t\t\t\t<a\nhref=\"https:\/\/wcaa.preprod.fruitionqa.com\/parking-and-transportation\/directions\/\"\nclass=\"primaryButton outlined light\"\ntitle=\"Directions to DTW\">\nDirections to DTW<\/a>\n\t\t\t\n\t\t\t\n\t<\/div>\n<\/div>\n\n\n<!--Option 2-->\n\n\n<!--Option 3-->\n\n\n\t\t\t\t\t<div class=\"grid justify-center\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-md-5\">\n\t\t\t\t\t\t\n<div class=\"cardImageTerminal\">\n\t\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2026\/01\/arriving-02.webp\" \n\t\talt=\"Evans Terminal\" \n\t\tclass=\"aspectRatio radiusImage primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n\n\t<div class=\"cardImageTerminalBody\">\n\t\t<h2 class=\"h4 cardImageTerminalTitle\">Evans Terminal<\/h2>\n\t\t\n\t\t\t\t\t<div class=\"cardImageTerminalCopy\">\n\t\t\t<p>Evans Terminal serves all non-Delta airlines. This terminal is connected to the Big Blue Deck, with family-friendly amenities like nursing rooms and pet relief areas.<\/p>\n<p><strong>Quick Facts<\/strong><\/p>\n<ul>\n<li>1 Concourse (D)<\/li>\n<li>26 Gates<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t\n\t\t\t\t\t<div class=\"tagsGroup\">\n\t\t\t\n<div class=\"tag tertiary\">\n\t\tAir Canada<\/div>\n\n<div class=\"tag tertiary\">\n\t\tAmerican<\/div>\n\n<div class=\"tag tertiary\">\n\t\tFrontier<\/div>\n\n<div class=\"tag tertiary\">\n\t\tSouthwest<\/div>\n\n<div class=\"tag tertiary\">\n\t\tUnited<\/div>\n\n<div class=\"tag tertiary\">\n\t\tVolaris<\/div>\n\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_blank\" rel=\"noopener noreferrer\"  href=\"https:\/\/maps.metroairport.com\/?poiId=713\">\n\n\t\n\t<span class=\"linksTitle\">Open Interactive Terminal Map<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-up-right-from-square iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-md-5\">\n\t\t\t\t\t\t\n<div class=\"cardImageTerminal\">\n\t\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"\" \n\t\talt=\"McNamara Terminal\" \n\t\tclass=\"aspectRatio radiusImage primaryImage\" \n\t\tstyle=\"aspect-ratio: 16 \/ 9;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n\n\t<div class=\"cardImageTerminalBody\">\n\t\t<h2 class=\"h4 cardImageTerminalTitle\">McNamara Terminal<\/h2>\n\t\t\n\t\t\t\t\t<div class=\"cardImageTerminalCopy\">\n\t\t\t<p>McNamara Terminal serves Delta Air Lines, along with Aeromexico, Air France, and WestJet. The terminal connects to McNamara Parking Deck, with an indoor tram, expanded dining\/shopping, and Delta Sky Club lounges.<\/p>\n<p><strong>Quick Facts<\/strong><\/p>\n<ul>\n<li>3 Concourses (A,B,C)<\/li>\n<li>121 Gates<\/li>\n<\/ul>\n\t\t\t<\/div>\n\t\t\n\t\t\t\t\t<div class=\"tagsGroup\">\n\t\t\t\n<div class=\"tag tertiary\">\n\t\tAeromexico<\/div>\n\n<div class=\"tag tertiary\">\n\t\tAir France<\/div>\n\n<div class=\"tag tertiary\">\n\t\tDelta<\/div>\n\n<div class=\"tag tertiary\">\n\t\tWestJet<\/div>\n\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\n<a class=\"links medium light \" target=\"_blank\" rel=\"noopener noreferrer\"  href=\"https:\/\/maps.metroairport.com\/?poiId=712\">\n\n\t\n\t<span class=\"linksTitle\">Open Interactive Terminal Map<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-up-right-from-square iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\n\t<\/div>\n<\/div>\n\n\n<div class=\"blockGlobal blueMediumBlueMediumLight paddingTopLG paddingBottomLG cardImageFluid cardsLightText topLeftRadius topRightRadius\">\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/themes\/wcaa\/images\/GraphicSwoop.svg\" class=\"graphicSwoopSingle\" alt=\"\">\t<div class=\"container\">\n\t\t<div class=\"cardImagelWrap dark\">\n\t\t\t\n\n<!--Option 1-->\n<div class=\"grid wysiwyg wysiwygOption1 intro\">\n\t<div class=\"col-sm-8\">\n\n\t\t\t<div class=\"maincopy dark\">\n\t\t\t\t\t\t\t\t\t<h2 class=\"h2 titleWhite\">Everything You Need, Right Here<\/h2>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Whether you have time to spare or just need a quick bite, DTW offers a variety of dining, shopping, and relaxing spaces in both terminals. From national favorites to local flavors, duty-free deals to quiet corners, there\u2019s something for every traveler between takeoff and touchdown.<\/p>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t<\/div>\n<\/div>\n\n\n<!--Option 2-->\n\n\n<!--Option 3-->\n\n\n\t\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\n\t\t\t\t\t\t\t\t<div class=\"col-grid col-md-4 col-sm-6 \">\n\t\t\t\t\t\t\n<div class=\"cardImage ghost\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 3 \/ 2;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-03.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio radiusImage primaryImage\" \n\t\tstyle=\"aspect-ratio: 3 \/ 2;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Dining Options<\/h2>\n\t\t\t\t\t\t\t\n<a class=\"links medium light add-margin-top\" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/dine-and-shop\/\">\n\n\t\n\t<span class=\"linksTitle\">View Dine and Shop Options<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/dine-and-shop\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Dining Options\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid col-md-4 col-sm-6 \">\n\t\t\t\t\t\t\n<div class=\"cardImage ghost\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 3 \/ 2;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-04.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio radiusImage primaryImage\" \n\t\tstyle=\"aspect-ratio: 3 \/ 2;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Evans Terminal<\/h2>\n\t\t\t\t\t\t\t\n<a class=\"links medium light add-margin-top\" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/maps.metroairport.com\/?poiId=87\">\n\n\t\n\t<span class=\"linksTitle\">View Interactive Terminal Maps<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/maps.metroairport.com\/?poiId=87\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Evans Terminal\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"col-grid col-md-4 col-sm-6 \">\n\t\t\t\t\t\t\n<div class=\"cardImage ghost\">\n\t<div class=\"imageZoomWrap\" style=\"aspect-ratio: 3 \/ 2;\">\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-05.webp\" \n\t\talt=\"\" \n\t\tclass=\"aspectRatio radiusImage primaryImage\" \n\t\tstyle=\"aspect-ratio: 3 \/ 2;\" \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n<!-- This style is only needed for the first example with aspectRatio -->\n<style>\n\t.aspectRatio:not([style*=\"aspect-ratio\"]) {\n\t\taspect-ratio: 21 \/ 5;\n\t}\n<\/style>\n<\/div>            \n\t<div class=\"cardImageBody\">\n\t\t<h2 class=\"h4\">Rest before you Fly<\/h2>\n\t\t\t\t\t\t\t\n<a class=\"links medium light add-margin-top\" target=\"_self\" rel=\"noopener noreferrer\"  href=\"https:\/\/wcaa.preprod.fruitionqa.com\/services\/\">\n\n\t\n\t<span class=\"linksTitle\">Learn About Airport Services<\/span>\n    \n\t\t<span class=\"fa-light fa-arrow-right iconRight\"><\/span>\n\t<\/a>\n\t\t\t<\/div>\n\n\t\t\t<a href=\"https:\/\/wcaa.preprod.fruitionqa.com\/services\/\" class=\"linkOverlay\" target=\"_self\" aria-label=\"Rest before you Fly\"><\/a>\n\t\t\n\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n\n<div class=\"paddingTopMD paddingBottomMD calloutBannerWrapper\">\n\t<div class=\"container\">\n\t\t<div class=\"blockGlobal blueDark paddingTopXS paddingBottomNone calloutBannerFluid\">\n\t\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-md-6 mediaLeft\">\n\t\t\t\t\t\t\n\n<div class=\"wysiwyg\">\n\t<div class=\"maincopy dark\">\n\n\t\t\n\t\t\t\t\t\t\t\t\t<h2 class=\"h2 titleWhite\">Careers at DTW<\/h2>\n\t\t\t\t\t\t\t\t\t\t<p>Join the team that keeps Detroit moving. Explore job openings in operations, customer service, skilled trades, and more \u2014 and help shape the future of air travel.<\/p>\n\t\t\t<\/div>\n\n\t\n\t\t\t<a\nhref=\"https:\/\/wcaa.preprod.fruitionqa.com\/about-dtw\/\"\nclass=\"primaryButton dark\"\ntitle=\"Learn More\">\nLearn More<\/a>\n\t\n\t\t\t<a\nhref=\"https:\/\/wcaa.preprod.fruitionqa.com\/careers\/\"\nclass=\"primaryButton outlined dark\"\ntitle=\"View Open Roles\">\nView Open Roles<\/a>\n\t\n\t<\/div>\n\t\t\t\t\t<\/div>\t\n\t\t\t\t\t<div class=\"col-md-6 mediaRight\">\n\t\t\t\t\t\n<div class=\"primaryImageWrap\">\n\n\t\n\t\n\t<img decoding=\"async\" src=\"https:\/\/wcaa.preprod.fruitionqa.com\/wp-content\/uploads\/2025\/12\/homepage-06.webp\" \n\t\talt=\"\" \n\t\tclass=\"flex-img radiusImage primaryImage\" \n\t\t \/>\n\n\t\n\t\n\t\n<\/div>\n\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t\n<\/div>\n\n\n\n\n\n\n\n\t<div class=\"blockGlobal paddingTopNone paddingBottomLG container calloutBannerMiniContainer \" style=\"background-color:#fff;\">\n\t\t\n\t\t<div class=\"innerContent\"  style=\"background-color: #E6F4FA;\" >\n\t\t\t<div class=\"maincopy light\">\n\t\t\t\t\t\t\t\t\t<h2 class=\"h4\">Need assistance?<\/h2>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"buttonGroup\">\t\t\t\n\t\t\t\t\t\t\t\t\t<a\nhref=\"https:\/\/wcaa.preprod.fruitionqa.com\/airlines\/\"\nclass=\"primaryButton light\"\ntitle=\"Contact Your Airline\">\nContact Your Airline<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a\nhref=\"https:\/\/wcaa.preprod.fruitionqa.com\/about-dtw\/contact\/\"\nclass=\"primaryButton outlined light\"\ntitle=\"DTW Customer Service\">\nDTW Customer Service<\/a>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\n\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Detroit Metro Airport connects 30M+ travelers yearly with world-class terminals, real-time flight info, parking updates, and seamless travel resources.<\/p>","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Homepage - WCAA<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Homepage - WCAA\" \/>\n<meta property=\"og:description\" content=\"Detroit Metro Airport connects 30M+ travelers yearly with world-class terminals, real-time flight info, parking updates, and seamless travel resources.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/\" \/>\n<meta property=\"og:site_name\" content=\"WCAA\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-20T00:54:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wcaa.preprod.fruitionqa.com\/\",\"url\":\"https:\/\/wcaa.preprod.fruitionqa.com\/\",\"name\":\"Homepage - WCAA\",\"isPartOf\":{\"@id\":\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/#website\"},\"datePublished\":\"2025-11-17T22:20:15+00:00\",\"dateModified\":\"2026-03-20T00:54:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wcaa.preprod.fruitionqa.com\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wcaa.preprod.fruitionqa.com\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wcaa.preprod.fruitionqa.com\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wcaa.preprod.fruitionqa.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Homepage\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/#website\",\"url\":\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/\",\"name\":\"WCAA\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Homepage - WCAA","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/","og_locale":"ko_KR","og_type":"article","og_title":"Homepage - WCAA","og_description":"Detroit Metro Airport connects 30M+ travelers yearly with world-class terminals, real-time flight info, parking updates, and seamless travel resources.","og_url":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/","og_site_name":"WCAA","article_modified_time":"2026-03-20T00:54:15+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wcaa.preprod.fruitionqa.com\/","url":"https:\/\/wcaa.preprod.fruitionqa.com\/","name":"Homepage - WCAA","isPartOf":{"@id":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/#website"},"datePublished":"2025-11-17T22:20:15+00:00","dateModified":"2026-03-20T00:54:15+00:00","breadcrumb":{"@id":"https:\/\/wcaa.preprod.fruitionqa.com\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wcaa.preprod.fruitionqa.com\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wcaa.preprod.fruitionqa.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wcaa.preprod.fruitionqa.com\/"},{"@type":"ListItem","position":2,"name":"Homepage"}]},{"@type":"WebSite","@id":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/#website","url":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/","name":"WCAA","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"}]}},"_links":{"self":[{"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":49,"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":5109,"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/pages\/9\/revisions\/5109"}],"wp:attachment":[{"href":"https:\/\/wcaa.preprod.fruitionqa.com\/ko\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}