.tbc-booking-wrapper {
max-width: 100%;
font-family: 'Montserrat', Arial, sans-serif;
}
.tbc-booking-form {
display:flex;
align-items:stretch;
height:var(--cw-height);
border:1px solid #ddd;
background:#fff;
position:relative;
}
.tbc-booking-form .tbc-group {
display: flex;
flex-direction: column;
flex: 0 0 auto;
border-right: 1px solid #ddd;
position: relative;
}
.tbc-booking-form .tbc-group:last-child {
border-right: none;
}
.tbc-custom-select {
position: relative;
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
border-right: 1px solid #ddd;
}
.tbc-select-trigger {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 10px;
background-color: #fff;
cursor: pointer;
height: 100%;
min-height: 40px;
font-size: 12px;
gap: 1px;
user-select: none;
transition: background-color 0.15s;
-webkit-tap-highlight-color: transparent;
box-sizing: border-box;
}
.tbc-select-trigger:hover {
background-color: #f9f9f9;
}
.tbc-select-value {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #333;
}
.tbc-select-value.tbc-placeholder {
color: #999;
}
.tbc-chevron {
flex-shrink: 0;
transition: transform 0.2s ease;
color: #999;
}
.tbc-custom-select.tbc-open .tbc-chevron {
transform: rotate(180deg);
}
.tbc-select-dropdown {
display: none;
position: absolute;
top: calc(100% + 1px);
left: -1px;
right: -1px;
width: auto;
min-width: 100%;
background: #fff;
border: 1px solid #ccc;
border-radius: 0;
z-index: 99999;
max-height: 340px;
overflow-y: auto;
box-shadow: 0 8px 20px rgba(0,0,0,0.13);
box-sizing: border-box;
pointer-events: auto;
}
.tbc-custom-select.tbc-open .tbc-select-dropdown {
display: block;
}
.tbc-city-item {
padding: 9px 16px;
font-size: 12px;
color: #333;
cursor: pointer;
transition: background 0.1s, color 0.1s;
}
.tbc-city-item:hover,
.tbc-city-item:active {
background:rgba(0,0,0,0.04); /* 👈 au lieu du noir direct */
color: #000;
}
.tbc-option-group-label {
padding: 9px 14px 6px;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.6px;
color: #888;
background: #f7f7f7;
border-bottom: 1px solid #ebebeb;
cursor: default;
pointer-events: none;
}
.tbc-option-group-label:not(:first-child) {
border-top: 1px solid #ebebeb;
}
.tbc-option-item {
padding: 9px 14px 9px 24px;
font-size: 11px;
color: #333;
cursor: pointer;
transition: background 0.1s, color 0.1s;
}
.tbc-option-item:hover,
.tbc-option-item:active {
background:rgba(0,0,0,0.04); /* 👈 au lieu du noir direct */
color: #000;
}
.tbc-option-item.tbc-hidden {
display: none !important;
}
.tbc-booking-form button {
flex:0 0 auto;
height:100%;
padding:0 22px;
background:#000;
color:#fff;
border:none;
font-size:12px;
font-weight:600;
letter-spacing:0.5px;
text-transform:uppercase;
cursor:pointer;
transition:background 0.2s;
-webkit-tap-highlight-color:transparent;
border-radius:0 !important;
font-family: 'Montserrat', Arial, sans-serif;
}
.tbc-booking-form button:hover {
background-color: #B1A795;
}
.tbc-booking-form button:active,
.tbc-booking-form button:focus,
.tbc-booking-form button:focus-visible {
background-color: #000 !important;
outline: none !important;
box-shadow: none !important;
}
@media (max-width: 900px) {
.tbc-booking-form {
flex-direction: column;
}
.tbc-booking-form .tbc-group,
.tbc-custom-select {
width: 100%;
flex: 0 0 auto;
border-right: none !important;
border-bottom: 1px solid #ddd;
box-sizing: border-box;
}
.tbc-booking-form .tbc-group:last-child {
border-bottom: none;
}
.tbc-select-trigger {
font-size: 12px;
padding: 10px 15px;
justify-content: center;
}
.tbc-select-value {
text-align: center;
}
.tbc-select-dropdown {
left: 0;
right: 0;
width: 100%;
border-radius: 0;
}
.tbc-city-item,
.tbc-option-item {
font-size: 12px;
text-align: center;
}
.tbc-booking-form button {
padding: 10px 10px;
font-size: 12px;
}
}
(function () {
var urls = {
bordeaux: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/coliving",
en: "https://www.thebabelcommunity.com/en/bordeaux/coliving"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coliving&sousbu=Coliving%20Moyen%20et%20long%20séjour&cta=contact&residence=Bordeaux%20Chartrons&ville=Bordeaux",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coliving&sousbu=Coliving%20Moyen%20et%20long%20séjour&cta=contact&residence=Bordeaux%20Chartrons&ville=Bordeaux&langue=anglais"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/hotel",
en: "https://www.thebabelcommunity.com/en/bordeaux/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/12059380-5882-407e-82e8-b43a0120e224",
en: "https://app.mews.com/distributor/12059380-5882-407e-82e8-b43a0120e224"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/coworking",
en: "https://www.thebabelcommunity.com/en/bordeaux/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/f76ea402-634a-42cf-8dfc-b4330092c588",
en: "https://app.mews.com/distributor/f76ea402-634a-42cf-8dfc-b4330092c588"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/coworking",
en: "https://www.thebabelcommunity.com/en/bordeaux/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Bordeaux&residence=Bordeaux%20Chartrons&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Bordeaux&residence=Bordeaux%20Chartrons&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/coworking",
en: "https://www.thebabelcommunity.com/en/bordeaux/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Bordeaux%20Chartrons&ville=Bordeaux&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Bordeaux%20Chartrons&ville=Bordeaux&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/bordeaux/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/c2d53b47-4537-4d12-ba11-b43a0120e224",
en: "https://app.mews.com/distributor/c2d53b47-4537-4d12-ba11-b43a0120e224"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/restaurant",
en: "https://www.thebabelcommunity.com/en/bordeaux/restaurant"
},
reserver: {
fr: "https://www.thebabelcommunity.com/bordeaux/restaurant",
en: "https://www.thebabelcommunity.com/en/bordeaux/restaurant"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/events",
en: "https://www.thebabelcommunity.com/en/bordeaux/events"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Bordeaux%20Chartrons&ville=Bordeaux&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Bordeaux%20Chartrons&ville=Bordeaux&marque=thebabelcommunity&langue=anglais"
}
},
Gymnase: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/bordeaux/sports",
en: "https://www.thebabelcommunity.com/en/bordeaux/sports"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence= bordeauxchartrons&ville=bORDEAUX&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=marseillevieuxport&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
}
},
grenoble: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/coliving",
en: "https://www.thebabelcommunity.com/en/grenoble/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:grenoblebastille",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:grenoble-bastille"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/hotel",
en: "https://www.thebabelcommunity.com/en/grenoble/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/e79e98b9-d07f-47ce-8c74-b34d007ef70b",
en: "https://app.mews.com/distributor/e79e98b9-d07f-47ce-8c74-b34d007ef70b"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/coworking",
en: "https://www.thebabelcommunity.com/en/grenoble/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/64a7c91a-b327-4a24-844c-b34d007ef70b",
en: "https://app.mews.com/distributor/64a7c91a-b327-4a24-844c-b34d007ef70b"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/coworking",
en: "https://www.thebabelcommunity.com/en/grenoble/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Grenoble&residence=grenoblebastille&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Grenoble&residence=grenoblebastille&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/coworking",
en: "https://www.thebabelcommunity.com/en/grenoble/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=grenoblebastille&ville=grenoble&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=grenoblebastille&ville=grenoble&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/grenoble/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/2675b91f-1c3c-488a-bde6-b34d007ef70b",
en: "https://app.mews.com/distributor/2675b91f-1c3c-488a-bde6-b34d007ef70b"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/restaurant",
en: "https://www.thebabelcommunity.com/en/grenoble/restaurant"
},
reserver: {
fr: "https://bookings.zenchef.com/results?rid=360657&pid=1001",
en: "https://bookings.zenchef.com/results?rid=360657&pid=1001"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/grenoble/events",
en: "https://www.thebabelcommunity.com/en/grenoble/events"
},
reserver: {
fr: "https://form.typeform.com/to/suNMnN7c?cta=organiser&residence=grenoblebastille&ville=grenoble&marque=ciel&bu=restaurant",
en: "https://form.typeform.com/to/suNMnN7c?cta=organiser&residence=grenoblebastille&ville=grenoble&marque=ciel&bu=restaurant&langue=anglais"
}
}
},
lille: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/coliving",
en: "https://www.thebabelcommunity.com/en/lille/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:lillelespres",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:lille-les-pres"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/hotel",
en: "https://www.thebabelcommunity.com/en/lille/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/468a4fd1-5c3b-4aa9-8e75-b2c100bc6a83",
en: "https://app.mews.com/distributor/468a4fd1-5c3b-4aa9-8e75-b2c100bc6a83"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/coworking",
en: "https://www.thebabelcommunity.com/en/lille/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/3874573a-c977-44b8-831d-b332008da203",
en: "https://app.mews.com/distributor/3874573a-c977-44b8-831d-b332008da203"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/coworking",
en: "https://www.thebabelcommunity.com/en/lille/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Lille&residence=Lille%20Les%20Pres&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Lille&residence=Lille%20Les%20Pres&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/coworking",
en: "https://www.thebabelcommunity.com/en/lille/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Lille%20Les%20Pres&ville=Lille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Lille%20Les%20Pres&ville=Lille&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/lille/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/837f92c8-f853-4318-a577-b2ff0106e92f",
en: "https://app.mews.com/distributor/837f92c8-f853-4318-a577-b2ff0106e92f"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/restaurant",
en: "https://www.thebabelcommunity.com/en/lille/restaurant"
},
reserver: {
fr: "https://bookings.zenchef.com/results?rid=376749&pid=1001",
en: "https://bookings.zenchef.com/results?rid=376749&pid=1001"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/events",
en: "https://www.thebabelcommunity.com/en/lille/events"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Lille%20Les%20Pres&ville=Lille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Lille%20Les%20Pres&ville=Lille&marque=thebabelcommunity&langue=anglais"
}
},
Gymnase: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/sports",
en: "https://www.thebabelcommunity.com/en/lille/sports"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=lillelesprés&ville=Lille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=lillelesprés&ville=Lille&marque=thebabelcommunity&langue=anglais"
}
},
CoursCollectifs: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/lille/sports/#agenda_sport"
},
reserver: {
fr: "https://www.thebabelcommunity.com/lille/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/lille/sports/#agenda_sport"
}
},
Squash: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/lille/sports",
en: "https://www.thebabelcommunity.com/en/lille/sports"
},
reserver: {
fr: "https://www.anybuddyapp.com/club-the-babel-community-villeneuve-dascq/reservation/squash?activity=squash",
en: "https://www.anybuddyapp.com/club-the-babel-community-villeneuve-dascq/reservation/squash?activity=squash"
}
}
},
marseille_republique: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/coliving",
en: "https://www.thebabelcommunity.com/en/marseille/republique/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:marseillerepublique",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:marseille-republique"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/republique/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/a7532658-bf24-45ea-bb33-b3a100c8ed69",
en: "https://app.mews.com/distributor/a7532658-bf24-45ea-bb33-b3a100c8ed69"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/republique/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Marseille&residence=marseillerepublique&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Marseille&residence=marseillerepublique&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/republique/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/marseille/republique/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/5b2c9192-095b-4f99-a66a-b3a100c8ed69",
en: "https://app.mews.com/distributor/5b2c9192-095b-4f99-a66a-b3a100c8ed69"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/restaurant",
en: "https://www.thebabelcommunity.com/en/marseille/republique/restaurant"
},
reserver: {
fr: "https://bookings.zenchef.com/results?rid=356798&pid=1001",
en: "https://bookings.zenchef.com/results?rid=356798&pid=1001"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/events",
en: "https://www.thebabelcommunity.com/en/marseille/republique/events"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
},
Gymnase: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/sports",
en: "https://www.thebabelcommunity.com/en/marseille/republique/sports"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=marseillerepublique&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
},
CoursCollectifs: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/republique/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/marseille/republique/sports/#agenda_sport"
},
reserver: {
fr: "https://www.thebabelcommunity.com/marseille/republique/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/marseille/republique/sports/#agenda_sport"
}
}
},
marseille_vieux_port: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/coliving",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:marseillevieuxport",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:marseille-vieux-port"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/hotel",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/3193c848-dc87-4244-8c94-b3a100c8ed69",
en: "https://app.mews.com/distributor/3193c848-dc87-4244-8c94-b3a100c8ed69"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/a7532658-bf24-45ea-bb33-b3a100c8ed69",
en: "https://app.mews.com/distributor/a7532658-bf24-45ea-bb33-b3a100c8ed69"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Marseille&residence=marseillevieuxport&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Marseille&residence=marseillevieuxport&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/coworking",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=marseillevieuxport&ville=marseille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=marseillevieuxport&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/5b2c9192-095b-4f99-a66a-b3a100c8ed69",
en: "https://app.mews.com/distributor/5b2c9192-095b-4f99-a66a-b3a100c8ed69"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/restaurant",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/restaurant"
},
reserver: {
fr: "https://bookings.zenchef.com/results?rid=356460&pid=1001",
en: "https://bookings.zenchef.com/results?rid=356460&pid=1001"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/events",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/events"
},
reserver: {
fr: "https://form.typeform.com/to/suNMnN7c?cta=organiser&residence=marseillevieuxport&ville=marseille&marque=ciel&bu=restaurant",
en: "https://form.typeform.com/to/suNMnN7c?cta=organiser&residence=marseillevieuxport&ville=marseille&marque=ciel&bu=restaurant&langue=anglais"
}
},
Gymnase: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/sports",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/sports"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=marseillevieuxport&ville=Marseille&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=marseillevieuxport&ville=marseille&marque=thebabelcommunity&langue=anglais"
}
},
CoursCollectifs: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/sports/#agenda_sport"
},
reserver: {
fr: "https://www.thebabelcommunity.com/marseille/vieux-port/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/marseille/vieux-port/sports/#agenda_sport"
}
}
},
montpellier: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/coliving",
en: "https://www.thebabelcommunity.com/en/montpellier/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:montpellierantigone",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:montpellier-antigone"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/hotel",
en: "https://www.thebabelcommunity.com/en/montpellier/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/19655fc6-570d-47aa-b8c3-b34d007dba48",
en: "https://app.mews.com/distributor/19655fc6-570d-47aa-b8c3-b34d007dba48"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/coworking",
en: "https://www.thebabelcommunity.com/en/montpellier/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/580367bc-d34e-405b-b1c5-b34d007dba48",
en: "https://app.mews.com/distributor/580367bc-d34e-405b-b1c5-b34d007dba48"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/coworking",
en: "https://www.thebabelcommunity.com/en/montpellier/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=montpellierantigone&ville=montpellier&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=montpellierantigone&ville=montpellier&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/montpellier/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/7ae89ff6-4e82-42d0-9679-b34d007dba48",
en: "https://app.mews.com/distributor/7ae89ff6-4e82-42d0-9679-b34d007dba48"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/montpellier/events",
en: "https://www.thebabelcommunity.com/en/montpellier/events"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Restaurant&cta=organiser&residence=montpellierantigone&ville=montpellier&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Restaurant&cta=organiser&residence=montpellierantigone&ville=montpellier&marque=thebabelcommunity&langue=anglais"
}
}
},
paris_montigny: {
Coliving: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/coliving",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/coliving"
},
reserver: {
fr: "https://www.thebabelcommunity.com/reservation-hebergement/?jsf=jet-engine:product-display-filter&tax=pa_residence:parismontigny",
en: "https://www.thebabelcommunity.com/en/accommodation-booking/?jsf=jet-engine:product-display-filter&tax=pa_residence:paris-montigny"
}
},
Hotel: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/hotel",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/hotel"
},
reserver: {
fr: "https://app.mews.com/distributor/5fab45c8-0b03-47d5-8847-b3760158ef55",
en: "https://app.mews.com/distributor/5fab45c8-0b03-47d5-8847-b3760158ef55"
}
},
OpenSpaceJournee: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/coworking",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/coworking"
},
reserver: {
fr: "https://app.mews.com/distributor/c3ce0ad1-0979-48bd-9f45-b3760158ef55",
en: "https://app.mews.com/distributor/c3ce0ad1-0979-48bd-9f45-b3760158ef55"
}
},
OpenSpaceMois: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/coworking",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Paris&residence=Paris%20Montigny&cta=reservationautonome&marque=thebabelcommunity",
en: "https://form.typeform.com/to/BHZqswsi?bu=Coworking&sousbu=Open%20Space&ville=Paris&residence=Paris%20Montigny&cta=reservationautonome&marque=thebabelcommunity&langue=anglais"
}
},
LocationBureau: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/coworking",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/coworking"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Paris%20Montigny&ville=Paris&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Coworking&sousbu=Location%20de%20bureaux&cta=contact&residence=Paris%20Montigny&ville=Paris&marque=thebabelcommunity&langue=anglais"
}
},
SalleReunion: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/salles-de-reunion",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/meeting-rooms"
},
reserver: {
fr: "https://app.mews.com/distributor/00994c45-8c8e-4e6c-9b95-b3760158ef55",
en: "https://app.mews.com/distributor/00994c45-8c8e-4e6c-9b95-b3760158ef55"
}
},
ReserverTable: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/restaurant",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/restaurant"
},
reserver: {
fr: "https://bookings.zenchef.com/results?rid=379346&pid=1001",
en: "https://bookings.zenchef.com/results?rid=379346&pid=1001"
}
},
PrivatiserRestaurant: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/events",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/events"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Paris%20Montigny&ville=Paris&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=restaurant&cta=organiser&residence=Paris%20Montigny&ville=Paris&marque=thebabelcommunity&langue=anglais"
}
},
Gymnase: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/sports",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/sports"
},
reserver: {
fr: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=parismontigny&ville=Paris&marque=thebabelcommunity",
en: "https://form.typeform.com/to/ZQ8hZtoe?bu=Sport&cta=telecharger&residence=parismontigny&ville=Paris&marque=thebabelcommunity&langue=anglais"
}
},
CoursCollectifs: {
decouvrir: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/sports/#agenda_sport"
},
reserver: {
fr: "https://www.thebabelcommunity.com/paris/montigny-le-bretonneux/sports/#agenda_sport",
en: "https://www.thebabelcommunity.com/en/paris/montigny-le-bretonneux/sports/#agenda_sport"
}
}
}
};
var pageLang = (document.documentElement.lang || "fr").toLowerCase().substring(0, 2);
var isEN = (pageLang === "en");
var cityWrap = document.getElementById("tbc-city-select");
var cityTrigger = document.getElementById("tbc-city-trigger");
var cityDropdown = document.getElementById("tbc-city-dropdown");
var cityDisplay = document.getElementById("tbc-city-display");
var cityHidden = document.getElementById("tbc-city-hidden");
var actWrap = document.getElementById("tbc-activity-select");
var actTrigger = document.getElementById("tbc-activity-trigger");
var actDropdown = document.getElementById("tbc-activity-dropdown");
var actDisplay = document.getElementById("tbc-activity-display");
var actHidden = document.getElementById("tbc-activity");
var selectedAct = "";
if (isEN) {
cityDisplay.textContent = "Which residence?";
var cityLabels = {
bordeaux: "Bordeaux",
grenoble: "Grenoble",
lille: "Lille",
marseille_republique: "Marseille République",
marseille_vieux_port: "Marseille Vieux-Port",
montpellier: "Montpellier",
paris_montigny: "Paris Montigny"
};
cityDropdown.querySelectorAll(".tbc-city-item").forEach(function(el) {
if (cityLabels[el.dataset.value]) el.textContent = cityLabels[el.dataset.value];
});
actDisplay.textContent = "What are you looking for?";
var grpLabels = {
"grp-hebergement": "Accommodation",
"grp-coworking": "Coworking",
"grp-restaurant": "Restaurant",
"grp-sports": "Sports"
};
actDropdown.querySelectorAll(".tbc-option-group-label").forEach(function(el) {
if (grpLabels[el.dataset.key]) el.textContent = grpLabels[el.dataset.key];
});
actDropdown.querySelectorAll(".tbc-option-item").forEach(function(el) {
var lbl = el.getAttribute("data-label-en");
if (lbl) {
el.dataset.label = lbl;
el.textContent = lbl;
}
});
document.getElementById("tbc-btn-decouvrir").textContent = "Discover";
document.getElementById("tbc-btn-reserver").textContent = "Book";
} else {
actDropdown.querySelectorAll(".tbc-option-item").forEach(function(el) {
var lbl = el.getAttribute("data-label-fr");
if (lbl) el.dataset.label = lbl;
});
}
function closeAll() {
[cityWrap, actWrap].forEach(function(w) {
w.classList.remove("tbc-open");
});
cityTrigger.setAttribute("aria-expanded", "false");
actTrigger.setAttribute("aria-expanded", "false");
}
function openSelect(wrapEl, triggerEl) {
var isOpen = wrapEl.classList.contains("tbc-open");
closeAll();
if (!isOpen) {
wrapEl.classList.add("tbc-open");
triggerEl.setAttribute("aria-expanded", "true");
}
}
cityTrigger.addEventListener("click", function(e) {
e.stopPropagation();
openSelect(cityWrap, cityTrigger);
});
actTrigger.addEventListener("click", function(e) {
e.stopPropagation();
openSelect(actWrap, actTrigger);
});
cityDropdown.addEventListener("click", function(e) {
e.stopPropagation();
var item = e.target.closest(".tbc-city-item");
if (!item) return;
cityHidden.value = item.dataset.value;
cityDisplay.textContent = item.textContent;
cityDisplay.classList.remove("tbc-placeholder");
cityWrap.classList.remove("tbc-open");
cityTrigger.setAttribute("aria-expanded", "false");
filterActivity(item.dataset.value);
});
actDropdown.addEventListener("click", function(e) {
e.stopPropagation();
var item = e.target.closest(".tbc-option-item");
if (!item || item.classList.contains("tbc-hidden")) return;
selectedAct = item.dataset.value;
actDisplay.textContent = item.dataset.label || item.textContent;
actDisplay.classList.remove("tbc-placeholder");
actHidden.value = selectedAct;
actWrap.classList.remove("tbc-open");
actTrigger.setAttribute("aria-expanded", "false");
});
document.addEventListener("click", closeAll);
document.addEventListener("keydown", function(e) {
if (e.key === "Escape") closeAll();
});
function filterActivity(city) {
actDropdown.querySelectorAll(".tbc-option-item").forEach(function(item) {
var excl = item.dataset.exclude ? item.dataset.exclude.split(",") : [];
var only = item.dataset.only ? item.dataset.only.split(",") : null;
var show = true;
if (city && excl.indexOf(city) > -1) show = false;
if (city && only && only.indexOf(city) -1 ? "&" : "?") + "mewsEnd=" + y + "-" + mo + "-" + d;
}
window.open(url, "_blank");
}
// ✅ PRÉSELECTION grenoble
(function() {
var bordeauxItem = cityDropdown.querySelector('[data-value="grenoble"]');
if (bordeauxItem) {
cityHidden.value = 'grenoble';
cityDisplay.textContent = bordeauxItem.textContent;
cityDisplay.classList.remove('tbc-placeholder');
filterActivity('grenoble');
}
})();
document.getElementById("tbc-btn-decouvrir").addEventListener("click", function() {
navigate("decouvrir");
});
document.getElementById("tbc-btn-reserver").addEventListener("click", function() {
navigate("reserver");
});
})();