Press & Media Accreditation | Apply Now — The Bureau Fashion Week
Press Credentials
ALL CITIES · APPLY NOW
APPLY
Press & Media

The Bureau Fashion Week PRESS & MEDIA ACCREDITATION

Apply for credentials across all Bureau Fashion Week cities

SCROLL

The Bureau Fashion Week produces fashion weeks across 8 cities worldwide, including Los Angeles Fashion Week, Miami Fashion Week, Dallas Fashion Week, and New York Fashion Week. Each season features curated runway shows from emerging and established designers, immersive experiences, and industry networking.

Press and media accreditation is complimentary for qualified journalists, photographers, videographers, and digital creators. Applications are reviewed within 48 hours and approved members receive access to a personal RSVP portal where they can select shows, receive QR codes for check-in, and coordinate backstage access with on-site media liaisons.

Whether you cover fashion for a major publication, produce content for digital platforms, or document the industry through photography and video, Bureau Fashion Week credentials give you the access you need to tell the story.

Credentials

What Your Fashion Week Press Pass Includes

All-Access Entry
Full venue access across all show days with priority check-in at the press desk
Photo Pit Access
Designated runway-side media positions for professional photography and videography
Press Kit
Digital press kit with event fact sheets, official logos, venue photos, and designer bios
Backstage Coordination
On-site media liaison for backstage access scheduling and designer interviews
RSVP Portal
Personal portal to select shows, manage RSVPs, and receive QR codes for check-in
As Seen In

Bureau Fashion Week in the Press

Bureau Fashion Week has been featured in leading fashion and culture publications worldwide.

Press Credentials

Ready to Cover Fashion Week?

Select your event and apply for credentials below

Apply Now
Accreditation

Apply for Fashion Week Press Credentials

Please select an event.
Please enter your first name.
Please enter your last name.
Please enter a valid email address.
Please select a category.
Please enter your outlet or publication name.
Please select your role.
200+ Media Accredited Annually 8 Cities Worldwide 48hr Response

Complimentary credentials. Applications reviewed within 48 hours.

By submitting, you agree to our Privacy Policy .

Application Received

Thank you for applying. We will review your credentials and respond within 48 hours.

Questions

Press Accreditation FAQ

We accredit working journalists, photographers, videographers, and established digital creators covering fashion, lifestyle, or culture. Applicants should have a current assignment, active publication, or significant following relevant to fashion week coverage.
Press credentials include access to designated media positions for runway photography and general venue access. Reserved seating is not included with standard press credentials — media representatives are positioned in the designated press area.
Each team member must apply individually for credentials. When applying, note your team members in the story angle field and we'll coordinate your credentials together.
Published content should credit the specific event and The Bureau Fashion Week. Content may be used for editorial purposes. Commercial usage (advertising, brand partnerships) requires separate approval — contact info@thebureaufashionweek.com .
Applications are reviewed within 48 hours. You'll receive an email with your approval status and next steps to RSVP for specific shows through your personal portal.
Yes. Select the event you'd like to cover from the dropdown. If you'd like credentials for multiple cities, submit a separate application for each event.
Yes. Press and media accreditation for The Bureau Fashion Week is complimentary for qualified media professionals. There is no fee to apply or to receive credentials. Approved applicants receive full access to shows, the press area, and digital press kits at no cost.
Submit an application through this page with your name, outlet, role, and a brief description of your planned coverage. Applications are reviewed within 48 hours. Once approved, you'll receive an email with a link to your personal RSVP portal where you can select shows and receive your digital press credentials.
Bring your camera equipment (DSLR and mirrorless cameras are permitted; tripods in designated areas only; monopods are allowed runway-side), a laptop or mobile device for filing, and a valid photo ID matching your credential application. Your digital press pass with QR code will be on your phone. No flash photography is permitted during runway shows.
On-Site Protocol

Fashion Week Media Guidelines

  • Runway

    All looks may be photographed and filmed from designated media positions. No flash.

  • Backstage

    Accessible with backstage media credentials. Coordinate with media liaison on-site.

  • Red Carpet / Venue

    Open for photography throughout the event.

  • Equipment

    DSLR and mirrorless cameras permitted. Tripods in designated areas only. Monopods permitted runway-side.

  • Content Embargo

    None for general coverage. Designer-specific embargoes will be communicated individually.

  • Credit

    All published media must credit the specific event name and The Bureau Fashion Week.

Ready to Apply?

Select your event and secure your press credentials

Apply for Credentials

Not press? Tickets are open to everyone.

View Upcoming Events
[cs_element_section _id=”1″ ][cs_element_layout_row _id=”2″ ][cs_element_layout_column _id=”3″ ][cs_element_image _id=”4″ ][cs_element_gap _id=”5″ ][cs_element_raw_content _id=”6″ ][/cs_element_layout_column][/cs_element_layout_row][/cs_element_section][cs_element_section _id=”7″ ][cs_element_layout_row _id=”8″ ][cs_element_layout_column _id=”9″ ][cs_element_text _id=”10″ ][cs_element_gap _id=”11″ ][cs_element_raw_content _id=”12″ ][/cs_element_layout_column][/cs_element_layout_row][/cs_element_section][cs_element_section _id=”13″ ][cs_element_layout_row _id=”14″ ][cs_element_layout_column _id=”15″ ][cs_element_raw_content _id=”16″ ]Press & Media Accreditation | Apply Now — The Bureau Fashion Week

{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [
{“@type”:”Question”,”name”:”Who qualifies for Bureau Fashion Week press credentials?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”We accredit working journalists, photographers, videographers, and established digital creators covering fashion, lifestyle, or culture. Applicants should have a current assignment, active publication, or significant following relevant to fashion week coverage.”}},
{“@type”:”Question”,”name”:”Does press accreditation include seating?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Press credentials include access to designated media positions for runway photography and general venue access. Reserved seating is not included with standard press credentials — media representatives are positioned in the designated press area.”}},
{“@type”:”Question”,”name”:”Can I bring a photographer or crew?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Each team member must apply individually for credentials. When applying, note your team members in the story angle field and we’ll coordinate your credentials together.”}},
{“@type”:”Question”,”name”:”What is the content usage policy?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Published content should credit the specific fashion week event and The Bureau Fashion Week. Content may be used for editorial purposes. Commercial usage requires separate approval.”}},
{“@type”:”Question”,”name”:”How long does the review process take?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Applications are reviewed within 48 hours. You’ll receive an email with your approval status and next steps to RSVP for specific shows through your personal portal.”}},
{“@type”:”Question”,”name”:”Can I apply for multiple events?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Yes. Select the event you’d like to cover from the dropdown. If you’d like credentials for multiple cities, submit a separate application for each event.”}},
{“@type”:”Question”,”name”:”Is fashion week press accreditation free?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Yes. Press and media accreditation for The Bureau Fashion Week is complimentary for qualified media professionals. There is no fee to apply or to receive credentials. Approved applicants receive full access to shows, the press area, and digital press kits at no cost.”}},
{“@type”:”Question”,”name”:”How do I get a fashion week press pass?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Submit an application through this page with your name, outlet, role, and a brief description of your planned coverage. Applications are reviewed within 48 hours. Once approved, you’ll receive an email with a link to your personal RSVP portal where you can select shows and receive your digital press credentials.”}},
{“@type”:”Question”,”name”:”What should I bring to cover fashion week?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Bring your camera equipment (DSLR and mirrorless cameras are permitted; tripods in designated areas only; monopods are allowed runway-side), a laptop or mobile device for filing, and a valid photo ID matching your credential application. Your digital press pass with QR code will be on your phone. No flash photography is permitted during runway shows.”}}
] }

{
“@context”: “https://schema.org”,
“@type”: “Organization”,
“name”: “The Bureau Fashion Week”,
“url”: “https://thebureaufashionweek.com”,
“logo”: “https://thebureaufashionweek.com/wp-content/uploads/bureau-fashion-week-logo.png”,
“description”: “The Bureau Fashion Week produces fashion weeks across 8 cities worldwide, including Los Angeles Fashion Week, Miami Fashion Week, Dallas Fashion Week, and New York Fashion Week, featuring runway shows, emerging designers, and premium experiences.”,
“contactPoint”: {
“@type”: “ContactPoint”,
“email”: “info@thebureaufashionweek.com”,
“contactType”: “media inquiries”
},
“sameAs”: [
“https://www.instagram.com/thebureaufashionweek/”,
“https://www.tiktok.com/@thebureaufashionweek”,
“https://www.facebook.com/thebureaufashionweek”,
“https://twitter.com/thaborofw”
] }

{
“@context”: “https://schema.org”,
“@type”: “WebPage”,
“name”: “Press & Media Accreditation”,
“description”: “Apply for free press and media credentials for The Bureau Fashion Week across all cities. 48-hour review for journalists, photographers, videographers, and digital creators.”,
“url”: “https://thebureaufashionweek.com/press-fashion-week-registration/”,
“isPartOf”: {
“@type”: “WebSite”,
“name”: “The Bureau Fashion Week”,
“url”: “https://thebureaufashionweek.com”
},
“breadcrumb”: {
“@type”: “BreadcrumbList”,
“itemListElement”: [
{“@type”: “ListItem”, “position”: 1, “name”: “Home”, “item”: “https://thebureaufashionweek.com/”},
{“@type”: “ListItem”, “position”: 2, “name”: “Press & Media Accreditation”, “item”: “https://thebureaufashionweek.com/press-fashion-week-registration/”}
] }
}

/* ============================================
ROOT & RESET
============================================ */
:root {
–black: #000000;
–white: #ffffff;
–cream: #f8f6f1;
–gold: #b8956e;
–gold-light: #c9a67f;
–silver: #c4c4c4;
–charcoal: #1a1a1a;
–smoke: #2a2a2a;
–urgency: #e8a87c;
–font-display: ‘Bebas Neue’, sans-serif;
–font-serif: ‘Playfair Display’, Georgia, serif;
–font-mono: ‘Space Mono’, monospace;
–ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
}

*, * ::before, * ::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

html {
scroll-behavior: smooth;
font-size: 16px;
}

body {
font-family: var(–font-mono);
background: var(–black);
color: var(–white);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}

::selection {
background: var(–gold);
color: var(–black);
}

a {
color: inherit;
text-decoration: none;
}

img {
max-width: 100%;
display: block;
}

h1, h2, h3, h4, h5, h6 {
color: var(–white) !important;
}

.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

.skip-link {
position: absolute;
top: -100%;
left: 16px;
z-index: 10000;
padding: 12px 24px;
background: var(–gold);
color: var(–black);
font-family: var(–font-mono);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}

.skip-link:focus {
top: 16px;
}/* Typography */

.display-huge {
font-family: var(–font-display);
font-size: clamp(48px, 11vw, 180px);
line-height: 0.85;
letter-spacing: -0.02em;
text-transform: uppercase;
}

.display-large {
font-family: var(–font-display);
font-size: clamp(32px, 7vw, 100px);
line-height: 0.9;
letter-spacing: -0.01em;
text-transform: uppercase;
}

.display-medium {
font-family: var(–font-display);
font-size: clamp(32px, 6vw, 72px);
line-height: 0.95;
text-transform: uppercase;
}

.serif-large {
font-family: var(–font-serif);
font-size: clamp(24px, 3vw, 42px);
font-weight: 400;
line-height: 1.3;
font-style: italic;
}

.serif-medium {
font-family: var(–font-serif);
font-size: clamp(18px, 2vw, 24px);
font-weight: 400;
line-height: 1.5;
}

.mono-small {
font-family: var(–font-mono);
font-size: 11px;
letter-spacing: 0.15em;
text-transform: uppercase;
}

.mono-tiny {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
}/* Noise */

.noise {
position: fixed;
inset: 0;
pointer-events: none !important;
z-index: 9999;
opacity: 0.035;
background-image: url(“data:image/svg+xml,%3Csvg viewBox=’0 0 256 256′ xmlns=’http://www.w3.org/2000/svg’%3E%3Cfilter id=’noise’%3E%3CfeTurbulence type=’fractalNoise’ baseFrequency=’0.9′ numOctaves=’4′ stitchTiles=’stitch’/%3E%3C/filter%3E%3Crect width=’100%25′ height=’100%25′ filter=’url(%23noise)’/%3E%3C/svg%3E”);
}

@media (max-width: 900px) {
.noise {
display: none;
}
}/* Animations */

@keyframes slideUp {
to {
transform: translateY(0);
}
}

@keyframes fadeIn {
to {
opacity: 1;
}
}

@keyframes fadeSlide {
from {
opacity: 0;
transform: translateY(20px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes pulse {
0%, 100% {
opacity: 1;
}

50% {
opacity: 0.3;
}
}/* Scroll Reveal */

.reveal {
opacity: 0;
transform: translateY(40px);
transition: opacity 0.8s var(–ease-out-expo), transform 0.8s var(–ease-out-expo);
}

.reveal.revealed {
opacity: 1;
transform: translateY(0);
}/* ============================================
STICKY BAR (Top, Desktop Only)
============================================ */

.sticky-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 9998;
background: rgba(0, 0, 0, 0.92);
backdrop-filter: blur(20px);
padding: 20px 48px;
transform: translateY(-100%);
opacity: 0;
transition: all 0.5s var(–ease-out-expo);
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sticky-bar.visible {
transform: translateY(0);
opacity: 1;
}

.sticky-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}

.sticky-logo {
font-family: var(–font-display);
font-size: 24px;
letter-spacing: 0.3em;
}

.sticky-email {
font-family: var(–font-mono);
font-size: 11px;
letter-spacing: 0.05em;
color: var(–silver);
transition: color 0.3s;
}

.sticky-email:hover {
color: var(–gold);
}

.sticky-cta {
position: relative;
display: inline-flex;
align-items: center;
gap: 16px;
padding: 16px 40px;
background: var(–white);
color: var(–black);
font-family: var(–font-mono);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
overflow: hidden;
transition: all 0.4s var(–ease-out-expo);
}

.sticky-cta::before {
content: ”;
position: absolute;
inset: 0;
background: var(–gold);
transform: translateX(-101%);
transition: transform 0.4s var(–ease-out-expo);
}

.sticky-cta:hover::before {
transform: translateX(0);
}

.sticky-cta span {
position: relative;
z-index: 1;
}

@media (max-width: 900px) {
.sticky-bar {
display: none;
}
}/* Mobile CTA */

.mobile-cta {
display: none !important;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 99999;
background: var(–black);
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding: 16px 24px;
padding-bottom: max(16px, env(safe-area-inset-bottom));
}

.mobile-cta-inner {
display: flex;
gap: 20px;
align-items: center;
}

.mobile-cta-info {
flex: 1;
}

.mobile-cta-label {
font-family: var(–font-display);
font-size: 20px;
letter-spacing: 0.1em;
text-transform: uppercase;
line-height: 1;
}

.mobile-cta-btn {
background: var(–white);
color: var(–black);
text-align: center;
padding: 14px 20px;
font-family: var(–font-mono);
font-weight: 700;
font-size: 10px;
letter-spacing: 0.15em;
text-transform: uppercase;
}

@media (max-width: 900px) {
.mobile-cta {
display: block !important;
transform: translateY(100%);
transition: transform 0.4s ease;
}

.mobile-cta.visible {
transform: translateY(0) !important;
}

body {
padding-bottom: 100px;
}
}/* ============================================
HERO
============================================ */

.hero {
position: relative;
min-height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}

.hero__bg {
position: absolute;
inset: 0;
z-index: 0;
background: linear-gradient(135deg, var(–charcoal) 0%, var(–black) 50%, var(–charcoal) 100%);
}

.hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0.95) 100%);
}

.hero__nav {
position: relative;
z-index: 10;
display: flex;
justify-content: space-between;
align-items: center;
padding: 32px 48px;
}

.hero__logo {
font-family: var(–font-display);
font-size: 24px;
letter-spacing: 0.3em;
}

.hero__nav-link {
font-family: var(–font-mono);
font-size: 11px;
letter-spacing: 0.15em;
text-transform: uppercase;
opacity: 0.7;
transition: opacity 0.3s;
}

.hero__nav-link:hover {
opacity: 1;
}

.hero__content {
position: relative;
z-index: 10;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
padding: 0 48px 120px;
}

.hero__date-strip {
display: flex;
align-items: center;
gap: 24px;
margin-bottom: 24px;
}

.hero__date-line {
width: 60px;
height: 1px;
background: var(–gold);
}

.hero__date {
color: var(–gold);
}

.hero__title {
max-width: 900px;
margin-bottom: 48px;
}

.hero__title-label {
display: block;
font-family: var(–font-mono);
font-size: clamp(12px, 1.8vw, 18px);
letter-spacing: 0.25em;
line-height: 1;
color: var(–gold);
margin-bottom: 16px;
overflow: hidden;
text-transform: uppercase;
}

.hero__title-label span {
display: inline-block;
animation: slideUp 1.2s var(–ease-out-expo) forwards;
transform: translateY(100%);
}

.hero__title-line {
display: block;
overflow: hidden;
}

.hero__title-line span {
display: inline-block;
animation: slideUp 1.2s var(–ease-out-expo) forwards;
animation-delay: calc(var(–i) * 0.1s);
transform: translateY(100%);
}

.hero__subtitle {
max-width: 500px;
margin-bottom: 64px;
color: var(–silver);
opacity: 0;
animation: fadeIn 1s 0.8s forwards;
}

.hero__cta-group {
display: flex;
align-items: center;
gap: 48px;
opacity: 0;
animation: fadeIn 1s 1s forwards;
}

.hero__cta {
position: relative;
display: inline-flex;
align-items: center;
gap: 16px;
padding: 20px 48px;
background: var(–white);
color: var(–black);
font-family: var(–font-mono);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
overflow: hidden;
transition: all 0.4s var(–ease-out-expo);
}

.hero__cta::before {
content: ”;
position: absolute;
inset: 0;
background: var(–gold);
transform: translateX(-101%);
transition: transform 0.4s var(–ease-out-expo);
}

.hero__cta:hover::before {
transform: translateX(0);
}

.hero__cta span {
position: relative;
z-index: 1;
}

.hero__cta-secondary {
display: flex;
align-items: center;
gap: 12px;
font-size: 11px;
letter-spacing: 0.1em;
opacity: 0.6;
transition: opacity 0.3s;
}

.hero__cta-secondary:hover {
opacity: 1;
}

.hero__cta-arrow {
width: 32px;
height: 1px;
background: currentColor;
position: relative;
}

.hero__cta-arrow::after {
content: ”;
position: absolute;
right: 0;
top: -3px;
width: 8px;
height: 8px;
border-right: 1px solid currentColor;
border-top: 1px solid currentColor;
transform: rotate(45deg);
}

.hero__scroll {
position: absolute;
bottom: 48px;
left: 48px;
z-index: 10;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}

.hero__scroll-text {
writing-mode: vertical-rl;
font-size: 10px;
letter-spacing: 0.3em;
opacity: 0.5;
}

.hero__scroll-line {
width: 1px;
height: 60px;
background: linear-gradient(to bottom, var(–white), transparent);
animation: scrollPulse 2s infinite;
}

@keyframes scrollPulse {
0%, 100% {
opacity: 0.3;
transform: scaleY(1);
}

50% {
opacity: 1;
transform: scaleY(1.2);
}
}

@media (max-width: 768px) {
.hero__nav, .hero__content {
padding-left: 24px;
padding-right: 24px;
}

.hero__cta-group {
flex-direction: column;
align-items: flex-start;
gap: 24px;
}

.hero__scroll {
left: 24px;
bottom: 24px;
}
}

@media (max-width: 540px) {
.hero__scroll {
display: none;
}
}/* ============================================
SECTION HEADER PATTERN
============================================ */

.section__header {
max-width: 1400px;
margin: 0 auto 100px;
padding: 0 48px;
text-align: center;
}

.section__eyebrow {
display: inline-flex;
align-items: center;
gap: 16px;
margin-bottom: 24px;
color: var(–gold);
}

.section__eyebrow-line {
width: 40px;
height: 1px;
background: var(–gold);
}

.section__subtitle {
color: var(–silver);
max-width: 500px;
margin: 24px auto 0;
}

@media (max-width: 768px) {
.section__header {
padding: 0 24px;
margin-bottom: 60px;
}
}/* ============================================
ABOUT INTRO
============================================ */

.about-intro {
padding: 120px 0 0;
background: var(–black);
}

.about-intro__container {
max-width: 800px;
margin: 0 auto;
padding: 0 48px;
}

.about-intro__text {
font-family: var(–font-serif);
font-size: clamp(16px, 1.8vw, 19px);
line-height: 1.8;
color: var(–silver);
margin-bottom: 24px;
opacity: 0.85;
}

.about-intro__text strong {
color: var(–gold);
font-weight: 600;
}

.about-intro__text:last-child {
margin-bottom: 0;
}

@media (max-width: 768px) {
.about-intro {
padding: 80px 0 0;
}

.about-intro__container {
padding: 0 24px;
}
}/* ============================================
EVENT OVERVIEW
============================================ */

.overview {
padding: 200px 0;
background: var(–charcoal);
}

.overview__container {
max-width: 1400px;
margin: 0 auto;
padding: 0 48px;
}

.overview__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1px;
background: rgba(255, 255, 255, 0.05);
}

.overview__item {
background: var(–charcoal);
padding: 40px 32px;
}

.overview__item-label {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(–gold);
margin-bottom: 12px;
}

.overview__item-value {
font-family: var(–font-serif);
font-size: 18px;
color: var(–white);
line-height: 1.5;
}

.overview__item-value a {
color: var(–gold);
border-bottom: 1px solid rgba(184, 149, 110, 0.3);
padding-bottom: 1px;
transition: border-color 0.3s;
}

.overview__item-value a:hover {
border-color: var(–gold);
}

@media (max-width: 900px) {
.overview__grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.overview {
padding: 120px 0;
}

.overview__container {
padding: 0 24px;
}

.overview__grid {
grid-template-columns: 1fr;
}
}/* ============================================
PAST COVERAGE
============================================ */

.coverage {
padding: 200px 0;
background: var(–charcoal);
}

.coverage__container {
max-width: 1400px;
margin: 0 auto;
padding: 0 48px;
}

.coverage__logos {
display: flex;
justify-content: center;
gap: 48px;
align-items: center;
margin-bottom: 80px;
padding-bottom: 60px;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.coverage__logo {
font-family: var(–font-serif);
font-size: 20px;
font-style: italic;
opacity: 0.4;
transition: opacity 0.3s;
}

.coverage__logo:hover {
opacity: 0.8;
}

@media (max-width: 900px) {
.coverage__logos {
flex-wrap: wrap;
gap: 32px;
}
}

@media (max-width: 768px) {
.coverage {
padding: 120px 0;
}

.coverage__container {
padding: 0 24px;
}
}/* ============================================
ACCREDITATION FORM
============================================ */

.accreditation {
padding: 200px 0;
background: var(–black);
}

.accreditation__container {
max-width: 700px;
margin: 0 auto;
padding: 0 48px;
}

.accreditation__form {
display: flex;
flex-direction: column;
gap: 24px;
}

.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}

.form-group–row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.form-label {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(–silver);
}

.form-label .required {
color: var(–gold);
margin-left: 4px;
}

.form-input, .form-select, .form-textarea {
background: var(–charcoal);
border: 1px solid rgba(255, 255, 255, 0.1);
color: var(–white);
padding: 16px 20px;
font-family: var(–font-mono);
font-size: 13px;
transition: border-color 0.3s var(–ease-out-expo);
outline: none;
-webkit-appearance: none;
appearance: none;
}

.form-input:focus, .form-select:focus, .form-textarea:focus {
border-color: var(–gold);
}

.form-input::placeholder, .form-textarea::placeholder {
color: rgba(255, 255, 255, 0.25);
}

.form-select {
background-image: url(“data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’12’ height=’8′ fill=’none’%3E%3Cpath d=’M1 1.5L6 6.5L11 1.5′ stroke=’%23c4c4c4′ stroke-width=’1.5’/%3E%3C/svg%3E”);
background-repeat: no-repeat;
background-position: right 20px center;
padding-right: 48px;
cursor: pointer;
}

.form-select option {
background: var(–charcoal);
color: var(–white);
}

.form-textarea {
resize: vertical;
min-height: 120px;
}

.form-submit {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 20px 48px;
background: var(–white);
color: var(–black);
font-family: var(–font-mono);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
border: none;
cursor: pointer;
overflow: hidden;
transition: all 0.4s var(–ease-out-expo);
margin-top: 16px;
}

.form-submit::before {
content: ”;
position: absolute;
inset: 0;
background: var(–gold);
transform: translateX(-101%);
transition: transform 0.4s var(–ease-out-expo);
}

.form-submit:hover::before {
transform: translateX(0);
}

.form-submit span {
position: relative;
z-index: 1;
}

.form-note {
font-size: 12px;
color: var(–silver);
opacity: 0.6;
text-align: center;
margin-top: 8px;
}

.form-error {
font-size: 11px;
color: var(–urgency);
margin-top: 4px;
display: none;
}

.form-input.invalid, .form-select.invalid, .form-textarea.invalid {
border-color: var(–urgency);
}/* Phone Input with Country Code */

.phone-input {
position: relative;
display: flex;
align-items: stretch;
}

.phone-input__toggle {
display: flex;
align-items: center;
gap: 6px;
padding: 0 14px;
background: var(–charcoal);
border: 1px solid rgba(255, 255, 255, 0.1);
border-right: none;
cursor: pointer;
white-space: nowrap;
transition: border-color 0.3s var(–ease-out-expo);
}

.phone-input__toggle:hover {
border-color: rgba(255, 255, 255, 0.25);
}

.phone-input__flag {
font-size: 18px;
line-height: 1;
}

.phone-input__code {
font-family: var(–font-mono);
font-size: 13px;
color: var(–silver);
}

.phone-input__arrow {
font-size: 8px;
color: var(–silver);
opacity: 0.6;
margin-left: 2px;
}

.phone-input__number {
flex: 1;
min-width: 0;
}

.phone-input__dropdown {
display: none;
position: absolute;
top: 100%;
left: 0;
z-index: 100;
width: 280px;
max-height: 240px;
overflow-y: auto;
background: var(–charcoal);
border: 1px solid rgba(255, 255, 255, 0.15);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.phone-input__dropdown.open {
display: block;
}

.phone-input__search {
position: sticky;
top: 0;
width: 100%;
padding: 10px 14px;
background: var(–charcoal);
border: none;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
color: var(–white);
font-family: var(–font-mono);
font-size: 12px;
outline: none;
}

.phone-input__search::placeholder {
color: rgba(255, 255, 255, 0.25);
}

.phone-input__option {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 14px;
cursor: pointer;
font-family: var(–font-mono);
font-size: 12px;
color: var(–silver);
transition: background 0.15s;
}

.phone-input__option:hover {
background: rgba(255, 255, 255, 0.06);
}

.phone-input__option.selected {
color: var(–gold);
}

.phone-input__option-flag {
font-size: 16px;
flex-shrink: 0;
}

.phone-input__option-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.phone-input__option-code {
color: rgba(255, 255, 255, 0.35);
flex-shrink: 0;
}/* Section Dividers */

.form-section-label {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(–gold);
padding-bottom: 12px;
margin-top: 8px;
border-bottom: 1px solid rgba(184, 149, 110, 0.2);
}

.form-hint {
font-family: var(–font-mono);
font-size: 11px;
color: var(–silver);
opacity: 0.6;
margin-top: -2px;
}

.events-loading {
font-family: var(–font-mono);
font-size: 12px;
color: var(–silver);
opacity: 0.6;
padding: 16px 0;
}/* Success State */

.accreditation__success {
display: none;
text-align: center;
padding: 80px 0;
}

.accreditation__success-icon {
font-size: 48px;
color: var(–gold);
margin-bottom: 32px;
}

.accreditation__success-title {
font-family: var(–font-display);
font-size: 48px;
text-transform: uppercase;
margin-bottom: 16px;
}

.accreditation__success-text {
font-family: var(–font-serif);
font-size: 18px;
font-style: italic;
color: var(–silver);
max-width: 400px;
margin: 0 auto;
}

@media (max-width: 768px) {
.accreditation {
padding: 120px 0;
}

.accreditation__container {
padding: 0 24px;
}

.form-group–row {
grid-template-columns: 1fr;
}
}/* ============================================
MEDIA GUIDELINES
============================================ */

.guidelines {
padding: 200px 0;
background: var(–charcoal);
}

.guidelines__container {
max-width: 900px;
margin: 0 auto;
padding: 0 48px;
}

.guidelines__card {
background: var(–charcoal);
border: 1px solid rgba(255, 255, 255, 0.05);
position: relative;
}

.guidelines__card::before {
content: ”;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: var(–gold);
}

.guidelines__list {
list-style: none;
}

.guidelines__item {
padding: 32px 40px;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.guidelines__item:last-child {
border-bottom: none;
}

.guidelines__item-label {
font-family: var(–font-display);
font-size: 22px;
letter-spacing: 0.05em;
text-transform: uppercase;
margin-bottom: 8px;
}

.guidelines__item-text {
font-size: 14px;
color: var(–silver);
line-height: 1.7;
}

@media (max-width: 768px) {
.guidelines {
padding: 120px 0;
}

.guidelines__container {
padding: 0 24px;
}

.guidelines__item {
padding: 24px 24px;
}
}/* ============================================
FAQ
============================================ */

.faq {
padding: 200px 0;
background: var(–black);
}

.faq__container {
max-width: 800px;
margin: 0 auto;
padding: 0 48px;
}

.faq__item {
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.faq__question {
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;
padding: 24px 0;
cursor: pointer;
border: none;
background: none;
color: var(–white);
text-align: left;
font-family: var(–font-serif);
font-size: 18px;
font-weight: 400;
}

.faq__question-icon {
font-size: 20px;
color: var(–gold);
transition: transform 0.3s var(–ease-out-expo);
flex-shrink: 0;
margin-left: 16px;
}

.faq__item.active .faq__question-icon {
transform: rotate(45deg);
}

.faq__item.active {
border-color: var(–gold);
}

.faq__answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s var(–ease-out-expo);
}

.faq__item.active .faq__answer {
max-height: 400px;
}

.faq__answer-inner {
padding: 0 0 24px;
font-size: 14px;
color: var(–silver);
line-height: 1.7;
}

@media (max-width: 768px) {
.faq {
padding: 120px 0;
}

.faq__container {
padding: 0 24px;
}
}/* ============================================
CONVERSION STRIP
============================================ */

.conversion-strip {
padding: 80px 48px;
text-align: center;
background: var(–charcoal);
border-top: 1px solid rgba(255, 255, 255, 0.05);
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.conversion-strip__eyebrow {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(–gold);
margin-bottom: 16px;
}

.conversion-strip__title {
font-family: var(–font-display);
font-size: clamp(28px, 5vw, 48px);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 12px;
}

.conversion-strip__sub {
font-family: var(–font-serif);
font-size: 16px;
font-style: italic;
color: var(–silver);
margin-bottom: 32px;
}

.conversion-strip__btn {
position: relative;
display: inline-flex;
align-items: center;
padding: 18px 44px;
background: var(–white);
color: var(–black);
font-family: var(–font-mono);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
overflow: hidden;
transition: all 0.4s var(–ease-out-expo);
}

.conversion-strip__btn::before {
content: ”;
position: absolute;
inset: 0;
background: var(–gold);
transform: translateX(-101%);
transition: transform 0.4s var(–ease-out-expo);
}

.conversion-strip__btn:hover::before {
transform: translateX(0);
}

.conversion-strip__btn span {
position: relative;
z-index: 1;
}

@media (max-width: 768px) {
.conversion-strip {
padding: 60px 24px;
}
}/* ============================================
POST-FAQ CTA
============================================ */

.post-faq-cta {
padding: 80px 48px;
text-align: center;
background: var(–black);
}

.post-faq-cta__title {
font-family: var(–font-display);
font-size: clamp(28px, 5vw, 48px);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 12px;
}

.post-faq-cta__sub {
font-family: var(–font-serif);
font-size: 16px;
font-style: italic;
color: var(–silver);
margin-bottom: 32px;
}

.post-faq-cta__btn {
position: relative;
display: inline-flex;
align-items: center;
padding: 18px 44px;
background: var(–white);
color: var(–black);
font-family: var(–font-mono);
font-size: 10px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
overflow: hidden;
transition: all 0.4s var(–ease-out-expo);
}

.post-faq-cta__btn::before {
content: ”;
position: absolute;
inset: 0;
background: var(–gold);
transform: translateX(-101%);
transition: transform 0.4s var(–ease-out-expo);
}

.post-faq-cta__btn:hover::before {
transform: translateX(0);
}

.post-faq-cta__btn span {
position: relative;
z-index: 1;
}

@media (max-width: 768px) {
.post-faq-cta {
padding: 60px 24px;
}
}/* ============================================
TRUST SIGNALS
============================================ */

.form-trust {
display: flex;
justify-content: center;
gap: 32px;
margin-top: 32px;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.form-trust__item {
font-family: var(–font-mono);
font-size: 10px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(–silver);
opacity: 0.5;
}

@media (max-width: 600px) {
.form-trust {
flex-direction: column;
align-items: center;
gap: 12px;
}
}/* ============================================
TICKET FALLBACK
============================================ */

.ticket-fallback {
padding: 60px 48px;
text-align: center;
background: var(–black);
border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.ticket-fallback__text {
font-family: var(–font-serif);
font-size: 18px;
font-style: italic;
color: var(–silver);
margin-bottom: 24px;
}

.ticket-fallback__link {
font-family: var(–font-mono);
font-size: 11px;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(–gold);
border-bottom: 1px solid rgba(184, 149, 110, 0.3);
padding-bottom: 2px;
transition: border-color 0.3s;
}

.ticket-fallback__link:hover {
border-color: var(–gold);
}

@media (max-width: 768px) {
.ticket-fallback {
padding: 40px 24px;
}
}

Skip to content

BUREAU PRESS
info@thebureaufashionweek.com

APPLY

Press Credentials
ALL CITIES · APPLY NOW

APPLY

THE BUREAU

Events
Media Contact

Press & Media

The Bureau Fashion Week

PRESS & MEDIA

ACCREDITATION

Apply for credentials across all Bureau Fashion Week cities

Apply for Credentials

See what’s included

SCROLL

The Bureau Fashion Week produces fashion weeks across 8 cities worldwide, including Los Angeles Fashion Week, Miami Fashion Week, Dallas Fashion Week, and New York Fashion Week. Each season features curated runway shows from emerging and established designers, immersive experiences, and industry networking.

Press and media accreditation is
complimentary
for qualified journalists, photographers, videographers, and digital creators. Applications are reviewed within 48 hours and approved members receive access to a personal RSVP portal where they can select shows, receive QR codes for check-in, and coordinate backstage access with on-site media liaisons.

Whether you cover fashion for a major publication, produce content for digital platforms, or document the industry through photography and video, Bureau Fashion Week credentials give you the access you need to tell the story.

Credentials

What Your Fashion Week Press Pass Includes

All-Access Entry
Full venue access across all show days with priority check-in at the press desk

Photo Pit Access
Designated runway-side media positions for professional photography and videography

Press Kit
Digital press kit with event fact sheets, official logos, venue photos, and designer bios

Backstage Coordination
On-site media liaison for backstage access scheduling and designer interviews

RSVP Portal
Personal portal to select shows, manage RSVPs, and receive QR codes for check-in

Media Contact

info@thebureaufashionweek.com

As Seen In

Bureau Fashion Week in the Press

Vogue
Harper’s Bazaar
Elle
WWD

Bureau Fashion Week has been featured in leading fashion and culture publications worldwide.

Press Credentials
Ready to Cover Fashion Week?
Select your event and apply for credentials below

Apply Now

Accreditation

Apply for Fashion Week Press Credentials

Your Event

Select Event
*

Loading upcoming events…

Please select an event.

About You

First Name
*

Please enter your first name.

Last Name
*

Please enter your last name.

Email
*

Please enter a valid email address.

Phone Number

🇺🇸
+1

Category
*

Select category
Press (print & digital journalism)
Media (broadcast, podcast, video)

Please select a category.

Your Coverage

Outlet / Publication
*

Please enter your outlet or publication name.

Outlet Website

Role
*

Select your role
Journalist
Photographer
Videographer
Blogger / Creator
Other

Please select your role.

Instagram Handle

Portfolio / Recent Work URL

Story Angle / Assignment Description

I have attended a previous Bureau Fashion Week event

200+ Media Accredited Annually
8 Cities Worldwide
48hr Response

Get My Press Credentials

Complimentary credentials. Applications reviewed within 48 hours.

By submitting, you agree to our
Privacy Policy
.


Application Received
Thank you for applying. We will review your credentials and respond within 48 hours.

Confirmation

View Events

Questions

Press Accreditation FAQ

Who qualifies for Bureau Fashion Week press credentials?
+

We accredit working journalists, photographers, videographers, and established digital creators covering fashion, lifestyle, or culture. Applicants should have a current assignment, active publication, or significant following relevant to fashion week coverage.

Does press accreditation include seating?
+

Press credentials include access to designated media positions for runway photography and general venue access. Reserved seating is not included with standard press credentials — media representatives are positioned in the designated press area.

Can I bring a photographer or crew?
+

Each team member must apply individually for credentials. When applying, note your team members in the story angle field and we’ll coordinate your credentials together.

What is the content usage policy?
+

Published content should credit the specific event and The Bureau Fashion Week. Content may be used for editorial purposes. Commercial usage (advertising, brand partnerships) requires separate approval — contact
info@thebureaufashionweek.com
.

How long does the review process take?
+

Applications are reviewed within 48 hours. You’ll receive an email with your approval status and next steps to RSVP for specific shows through your personal portal.

Can I apply for multiple events?
+

Yes. Select the event you’d like to cover from the dropdown. If you’d like credentials for multiple cities, submit a separate application for each event.

Is fashion week press accreditation free?
+

Yes. Press and media accreditation for The Bureau Fashion Week is complimentary for qualified media professionals. There is no fee to apply or to receive credentials. Approved applicants receive full access to shows, the press area, and digital press kits at no cost.

How do I get a fashion week press pass?
+

Submit an application through this page with your name, outlet, role, and a brief description of your planned coverage. Applications are reviewed within 48 hours. Once approved, you’ll receive an email with a link to your personal RSVP portal where you can select shows and receive your digital press credentials.

What should I bring to cover fashion week?
+

Bring your camera equipment (DSLR and mirrorless cameras are permitted; tripods in designated areas only; monopods are allowed runway-side), a laptop or mobile device for filing, and a valid photo ID matching your credential application. Your digital press pass with QR code will be on your phone. No flash photography is permitted during runway shows.

On-Site Protocol

Fashion Week Media Guidelines

Runway
All looks may be photographed and filmed from designated media positions. No flash.

Backstage
Accessible with backstage media credentials. Coordinate with media liaison on-site.

Red Carpet / Venue
Open for photography throughout the event.

Equipment
DSLR and mirrorless cameras permitted. Tripods in designated areas only. Monopods permitted runway-side.

Content Embargo
None for general coverage. Designer-specific embargoes will be communicated individually.

Credit
All published media must credit the specific event name and The Bureau Fashion Week.

Ready to Apply?
Select your event and secure your press credentials

Apply for Credentials

Not press? Tickets are open to everyone.
View Upcoming Events

.bureau-nav {
padding: 120px 0 60px;
background: #000;
border-top:1px solid rgba(255, 255, 255, 0.05)
}

.bureau-nav__inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 48px;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap:48px
}

.bureau-nav__brand-name {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 28px;
letter-spacing: 0.2em;
text-transform: uppercase;
margin-bottom: 16px;
color:#fff
}

.bureau-nav__brand-desc {
font-size: 13px;
color: #c4c4c4;
line-height: 1.7;
opacity: 0.6;
max-width:320px
}

.bureau-nav__col-title {
font-family: ‘Space Mono’, monospace;
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #b8956e;
margin-bottom:20px
}

.bureau-nav__links {
list-style: none;
margin: 0;
padding:0
}

.bureau-nav__link {
display: block;
padding: 6px 0;
font-size: 13px;
color: #c4c4c4;
opacity: 0.6;
transition: all 0.3s;
text-decoration:none
}

.bureau-nav__link:hover {
opacity: 1;
color:#fff
}

@media (max-width: 900px) {
.bureau-nav__inner {
grid-template-columns: 1fr 1fr;
gap:40px
}
}

@media (max-width: 600px) {
.bureau-nav {
padding:80px 0 40px
}

.bureau-nav__inner {
grid-template-columns: 1fr;
padding: 0 24px;
gap: 32px
}
}

The Bureau
The Bureau Fashion Week produces Los Angeles Fashion Week, Miami Fashion Week, Dallas Fashion Week, New York Fashion Week, and more — immersive runway shows, emerging designers, and premium experiences.

Events

Los Angeles Fashion Week

Miami Fashion Week

Dallas Fashion Week

New York Fashion Week

All Cities

About

Home

About Us

What Is Fashion Week?

Privacy Policy

Connect

Email Us

Instagram

TikTok

Facebook

var _pageLoadTs = Date.now();
(function() {
var API = ‘https://concierge-v9ca.onrender.com/rsvp’;
var selectedEventId = null;

// ============================
// STICKY BAR + MOBILE CTA
// ============================
var stickyBar = document.getElementById(‘sticky-bar’);
var mobileCta = document.getElementById(‘mobile-cta’);
window.addEventListener(‘scroll’, function() {
var y = window.pageYOffset;
if (y > 600) {
stickyBar.classList.add(‘visible’);
if (mobileCta)
mobileCta.classList.add(‘visible’);
} else {
stickyBar.classList.remove(‘visible’);
if (mobileCta)
mobileCta.classList.remove(‘visible’);
}
});

// ============================
// SMOOTH SCROLL
// ============================
document.querySelectorAll(‘a[href^=”#”]’).forEach(function(a) {
a.addEventListener(‘click’, function(e) {
var t = document.querySelector(this.getAttribute(‘href’));
if (t) {
e.preventDefault();
window.scrollTo({
top: t.offsetTop – 100,
behavior: ‘smooth’
});
}
});
});

// ============================
// FAQ ACCORDION (single-open)
// ============================
var faqItems = document.querySelectorAll(‘.faq__item’);
faqItems.forEach(function(item) {
item.querySelector(‘.faq__question’).addEventListener(‘click’, function() {
var isActive = item.classList.contains(‘active’);
faqItems.forEach(function(i) {
i.classList.remove(‘active’);
i.querySelector(‘.faq__question’).setAttribute(‘aria-expanded’, ‘false’);
});
if (!isActive) {
item.classList.add(‘active’);
this.setAttribute(‘aria-expanded’, ‘true’);
}
});
});

// ============================
// SCROLL REVEAL (IntersectionObserver)
// ============================
if (‘IntersectionObserver’ in window) {
var revealObserver = new IntersectionObserver(function(entries) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
entry.target.classList.add(‘revealed’);
revealObserver.unobserve(entry.target);
}
});
}, {
threshold: 0.1,
rootMargin: ‘0px 0px -60px 0px’
});
document.querySelectorAll(‘.reveal’).forEach(function(el) {
revealObserver.observe(el);
});
} else {
document.querySelectorAll(‘.reveal’).forEach(function(el) {
el.classList.add(‘revealed’);
});
}

// ============================
// PHONE COUNTRY CODE SELECTOR
// ============================
(function() {
var countries = [
{
code: ‘+1’,
flag: ‘🇺🇸’,
name: ‘United States’
},
{
code: ‘+1’,
flag: ‘🇨🇦’,
name: ‘Canada’
},
{
code: ‘+44’,
flag: ‘🇬🇧’,
name: ‘United Kingdom’
},
{
code: ‘+93’,
flag: ‘🇦🇫’,
name: ‘Afghanistan’
},
{
code: ‘+355’,
flag: ‘🇦🇱’,
name: ‘Albania’
},
{
code: ‘+213’,
flag: ‘🇩🇿’,
name: ‘Algeria’
},
{
code: ‘+376’,
flag: ‘🇦🇩’,
name: ‘Andorra’
},
{
code: ‘+244’,
flag: ‘🇦🇴’,
name: ‘Angola’
},
{
code: ‘+1268’,
flag: ‘🇦🇬’,
name: ‘Antigua & Barbuda’
},
{
code: ‘+54’,
flag: ‘🇦🇷’,
name: ‘Argentina’
},
{
code: ‘+374’,
flag: ‘🇦🇲’,
name: ‘Armenia’
},
{
code: ‘+61’,
flag: ‘🇦🇺’,
name: ‘Australia’
},
{
code: ‘+43’,
flag: ‘🇦🇹’,
name: ‘Austria’
},
{
code: ‘+994’,
flag: ‘🇦🇿’,
name: ‘Azerbaijan’
},
{
code: ‘+1242’,
flag: ‘🇧🇸’,
name: ‘Bahamas’
},
{
code: ‘+973’,
flag: ‘🇧🇭’,
name: ‘Bahrain’
},
{
code: ‘+880’,
flag: ‘🇧🇩’,
name: ‘Bangladesh’
},
{
code: ‘+1246’,
flag: ‘🇧🇧’,
name: ‘Barbados’
},
{
code: ‘+375’,
flag: ‘🇧🇾’,
name: ‘Belarus’
},
{
code: ‘+32’,
flag: ‘🇧🇪’,
name: ‘Belgium’
},
{
code: ‘+501’,
flag: ‘🇧🇿’,
name: ‘Belize’
},
{
code: ‘+229’,
flag: ‘🇧🇯’,
name: ‘Benin’
},
{
code: ‘+975’,
flag: ‘🇧🇹’,
name: ‘Bhutan’
},
{
code: ‘+591’,
flag: ‘🇧🇴’,
name: ‘Bolivia’
},
{
code: ‘+387’,
flag: ‘🇧🇦’,
name: ‘Bosnia & Herzegovina’
},
{
code: ‘+267’,
flag: ‘🇧🇼’,
name: ‘Botswana’
},
{
code: ‘+55’,
flag: ‘🇧🇷’,
name: ‘Brazil’
},
{
code: ‘+673’,
flag: ‘🇧🇳’,
name: ‘Brunei’
},
{
code: ‘+359’,
flag: ‘🇧🇬’,
name: ‘Bulgaria’
},
{
code: ‘+226’,
flag: ‘🇧🇫’,
name: ‘Burkina Faso’
},
{
code: ‘+257’,
flag: ‘🇧🇮’,
name: ‘Burundi’
},
{
code: ‘+855’,
flag: ‘🇰🇭’,
name: ‘Cambodia’
},
{
code: ‘+237’,
flag: ‘🇨🇲’,
name: ‘Cameroon’
},
{
code: ‘+238’,
flag: ‘🇨🇻’,
name: ‘Cape Verde’
},
{
code: ‘+236’,
flag: ‘🇨🇫’,
name: ‘Central African Republic’
},
{
code: ‘+235’,
flag: ‘🇹🇩’,
name: ‘Chad’
},
{
code: ‘+56’,
flag: ‘🇨🇱’,
name: ‘Chile’
},
{
code: ‘+86’,
flag: ‘🇨🇳’,
name: ‘China’
},
{
code: ‘+57’,
flag: ‘🇨🇴’,
name: ‘Colombia’
},
{
code: ‘+269’,
flag: ‘🇰🇲’,
name: ‘Comoros’
},
{
code: ‘+243’,
flag: ‘🇨🇩’,
name: ‘Congo (DRC)’
},
{
code: ‘+242’,
flag: ‘🇨🇬’,
name: ‘Congo (Republic)’
},
{
code: ‘+506’,
flag: ‘🇨🇷’,
name: ‘Costa Rica’
},
{
code: ‘+225’,
flag: ‘🇨🇮’,
name: “Cote d’Ivoire”
},
{
code: ‘+385’,
flag: ‘🇭🇷’,
name: ‘Croatia’
},
{
code: ‘+53’,
flag: ‘🇨🇺’,
name: ‘Cuba’
},
{
code: ‘+357’,
flag: ‘🇨🇾’,
name: ‘Cyprus’
},
{
code: ‘+420’,
flag: ‘🇨🇿’,
name: ‘Czech Republic’
},
{
code: ‘+45’,
flag: ‘🇩🇰’,
name: ‘Denmark’
},
{
code: ‘+253’,
flag: ‘🇩🇯’,
name: ‘Djibouti’
},
{
code: ‘+1767’,
flag: ‘🇩🇲’,
name: ‘Dominica’
},
{
code: ‘+1809’,
flag: ‘🇩🇴’,
name: ‘Dominican Republic’
},
{
code: ‘+593’,
flag: ‘🇪🇨’,
name: ‘Ecuador’
},
{
code: ‘+20’,
flag: ‘🇪🇬’,
name: ‘Egypt’
},
{
code: ‘+503’,
flag: ‘🇸🇻’,
name: ‘El Salvador’
},
{
code: ‘+240’,
flag: ‘🇬🇶’,
name: ‘Equatorial Guinea’
},
{
code: ‘+291’,
flag: ‘🇪🇷’,
name: ‘Eritrea’
},
{
code: ‘+372’,
flag: ‘🇪🇪’,
name: ‘Estonia’
},
{
code: ‘+268’,
flag: ‘🇸🇿’,
name: ‘Eswatini’
},
{
code: ‘+251’,
flag: ‘🇪🇹’,
name: ‘Ethiopia’
},
{
code: ‘+679’,
flag: ‘🇫🇯’,
name: ‘Fiji’
},
{
code: ‘+358’,
flag: ‘🇫🇮’,
name: ‘Finland’
},
{
code: ‘+33’,
flag: ‘🇫🇷’,
name: ‘France’
},
{
code: ‘+241’,
flag: ‘🇬🇦’,
name: ‘Gabon’
},
{
code: ‘+220’,
flag: ‘🇬🇲’,
name: ‘Gambia’
},
{
code: ‘+995’,
flag: ‘🇬🇪’,
name: ‘Georgia’
},
{
code: ‘+49’,
flag: ‘🇩🇪’,
name: ‘Germany’
},
{
code: ‘+233’,
flag: ‘🇬🇭’,
name: ‘Ghana’
},
{
code: ‘+30’,
flag: ‘🇬🇷’,
name: ‘Greece’
},
{
code: ‘+1473’,
flag: ‘🇬🇩’,
name: ‘Grenada’
},
{
code: ‘+502’,
flag: ‘🇬🇹’,
name: ‘Guatemala’
},
{
code: ‘+224’,
flag: ‘🇬🇳’,
name: ‘Guinea’
},
{
code: ‘+245’,
flag: ‘🇬🇼’,
name: ‘Guinea-Bissau’
},
{
code: ‘+592’,
flag: ‘🇬🇾’,
name: ‘Guyana’
},
{
code: ‘+509’,
flag: ‘🇭🇹’,
name: ‘Haiti’
},
{
code: ‘+504’,
flag: ‘🇭🇳’,
name: ‘Honduras’
},
{
code: ‘+852’,
flag: ‘🇭🇰’,
name: ‘Hong Kong’
},
{
code: ‘+36’,
flag: ‘🇭🇺’,
name: ‘Hungary’
},
{
code: ‘+354’,
flag: ‘🇮🇸’,
name: ‘Iceland’
},
{
code: ‘+91’,
flag: ‘🇮🇳’,
name: ‘India’
},
{
code: ‘+62’,
flag: ‘🇮🇩’,
name: ‘Indonesia’
},
{
code: ‘+98’,
flag: ‘🇮🇷’,
name: ‘Iran’
},
{
code: ‘+964’,
flag: ‘🇮🇶’,
name: ‘Iraq’
},
{
code: ‘+353’,
flag: ‘🇮🇪’,
name: ‘Ireland’
},
{
code: ‘+972’,
flag: ‘🇮🇱’,
name: ‘Israel’
},
{
code: ‘+39’,
flag: ‘🇮🇹’,
name: ‘Italy’
},
{
code: ‘+1876’,
flag: ‘🇯🇲’,
name: ‘Jamaica’
},
{
code: ‘+81’,
flag: ‘🇯🇵’,
name: ‘Japan’
},
{
code: ‘+962’,
flag: ‘🇯🇴’,
name: ‘Jordan’
},
{
code: ‘+7’,
flag: ‘🇰🇿’,
name: ‘Kazakhstan’
},
{
code: ‘+254’,
flag: ‘🇰🇪’,
name: ‘Kenya’
},
{
code: ‘+686’,
flag: ‘🇰🇮’,
name: ‘Kiribati’
},
{
code: ‘+383’,
flag: ‘🇽🇰’,
name: ‘Kosovo’
},
{
code: ‘+965’,
flag: ‘🇰🇼’,
name: ‘Kuwait’
},
{
code: ‘+996’,
flag: ‘🇰🇬’,
name: ‘Kyrgyzstan’
},
{
code: ‘+856’,
flag: ‘🇱🇦’,
name: ‘Laos’
},
{
code: ‘+371’,
flag: ‘🇱🇻’,
name: ‘Latvia’
},
{
code: ‘+961’,
flag: ‘🇱🇧’,
name: ‘Lebanon’
},
{
code: ‘+266’,
flag: ‘🇱🇸’,
name: ‘Lesotho’
},
{
code: ‘+231’,
flag: ‘🇱🇷’,
name: ‘Liberia’
},
{
code: ‘+218’,
flag: ‘🇱🇾’,
name: ‘Libya’
},
{
code: ‘+423’,
flag: ‘🇱🇮’,
name: ‘Liechtenstein’
},
{
code: ‘+370’,
flag: ‘🇱🇹’,
name: ‘Lithuania’
},
{
code: ‘+352’,
flag: ‘🇱🇺’,
name: ‘Luxembourg’
},
{
code: ‘+853’,
flag: ‘🇲🇴’,
name: ‘Macau’
},
{
code: ‘+261’,
flag: ‘🇲🇬’,
name: ‘Madagascar’
},
{
code: ‘+265’,
flag: ‘🇲🇼’,
name: ‘Malawi’
},
{
code: ‘+60’,
flag: ‘🇲🇾’,
name: ‘Malaysia’
},
{
code: ‘+960’,
flag: ‘🇲🇻’,
name: ‘Maldives’
},
{
code: ‘+223’,
flag: ‘🇲🇱’,
name: ‘Mali’
},
{
code: ‘+356’,
flag: ‘🇲🇹’,
name: ‘Malta’
},
{
code: ‘+692’,
flag: ‘🇲🇭’,
name: ‘Marshall Islands’
},
{
code: ‘+222’,
flag: ‘🇲🇷’,
name: ‘Mauritania’
},
{
code: ‘+230’,
flag: ‘🇲🇺’,
name: ‘Mauritius’
},
{
code: ‘+52’,
flag: ‘🇲🇽’,
name: ‘Mexico’
},
{
code: ‘+691’,
flag: ‘🇫🇲’,
name: ‘Micronesia’
},
{
code: ‘+373’,
flag: ‘🇲🇩’,
name: ‘Moldova’
},
{
code: ‘+377’,
flag: ‘🇲🇨’,
name: ‘Monaco’
},
{
code: ‘+976’,
flag: ‘🇲🇳’,
name: ‘Mongolia’
},
{
code: ‘+382’,
flag: ‘🇲🇪’,
name: ‘Montenegro’
},
{
code: ‘+212’,
flag: ‘🇲🇦’,
name: ‘Morocco’
},
{
code: ‘+258’,
flag: ‘🇲🇿’,
name: ‘Mozambique’
},
{
code: ‘+95’,
flag: ‘🇲🇲’,
name: ‘Myanmar’
},
{
code: ‘+264’,
flag: ‘🇳🇦’,
name: ‘Namibia’
},
{
code: ‘+674’,
flag: ‘🇳🇷’,
name: ‘Nauru’
},
{
code: ‘+977’,
flag: ‘🇳🇵’,
name: ‘Nepal’
},
{
code: ‘+31’,
flag: ‘🇳🇱’,
name: ‘Netherlands’
},
{
code: ‘+64’,
flag: ‘🇳🇿’,
name: ‘New Zealand’
},
{
code: ‘+505’,
flag: ‘🇳🇮’,
name: ‘Nicaragua’
},
{
code: ‘+227’,
flag: ‘🇳🇪’,
name: ‘Niger’
},
{
code: ‘+234’,
flag: ‘🇳🇬’,
name: ‘Nigeria’
},
{
code: ‘+389’,
flag: ‘🇲🇰’,
name: ‘North Macedonia’
},
{
code: ‘+47’,
flag: ‘🇳🇴’,
name: ‘Norway’
},
{
code: ‘+968’,
flag: ‘🇴🇲’,
name: ‘Oman’
},
{
code: ‘+92’,
flag: ‘🇵🇰’,
name: ‘Pakistan’
},
{
code: ‘+680’,
flag: ‘🇵🇼’,
name: ‘Palau’
},
{
code: ‘+970’,
flag: ‘🇵🇸’,
name: ‘Palestine’
},
{
code: ‘+507’,
flag: ‘🇵🇦’,
name: ‘Panama’
},
{
code: ‘+675’,
flag: ‘🇵🇬’,
name: ‘Papua New Guinea’
},
{
code: ‘+595’,
flag: ‘🇵🇾’,
name: ‘Paraguay’
},
{
code: ‘+51’,
flag: ‘🇵🇪’,
name: ‘Peru’
},
{
code: ‘+63’,
flag: ‘🇵🇭’,
name: ‘Philippines’
},
{
code: ‘+48’,
flag: ‘🇵🇱’,
name: ‘Poland’
},
{
code: ‘+351’,
flag: ‘🇵🇹’,
name: ‘Portugal’
},
{
code: ‘+1787’,
flag: ‘🇵🇷’,
name: ‘Puerto Rico’
},
{
code: ‘+974’,
flag: ‘🇶🇦’,
name: ‘Qatar’
},
{
code: ‘+40’,
flag: ‘🇷🇴’,
name: ‘Romania’
},
{
code: ‘+7’,
flag: ‘🇷🇺’,
name: ‘Russia’
},
{
code: ‘+250’,
flag: ‘🇷🇼’,
name: ‘Rwanda’
},
{
code: ‘+1869’,
flag: ‘🇰🇳’,
name: ‘Saint Kitts & Nevis’
},
{
code: ‘+1758’,
flag: ‘🇱🇨’,
name: ‘Saint Lucia’
},
{
code: ‘+1784’,
flag: ‘🇻🇨’,
name: ‘Saint Vincent’
},
{
code: ‘+685’,
flag: ‘🇼🇸’,
name: ‘Samoa’
},
{
code: ‘+378’,
flag: ‘🇸🇲’,
name: ‘San Marino’
},
{
code: ‘+239’,
flag: ‘🇸🇹’,
name: ‘Sao Tome & Principe’
},
{
code: ‘+966’,
flag: ‘🇸🇦’,
name: ‘Saudi Arabia’
},
{
code: ‘+221’,
flag: ‘🇸🇳’,
name: ‘Senegal’
},
{
code: ‘+381’,
flag: ‘🇷🇸’,
name: ‘Serbia’
},
{
code: ‘+248’,
flag: ‘🇸🇨’,
name: ‘Seychelles’
},
{
code: ‘+232’,
flag: ‘🇸🇱’,
name: ‘Sierra Leone’
},
{
code: ‘+65’,
flag: ‘🇸🇬’,
name: ‘Singapore’
},
{
code: ‘+421’,
flag: ‘🇸🇰’,
name: ‘Slovakia’
},
{
code: ‘+386’,
flag: ‘🇸🇮’,
name: ‘Slovenia’
},
{
code: ‘+677’,
flag: ‘🇸🇧’,
name: ‘Solomon Islands’
},
{
code: ‘+252’,
flag: ‘🇸🇴’,
name: ‘Somalia’
},
{
code: ‘+27’,
flag: ‘🇿🇦’,
name: ‘South Africa’
},
{
code: ‘+82’,
flag: ‘🇰🇷’,
name: ‘South Korea’
},
{
code: ‘+211’,
flag: ‘🇸🇸’,
name: ‘South Sudan’
},
{
code: ‘+34’,
flag: ‘🇪🇸’,
name: ‘Spain’
},
{
code: ‘+94’,
flag: ‘🇱🇰’,
name: ‘Sri Lanka’
},
{
code: ‘+249’,
flag: ‘🇸🇩’,
name: ‘Sudan’
},
{
code: ‘+597’,
flag: ‘🇸🇷’,
name: ‘Suriname’
},
{
code: ‘+46’,
flag: ‘🇸🇪’,
name: ‘Sweden’
},
{
code: ‘+41’,
flag: ‘🇨🇭’,
name: ‘Switzerland’
},
{
code: ‘+963’,
flag: ‘🇸🇾’,
name: ‘Syria’
},
{
code: ‘+886’,
flag: ‘🇹🇼’,
name: ‘Taiwan’
},
{
code: ‘+992’,
flag: ‘🇹🇯’,
name: ‘Tajikistan’
},
{
code: ‘+255’,
flag: ‘🇹🇿’,
name: ‘Tanzania’
},
{
code: ‘+66’,
flag: ‘🇹🇭’,
name: ‘Thailand’
},
{
code: ‘+670’,
flag: ‘🇹🇱’,
name: ‘Timor-Leste’
},
{
code: ‘+228’,
flag: ‘🇹🇬’,
name: ‘Togo’
},
{
code: ‘+676’,
flag: ‘🇹🇴’,
name: ‘Tonga’
},
{
code: ‘+1868’,
flag: ‘🇹🇹’,
name: ‘Trinidad & Tobago’
},
{
code: ‘+216’,
flag: ‘🇹🇳’,
name: ‘Tunisia’
},
{
code: ‘+90’,
flag: ‘🇹🇷’,
name: ‘Turkey’
},
{
code: ‘+993’,
flag: ‘🇹🇲’,
name: ‘Turkmenistan’
},
{
code: ‘+688’,
flag: ‘🇹🇻’,
name: ‘Tuvalu’
},
{
code: ‘+256’,
flag: ‘🇺🇬’,
name: ‘Uganda’
},
{
code: ‘+380’,
flag: ‘🇺🇦’,
name: ‘Ukraine’
},
{
code: ‘+971’,
flag: ‘🇦🇪’,
name: ‘UAE’
},
{
code: ‘+598’,
flag: ‘🇺🇾’,
name: ‘Uruguay’
},
{
code: ‘+998’,
flag: ‘🇺🇿’,
name: ‘Uzbekistan’
},
{
code: ‘+678’,
flag: ‘🇻🇺’,
name: ‘Vanuatu’
},
{
code: ‘+39’,
flag: ‘🇻🇦’,
name: ‘Vatican City’
},
{
code: ‘+58’,
flag: ‘🇻🇪’,
name: ‘Venezuela’
},
{
code: ‘+84’,
flag: ‘🇻🇳’,
name: ‘Vietnam’
},
{
code: ‘+967’,
flag: ‘🇾🇪’,
name: ‘Yemen’
},
{
code: ‘+260’,
flag: ‘🇿🇲’,
name: ‘Zambia’
},
{
code: ‘+263’,
flag: ‘🇿🇼’,
name: ‘Zimbabwe’
}
];

var toggle = document.getElementById(‘phone-toggle’);
var dropdown = document.getElementById(‘phone-dropdown’);
var flagEl = document.getElementById(‘phone-flag’);
var codeEl = document.getElementById(‘phone-code’);
var selectedCode = ‘+1’;
var selectedCountryName = ‘United States’;

// Expected local digit lengths: [min, max] (digits after country code)
var phoneLengths = {
‘United States’: [10, 10],
‘Canada’: [10, 10],
‘United Kingdom’: [10, 10],
‘Afghanistan’: [9, 9],
‘Albania’: [8, 9],
‘Algeria’: [9, 9],
‘Andorra’: [6, 9],
‘Angola’: [9, 9],
‘Antigua & Barbuda’: [7, 7],
‘Argentina’: [10, 10],
‘Armenia’: [8, 8],
‘Australia’: [9, 9],
‘Austria’: [10, 13],
‘Azerbaijan’: [9, 9],
‘Bahamas’: [7, 7],
‘Bahrain’: [8, 8],
‘Bangladesh’: [10, 10],
‘Barbados’: [7, 7],
‘Belarus’: [9, 10],
‘Belgium’: [8, 9],
‘Belize’: [7, 7],
‘Benin’: [8, 8],
‘Bhutan’: [7, 8],
‘Bolivia’: [8, 8],
‘Bosnia & Herzegovina’: [8, 8],
‘Botswana’: [7, 8],
‘Brazil’: [10, 11],
‘Brunei’: [7, 7],
‘Bulgaria’: [8, 9],
‘Burkina Faso’: [8, 8],
‘Burundi’: [8, 8],
‘Cambodia’: [8, 9],
‘Cameroon’: [9, 9],
‘Cape Verde’: [7, 7],
‘Central African Republic’: [8, 8],
‘Chad’: [8, 8],
‘Chile’: [9, 9],
‘China’: [11, 11],
‘Colombia’: [10, 10],
‘Comoros’: [7, 7],
‘Congo (DRC)’: [9, 9],
‘Congo (Republic)’: [9, 9],
‘Costa Rica’: [8, 8],
“Cote d’Ivoire”: [10, 10],
‘Croatia’: [8, 9],
‘Cuba’: [8, 8],
‘Cyprus’: [8, 8],
‘Czech Republic’: [9, 9],
‘Denmark’: [8, 8],
‘Djibouti’: [8, 8],
‘Dominica’: [7, 7],
‘Dominican Republic’: [10, 10],
‘Ecuador’: [9, 9],
‘Egypt’: [10, 10],
‘El Salvador’: [8, 8],
‘Equatorial Guinea’: [9, 9],
‘Eritrea’: [7, 7],
‘Estonia’: [7, 8],
‘Eswatini’: [8, 8],
‘Ethiopia’: [9, 9],
‘Fiji’: [7, 7],
‘Finland’: [9, 10],
‘France’: [9, 9],
‘Gabon’: [7, 8],
‘Gambia’: [7, 7],
‘Georgia’: [9, 9],
‘Germany’: [10, 11],
‘Ghana’: [9, 9],
‘Greece’: [10, 10],
‘Grenada’: [7, 7],
‘Guatemala’: [8, 8],
‘Guinea’: [9, 9],
‘Guinea-Bissau’: [7, 7],
‘Guyana’: [7, 7],
‘Haiti’: [8, 8],
‘Honduras’: [8, 8],
‘Hong Kong’: [8, 8],
‘Hungary’: [8, 9],
‘Iceland’: [7, 7],
‘India’: [10, 10],
‘Indonesia’: [9, 12],
‘Iran’: [10, 10],
‘Iraq’: [10, 10],
‘Ireland’: [7, 9],
‘Israel’: [9, 9],
‘Italy’: [9, 10],
‘Jamaica’: [7, 7],
‘Japan’: [10, 10],
‘Jordan’: [9, 9],
‘Kazakhstan’: [10, 10],
‘Kenya’: [9, 9],
‘Kiribati’: [5, 8],
‘Kosovo’: [8, 8],
‘Kuwait’: [8, 8],
‘Kyrgyzstan’: [9, 9],
‘Laos’: [8, 10],
‘Latvia’: [8, 8],
‘Lebanon’: [7, 8],
‘Lesotho’: [8, 8],
‘Liberia’: [7, 8],
‘Libya’: [9, 10],
‘Liechtenstein’: [7, 7],
‘Lithuania’: [8, 8],
‘Luxembourg’: [8, 9],
‘Macau’: [8, 8],
‘Madagascar’: [9, 9],
‘Malawi’: [7, 9],
‘Malaysia’: [9, 10],
‘Maldives’: [7, 7],
‘Mali’: [8, 8],
‘Malta’: [8, 8],
‘Marshall Islands’: [7, 7],
‘Mauritania’: [8, 8],
‘Mauritius’: [8, 8],
‘Mexico’: [10, 10],
‘Micronesia’: [7, 7],
‘Moldova’: [8, 8],
‘Monaco’: [8, 8],
‘Mongolia’: [8, 8],
‘Montenegro’: [8, 8],
‘Morocco’: [9, 9],
‘Mozambique’: [8, 9],
‘Myanmar’: [8, 10],
‘Namibia’: [7, 9],
‘Nauru’: [7, 7],
‘Nepal’: [10, 10],
‘Netherlands’: [9, 9],
‘New Zealand’: [8, 10],
‘Nicaragua’: [8, 8],
‘Niger’: [8, 8],
‘Nigeria’: [10, 10],
‘North Macedonia’: [8, 8],
‘Norway’: [8, 8],
‘Oman’: [8, 8],
‘Pakistan’: [10, 10],
‘Palau’: [7, 7],
‘Palestine’: [9, 9],
‘Panama’: [7, 8],
‘Papua New Guinea’: [7, 8],
‘Paraguay’: [9, 9],
‘Peru’: [9, 9],
‘Philippines’: [10, 10],
‘Poland’: [9, 9],
‘Portugal’: [9, 9],
‘Puerto Rico’: [10, 10],
‘Qatar’: [8, 8],
‘Romania’: [9, 9],
‘Russia’: [10, 10],
‘Rwanda’: [9, 9],
‘Saint Kitts & Nevis’: [7, 7],
‘Saint Lucia’: [7, 7],
‘Saint Vincent’: [7, 7],
‘Samoa’: [5, 7],
‘San Marino’: [6, 10],
‘Sao Tome & Principe’: [7, 7],
‘Saudi Arabia’: [9, 9],
‘Senegal’: [9, 9],
‘Serbia’: [8, 9],
‘Seychelles’: [7, 7],
‘Sierra Leone’: [8, 8],
‘Singapore’: [8, 8],
‘Slovakia’: [9, 9],
‘Slovenia’: [8, 8],
‘Solomon Islands’: [5, 7],
‘Somalia’: [7, 8],
‘South Africa’: [9, 9],
‘South Korea’: [9, 10],
‘South Sudan’: [9, 9],
‘Spain’: [9, 9],
‘Sri Lanka’: [9, 9],
‘Sudan’: [9, 9],
‘Suriname’: [6, 7],
‘Sweden’: [9, 9],
‘Switzerland’: [9, 9],
‘Syria’: [9, 9],
‘Taiwan’: [9, 9],
‘Tajikistan’: [9, 9],
‘Tanzania’: [9, 9],
‘Thailand’: [9, 9],
‘Timor-Leste’: [7, 8],
‘Togo’: [8, 8],
‘Tonga’: [5, 7],
‘Trinidad & Tobago’: [7, 7],
‘Tunisia’: [8, 8],
‘Turkey’: [10, 10],
‘Turkmenistan’: [8, 8],
‘Tuvalu’: [5, 6],
‘Uganda’: [9, 9],
‘Ukraine’: [9, 9],
‘UAE’: [9, 9],
‘Uruguay’: [8, 8],
‘Uzbekistan’: [9, 9],
‘Vanuatu’: [5, 7],
‘Vatican City’: [9, 10],
‘Venezuela’: [10, 10],
‘Vietnam’: [9, 10],
‘Yemen’: [9, 9],
‘Zambia’: [9, 9],
‘Zimbabwe’: [9, 9] };

// Build dropdown
var searchHtml = ”;
var optionsHtml = countries.map(function(c, i) {
return ” +
” + c.flag + ” +
” + c.name + ” +
” + c.code + ” +
”;
}).join(”);
dropdown.innerHTML = searchHtml + optionsHtml;

var searchInput = dropdown.querySelector(‘.phone-input__search’);

// Toggle dropdown
toggle.addEventListener(‘click’, function(e) {
e.preventDefault();
var isOpen = dropdown.classList.contains(‘open’);
dropdown.classList.toggle(‘open’);
toggle.setAttribute(‘aria-expanded’, !isOpen);
if (!isOpen) {
searchInput.value = ”;
filterOptions(”);
searchInput.focus();
}
});

// Search filter
searchInput.addEventListener(‘input’, function() {
filterOptions(this.value);
});

function filterOptions(query) {
var q = query.toLowerCase();
dropdown.querySelectorAll(‘.phone-input__option’).forEach(function(opt) {
var name = opt.getAttribute(‘data-name’).toLowerCase();
var code = opt.getAttribute(‘data-code’);
opt.style.display = (name.indexOf(q) !== -1 || code.indexOf(q) !== -1) ? ” : ‘none’;
});
}

// Select country
dropdown.addEventListener(‘click’, function(e) {
var opt = e.target.closest(‘.phone-input__option’);
if (!opt)
return;
selectedCode = opt.getAttribute(‘data-code’);
selectedCountryName = opt.getAttribute(‘data-name’);
flagEl.textContent = opt.getAttribute(‘data-flag’);
codeEl.textContent = selectedCode;
dropdown.querySelectorAll(‘.phone-input__option’).forEach(function(o) {
o.classList.remove(‘selected’);
});
opt.classList.add(‘selected’);
dropdown.classList.remove(‘open’);
toggle.setAttribute(‘aria-expanded’, ‘false’);
document.getElementById(‘phone’).focus();
});

// Close on outside click
document.addEventListener(‘click’, function(e) {
if (!e.target.closest(‘.phone-input’)) {
dropdown.classList.remove(‘open’);
toggle.setAttribute(‘aria-expanded’, ‘false’);
}
});

// Auto-format: strip non-digit chars as user types (keep visual clean)
var phoneInput = document.getElementById(‘phone’);
phoneInput.addEventListener(‘input’, function() {
// Strip everything except digits, spaces, dashes, parens
this.value = this.value.replace(/[^\d\s\-()]/g, ”);
});

// Expose getter for form submission
window._getPhoneWithCode = function() {
var num = document.getElementById(‘phone’).value.trim();
if (!num)
return ”;
// Strip to digits only for storage
var digits = num.replace(/\D/g, ”);
if (!digits)
return ”;
return selectedCode + digits;
};

// Expose validator (returns error message or empty string)
window._validatePhone = function() {
var num = document.getElementById(‘phone’).value.trim();
if (!num)
return ”; // phone is optional
var digits = num.replace(/\D/g, ”);
if (!digits)
return ”;
var range = phoneLengths[selectedCountryName] || [6, 14];
if (digits.length < range[0] || digits.length > range[1]) {
if (range[0] === range[1]) {
return selectedCountryName + ‘ numbers should be ‘ + range[0] + ‘ digits.’;
}
return selectedCountryName + ‘ numbers should be ‘ + range[0] + ‘-‘ + range[1] + ‘ digits.’;
}
return ”;
};
})();

// ============================
// LOAD UPCOMING EVENTS
// ============================
function loadEvents() {
var select = document.getElementById(‘event-select’);
fetch(API + ‘/api/events/upcoming’)
.then(function(res) {
if (!res.ok)
throw new Error(‘Server error’);
return res.json();
})
.then(function(events) {
if (!events.length) {
select.innerHTML = ‘No upcoming events — check back soon’;
return;
}

select.innerHTML = ‘Select an event’;

// Build compact date string: “May 27-30” (same month) or “May 27 – Jun 2”
function shortDate(ev) {
var s = new Date(ev.event_date);
var e = ev.event_end_date ? new Date(ev.event_end_date) : null;
if (!e)
return s.toLocaleDateString(‘en-US’, {
month: ‘short’,
day: ‘numeric’
});
if (s.getMonth() === e.getMonth() && s.getFullYear() === e.getFullYear()) {
return s.toLocaleDateString(‘en-US’, {
month: ‘short’
}) + ‘ ‘ + s.getDate() + ‘-‘ + e.getDate();
}
return s.toLocaleDateString(‘en-US’, {
month: ‘short’,
day: ‘numeric’
}) + ‘ – ‘ + e.toLocaleDateString(‘en-US’, {
month: ‘short’,
day: ‘numeric’
});
}

// Group events by year for when spanning multiple years
var years = {};
events.forEach(function(ev) {
var yr = new Date(ev.event_date).getFullYear();
if (!years[yr])
years[yr] = [];
years[yr].push(ev);
});
var yearKeys = Object.keys(years).sort();
var useGroups = yearKeys.length > 1;

yearKeys.forEach(function(yr) {
var parent = select;
if (useGroups) {
var group = document.createElement(‘optgroup’);
group.label = yr;
select.appendChild(group);
parent = group;
}
years[yr].forEach(function(ev) {
// Event name already contains city/season — just append compact dates
var label = ev.name + ‘ (‘ + shortDate(ev) + ‘)’;
var opt = document.createElement(‘option’);
opt.value = ev.id;
opt.textContent = label;
parent.appendChild(opt);
});
});

// Event selection listener
select.addEventListener(‘change’, function() {
selectedEventId = this.value;
});

// Auto-select if only one event
if (events.length === 1) {
select.value = events[0].id;
select.dispatchEvent(new Event(‘change’));
}
})
.catch(function() {
select.innerHTML = ‘Unable to load events — please refresh’;
});
}

// ============================
// FORM SUBMISSION
// ============================
var form = document.getElementById(‘press-form’);
var successEl = document.getElementById(‘form-success’);

if (form) {
form.addEventListener(‘submit’, function(e) {
e.preventDefault();

// Bot check: honeypot
var hp = document.getElementById(‘bxe_hp’);
if (hp && hp.value)
return;

// Bot check: timestamp (must be > 3 seconds since page load)
if (Date.now() – _pageLoadTs < 3000) return; // Reset validation form.querySelectorAll('.form-input, .form-select, .form-textarea').forEach(function(el) { el.classList.remove('invalid'); }); form.querySelectorAll('.form-error').forEach(function(el) { el.style.display = 'none'; }); // Validate required fields var valid = true; var requiredFields = [ { id: 'first-name', error: 'error-firstname' }, { id: 'last-name', error: 'error-lastname' }, { id: 'email', error: 'error-email' }, { id: 'outlet', error: 'error-outlet' }, { id: 'category', error: 'error-category' }, { id: 'role', error: 'error-role' } ]; requiredFields.forEach(function(field) { var el = document.getElementById(field.id); var errEl = document.getElementById(field.error); if (!el.value || el.value.trim() === '') { el.classList.add('invalid'); if (errEl) errEl.style.display = 'block'; valid = false; } }); // Event selection check if (!selectedEventId) { var eventSelect = document.getElementById('event-select'); if (eventSelect) eventSelect.classList.add('invalid'); document.getElementById('error-event').style.display = 'block'; valid = false; } // Email format check var emailEl = document.getElementById('email'); if (emailEl.value && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailEl.value)) { emailEl.classList.add('invalid'); var errEmail = document.getElementById('error-email'); if (errEmail) errEmail.style.display = 'block'; valid = false; } // Phone validation (optional field, but validate if provided) if (window._validatePhone) { var phoneErr = window._validatePhone(); if (phoneErr) { document.getElementById('phone').classList.add('invalid'); var errPhone = document.getElementById('error-phone'); if (errPhone) { errPhone.textContent = phoneErr; errPhone.style.display = 'block'; } valid = false; } } if (!valid) { var firstInvalid = form.querySelector('.invalid') || document.getElementById('error-event'); if (firstInvalid) { window.scrollTo({ top: firstInvalid.offsetTop - 150, behavior: 'smooth' }); } return; } // Disable submit var submitBtn = form.querySelector('.form-submit'); submitBtn.disabled = true; submitBtn.querySelector('span').textContent = 'Submitting...'; submitBtn.style.opacity = '0.6'; submitBtn.style.cursor = 'not-allowed'; // Build social handles object var socialHandle = document.getElementById('social').value.trim(); var socialHandles = {}; if (socialHandle) { socialHandles.instagram = socialHandle; } // UTM params var urlParams = new URLSearchParams(window.location.search); // Append portfolio URL to reason if provided (API has no dedicated column) var storyAngle = document.getElementById('story-angle').value.trim(); var portfolioUrl = document.getElementById('portfolio').value.trim(); if (portfolioUrl) { storyAngle += '\n\nPortfolio / Recent Work: ' + portfolioUrl; } var outletName = document.getElementById('outlet').value.trim(); var payload = { event_id: selectedEventId, category: document.getElementById('category').value, full_name: document.getElementById('first-name').value.trim() + ' ' + document.getElementById('last-name').value.trim(), email: document.getElementById('email').value.trim().toLowerCase(), phone: window._getPhoneWithCode ? window._getPhoneWithCode() : document.getElementById('phone').value.trim(), outlet_name: outletName, company_name: outletName, website_url: document.getElementById('outlet-url').value.trim(), job_title: document.getElementById('role').value, social_handles: socialHandles, reason: storyAngle, previous_attendance: document.getElementById('prev-attendance').checked, utm_source: urlParams.get('utm_source') || '', utm_medium: urlParams.get('utm_medium') || '', utm_campaign: urlParams.get('utm_campaign') || '' }; fetch(API + '/api/register', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then(function(response) { return response.json().then(function(data) { return { status: response.status, ok: response.ok, data: data }; }); }) .then(function(result) { if (result.ok) { form.style.display = 'none'; successEl.style.display = 'block'; if (result.data.autoApproved) { document.getElementById('success-title').textContent = 'Welcome Back!'; document.getElementById('success-text').textContent = "You've been automatically approved. Check your email for confirmation and portal access."; } // Show confirmation details var detailsEl = document.getElementById('success-details'); if (detailsEl) { detailsEl.style.display = ''; document.getElementById('success-email').textContent = 'Email: ' + payload.email; document.getElementById('success-ref').textContent = 'Ref: ' + (result.data.id || '').slice(0, 8).toUpperCase(); } window.scrollTo({ top: successEl.offsetTop - 200, behavior: 'smooth' }); // Fire PostHog events document.dispatchEvent(new CustomEvent('posthog:email-captured', { detail: { email: payload.email, source: 'press_registration', location: 'apply_section', category: payload.category } })); document.dispatchEvent(new CustomEvent('posthog:form-submitted', { detail: { formName: 'press_registration', location: 'apply_section', category: payload.category, outlet: payload.outlet_name, has_media_outlet: true, inquiryType: 'coverage' } })); } else if (result.status === 409) { resetSubmitBtn(submitBtn); var existingStatus = result.data.status; var statusMap = { pending: 'under review', approved: 'approved', denied: 'not approved', waitlisted: 'waitlisted' }; var statusText = statusMap[existingStatus] || existingStatus; var statusMsg = 'You already have a registration for this event (status: ' + statusText + ').'; if (existingStatus === 'approved') { statusMsg += ' Check your email for portal access and RSVP instructions.'; } else { statusMsg += ' Check your confirmation email for status updates, or contact info@thebureaufashionweek.com.'; } showFormAlert(statusMsg, true); } else if (result.status === 429) { resetSubmitBtn(submitBtn); showFormAlert('Too many submissions. Please wait a moment and try again.'); } else { resetSubmitBtn(submitBtn); showFormAlert(result.data.error || 'Something went wrong. Please try again or email info@thebureaufashionweek.com.'); } }) .catch(function() { resetSubmitBtn(submitBtn); showFormAlert('Something went wrong. Please try again or email info@thebureaufashionweek.com directly.'); }); }); } function resetSubmitBtn(btn) { btn.disabled = false; btn.querySelector('span').textContent = 'Get My Press Credentials'; btn.style.opacity = '1'; btn.style.cursor = 'pointer'; } function showFormAlert(msg, isHtml) { // Show inline error above submit button var existing = document.getElementById('form-alert'); if (existing) existing.remove(); var alertEl = document.createElement('div'); alertEl.id = 'form-alert'; alertEl.style.cssText = 'padding:16px 20px;background:rgba(232,168,124,0.1);border:1px solid var(--urgency);color:var(--urgency);font-family:var(--font-mono);font-size:12px;line-height:1.6;margin-bottom:16px;'; if (isHtml) { alertEl.innerHTML = msg; } else { alertEl.textContent = msg; } var submitBtn = form.querySelector('.form-submit'); submitBtn.parentNode.insertBefore(alertEl, submitBtn); window.scrollTo({ top: alertEl.offsetTop - 150, behavior: 'smooth' }); } function escapeHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } // Initialize loadEvents(); })(); (function() { if (typeof posthog === 'undefined') return; // Page view posthog.capture('page viewed', { page_type: 'press', page_name: document.title, event_id: 'bureau-press-general' }); // UTM attribution var params = new URLSearchParams(window.location.search); var source = params.get('utm_source') || ''; var medium = params.get('utm_medium') || ''; var campaign = params.get('utm_campaign') || ''; if (source || campaign) { posthog.setPersonPropertiesOnce({ first_touch_source: source || undefined, first_touch_medium: medium || undefined, first_touch_campaign: campaign || undefined, first_landing_page: window.location.pathname, first_referrer: document.referrer || undefined, first_seen_date: new Date().toISOString() }); posthog.setPersonProperties({ last_touch_source: source || undefined, last_touch_campaign: campaign || undefined, last_seen_date: new Date().toISOString() }); } // Email capture listener document.addEventListener('posthog:email-captured', function(e) { var d = e.detail || {}; posthog.capture('email captured', { capture_source: d.source || 'form', capture_location: d.location || 'section', email_domain: d.email ? d.email.split('@')[1] : undefined, has_marketing_consent: true, contact_category: d.category || 'press', category_source: 'form_submission' }); if (d.email) { posthog.identify(d.email, { email: d.email }); posthog.setPersonProperties({ has_email: true, contact_category: d.category || 'press', marketing_consent: true, last_seen_date: new Date().toISOString() }); posthog.setPersonPropertiesOnce({ first_capture_source: d.source || 'form', email_captured_date: new Date().toISOString() }); } }); // Form submission listener document.addEventListener('posthog:form-submitted', function(e) { var d = e.detail || {}; posthog.capture('form submitted', { form_name: d.formName || 'unknown', form_location: d.location || 'section', contact_category: d.category || 'press', category_confidence: 'high', has_media_outlet: !!d.outlet, inquiry_type: d.inquiryType || undefined }); var form = document.querySelector('form[data-track-form="' + d.formName + '"]'); if (form) form.setAttribute('data-submitted', 'true'); posthog.setPersonProperties({ contact_category: d.category || 'press', category_identified_date: new Date().toISOString() }); }); // CTA click tracking document.addEventListener('click', function(e) { var cta = e.target.closest('a[data-track-cta], .hero__cta, .hero__cta-secondary, .sticky-cta, .mobile-cta-btn, .conversion-strip__btn, .post-faq-cta__btn'); if (!cta) return; var href = cta.getAttribute('href') || ''; var text = (cta.innerText || '').trim().substring(0, 60); posthog.capture('cta clicked', { cta_text: text, cta_destination: href.charAt(0) === '#' ? 'anchor' : (href.indexOf('mailto:') === 0 ? 'email' : 'external'), page_type: 'press' }); }); // Scroll milestones var milestones = [25, 50, 75, 100]; var tracked = {}; var startTime = Date.now(); window.addEventListener('scroll', function() { var scrollHeight = document.body.scrollHeight - window.innerHeight; if (scrollHeight = m && !tracked[m]) { tracked[m] = true; posthog.capture('scroll milestone reached', { scroll_depth_percent: m, time_to_milestone_seconds: Math.round((Date.now() - startTime) / 1000), page_type: 'press' }); } } }, { passive: true }); // Form start + abandonment tracking var pressForm = document.getElementById('press-form'); if (pressForm) { var formStarted = false; pressForm.addEventListener('focusin', function() { if (!formStarted) { formStarted = true; posthog.capture('form started', { form_name: 'press_registration', form_location: 'apply_section', page_type: 'press' }); } }); window.addEventListener('beforeunload', function() { if (formStarted && pressForm.getAttribute('data-submitted') !== 'true') { posthog.capture('form abandoned', { form_name: 'press_registration', form_location: 'apply_section', page_type: 'press' }); } }); } })(); \n\n[/cs_content_seo][/cs_element_layout_column][/cs_element_layout_row][/cs_element_section][/cs_content]