diff --git a/content/events/2026-barcelona/conduct.md b/content/events/2026-barcelona/conduct.md index a43a3fce492..25db752097d 100644 --- a/content/events/2026-barcelona/conduct.md +++ b/content/events/2026-barcelona/conduct.md @@ -4,21 +4,20 @@ Type = "event" Description = "Code of conduct for DevOpsDays Barcelona 2026" +++ - -## Conference Code of Conduct + -
All attendees, speakers, sponsors, and volunteers at DevOpsDays Barcelona 2026 are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensure a safe environment for everybody.
+
----- +

All attendees, speakers, sponsors, and volunteers at DevOpsDays Barcelona 2026 are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensure a safe environment for everybody.

+ +

The Quick Version

-## The Quick Version Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers. -## The Less Quick Version +
+ +

The Less Quick Version

+ Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately. @@ -27,11 +26,17 @@ Sponsors are also subject to the anti-harassment policy. In particular, sponsors If a participant engages in harassing behavior, the conference organisers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund. -If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff can be identified as they'll be wearing branded clothing and/or badges. - -Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance. +
+

If You Need Help

+

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff can be identified as they'll be wearing branded clothing and/or badges.

+

Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

+

You can also reach the organizers at {{< email_organizers >}}

+
We expect participants to follow these rules at conference and workshop venues and conference-related social events. ----- -_The DevOpsDays Barcelona 2026 Code of Conduct is based on [confcodeofconduct.com](https://confcodeofconduct.com)._ +
+ +_The DevOpsDays Barcelona 2026 Code of Conduct is based on [confcodeofconduct.com](https://confcodeofconduct.com)._ + +
diff --git a/content/events/2026-barcelona/contact.md b/content/events/2026-barcelona/contact.md index 628969f6003..524c1c182dc 100644 --- a/content/events/2026-barcelona/contact.md +++ b/content/events/2026-barcelona/contact.md @@ -4,11 +4,28 @@ Type = "event" Description = "Contact information for DevOpsDays Barcelona 2026" +++ -If you'd like to contact us by email: {{< email_organizers >}} + -**Our local team** +
+ +

DevOpsDays Barcelona is put together by a volunteer team from the local community. Whether you want to sponsor the conference, help out on the day, or just ask a question, we would like to hear from you.

+ +
+ {{< event_social_linkedin >}} + Follow DevOpsDays Barcelona on LinkedIn +
+ +
+

Email the organizers
One of the team will get back to you.

+

{{< email_organizers >}}

+
+ +

Our Local Team

{{< list_organizers >}} +
{{< list_core >}} + +
diff --git a/content/events/2026-barcelona/location.md b/content/events/2026-barcelona/location.md index 8ba468de23d..e3d3f71df55 100644 --- a/content/events/2026-barcelona/location.md +++ b/content/events/2026-barcelona/location.md @@ -4,18 +4,69 @@ Type = "event" Description = "Location for devopsdays Barcelona 2026" +++ + + +
+ +
+ +
+
+ Venue +
+
+ BAU, Centre Universitari d'Arts i Disseny +
+
+ +
+
+ Address +
+
+ c/ Pujades, 118, 08005 Barcelona +
+
+ +
+
+ Neighbourhood +
+
+ Poblenou, the 22@ innovation district +
+
+ +
+
+ Dates +
+
+ {{< event_start >}} - {{< event_end >}} +
+
+ +
+ The DevOpsDays Barcelona 2026 conference will take place at BAU, College of Arts and Design in Barcelona. Located in the heart of Poblenou—the city’s vibrant technological and innovation district (22@), this venue is housed in a beautifully restored industrial building that formerly served as a textile warehouse. The space seamlessly blends its industrial heritage with a modern, creative atmosphere. Attendees will experience a dynamic environment where high ceilings and industrial architecture meet design workshops and research laboratories. Its location in Poblenou places the event just a short walk from the beach and surrounded by the creative energy of Barcelona’s local tech and design community. -[BAU Campus Barcelona](https://www.baued.es/en/bau/campus-bau) +
- {{< event_map >}} +
+ +

+ Visit the BAU campus site +

+ - + +
diff --git a/content/events/2026-barcelona/sponsor.md b/content/events/2026-barcelona/sponsor.md index 8d8e7f769e2..5ecd8d58f7d 100644 --- a/content/events/2026-barcelona/sponsor.md +++ b/content/events/2026-barcelona/sponsor.md @@ -4,138 +4,44 @@ Type = "event" Description = "Sponsor devopsdays Barcelona 2026" +++ - + -
+
- +

DevOpsDays comes back to Barcelona on 13–14 November 2026 at BAU, Centre Universitari d'Arts i Disseny – the first time since 2013. Sponsoring puts your company alongside a trusted, community-driven event with global reach and local impact.

-

Why Sponsor DevOpsDays Barcelona 2026?

+

Why Sponsor?

-
-
-

Brand Recognition And Awareness

+
+
+

Brand Recognition

Your brand will be identified as a contributor to our community with promotional opportunities consistent with your level of sponsorship.

-
-

Reach the Right Audience

+
+

The Right Audience

Your sponsorship positions your brand in front of a focused, high-quality audience of engineers and technology leaders who value authentic learning, collaboration, and community.

-
+

Recruiting

DevOpsDays Barcelona provides access to a concentrated talent pool across multiple technology disciplines and levels of experience.

-
-

Audience & Attendee Demographics

-

DevOpsDays Barcelona will host over 220 attendees, including:

+

Who You'll Meet

+ +
+
+ 220+ + Conference attendees on Saturday +
+
+ 75+ + Workshop attendees on Friday +
+
+ +
+

Who Comes to DevOpsDays Barcelona

  • Developers and Engineers from across the DevOps landscape
  • Tech Leaders and Managers interested in DevOps transformations
  • @@ -145,30 +51,11 @@ Description = "Sponsor devopsdays Barcelona 2026"
- - - diff --git a/content/events/2026-barcelona/welcome.md b/content/events/2026-barcelona/welcome.md index b759aeb1674..5c8001d14a2 100644 --- a/content/events/2026-barcelona/welcome.md +++ b/content/events/2026-barcelona/welcome.md @@ -4,53 +4,19 @@ Type = "welcome" aliases = ["/events/2026-barcelona/"] Description = "DevOpsDays Barcelona 2026" +++ - - - + + +
+ +
+
+ +
+ {{< event_social_linkedin >}} + Follow DevOpsDays Barcelona on LinkedIn +
+ +
@@ -70,14 +36,10 @@ Description = "DevOpsDays Barcelona 2026"
-
-
- Register -
-
- {{< event_link page="registration" text="Register to attend the conference!" >}} -
-
+ +
- Speakers + Contact
- Check out the {{< event_link page="speakers" text="speakers!" >}} + {{< event_link page="contact" text="Get in touch with the organizers" >}}
-
-
- Sponsors -
-
- {{< event_link page="sponsor" text="Sponsor the conference!" >}} -
- -
-
- Contact + + +
+ +

The Program Is Live

+ + + +

What's in Store?

+ +
+
+

Great Talks

+

Hear from industry leaders and local experts on all sorts of topics, from making things automatic and using cloud tech to security and how companies are changing their ways.

-
- {{< event_link page="contact" text="Get in touch with the organizers" >}} +
+

Open Spaces

+

This is where the real magic happens! You can suggest and lead discussions on topics that matter most to you, creating natural learning and teamwork.

+
+
+

Time to Connect

+

Meet new people, build relationships, and share ideas in a friendly and welcoming setting.

-------- - - - - - - -
-

Hola, Barcelona! We're Back!

-

- After a long break, we're absolutely thrilled to announce that DevOpsDays is coming back to Barcelona in 2026! It's been over ten years since our last event here in 2013, and things in the world of DevOps have changed so much. We're really excited to bring the global DevOpsDays community back to our amazing city. -

-

- Get ready to meet up with fellow professionals, share what you've learned, and discover the newest ideas, tools, and ways of working in DevOps. Whether you've been doing this for ages or are just starting out, this is your chance to jump into open discussions, find fresh perspectives, and help make our local DevOps community even stronger. -

-

What's in Store?

-
    -
  • Great Talks: Hear from industry leaders and local experts on all sorts of topics, from making things automatic and using cloud tech to security and how companies are changing their ways.
  • -
  • Interactive Open Spaces: This is where the real magic happens! You can suggest and lead discussions on topics that matter most to you, creating natural learning and teamwork.
  • -
  • Plenty of Chances to Connect: Meet new people, build relationships, and share ideas in a friendly and welcoming setting.
  • -
-

- We're busy planning an awesome event, and we can't wait to welcome you back to DevOpsDays Barcelona. Keep an eye out for more details on how to get involved as a speaker, sponsor or even a volunteer. -

-

- Let's make this return bigger and better than ever before! -

-

- Got questions or want to help out? Don't hesitate to reach out – we'd love to chat! -

-
- {{< event_logo >}} -
DevOpsDays Barcelona 2026 -
+

+ The call for proposals is closed and the program is set. Take a look at the talks and at the speakers joining us in November, then register for the two days. +

+

+ There is still room for sponsors, and we would love to hear from anyone who wants to help make this edition happen. +

+

+ Let's make this return bigger and better than ever before! +

+ +
+

See you on 13–14 November.
Register, sponsor the conference, or just say hello – we'd love to chat!

+ Register now + Sponsor the conference + Contact us +
+ +
diff --git a/data/events/2026/barcelona/main.yml b/data/events/2026/barcelona/main.yml index 767d9ffae35..bbf18fcd935 100644 --- a/data/events/2026/barcelona/main.yml +++ b/data/events/2026/barcelona/main.yml @@ -2,7 +2,7 @@ name: "2026-barcelona" # The name of the event. Four digit year with the city na year: "2026" # The year of the event. Make sure it is in quotes. city: "Barcelona" # The displayed city name of the event. Capitalize it. event_twitter: "devopsdays" # Change this to the twitter handle for your event such as devopsdayschi or devopsdaysmsp -description: "Devopsdays is coming to Barcelona!" # Edit this to suit your preferences +description: "After more than ten years, we're back!" # Edit this to suit your preferences ga_tracking_id: "" # If you have your own Google Analytics tracking ID, enter it here. Example: "UA-74738648-1" # All dates are in unquoted 2026-MM-DDTHH:MM:SS+TZ:TZ, like this: @@ -30,10 +30,13 @@ registration_link: "" # If you have a custom registration link, enter it here. T # # coordinates: "" # No longer used -location: "Barcelona" # Defaults to city, but you can make it the venue name. +location: "BAU, Centre Universitari d'Arts i Disseny" # Defaults to city, but you can make it the venue name. # location_address: "c/ Pujades, 118, 08005 Barcelona" #Optional - use the street address of your venue. This will show up on the welcome page if set. Also used by the event_map shortcode! +# Which social share buttons to show. We only have email and LinkedIn. +social_shares: ["email", "linkedin"] + # Optional - Social badges # These can be used in the body of any page via matching shortcodes. See sample: https://devopsdays.org/events/2025-denver/welcome/ event_social_linkedin: "https://linkedin.com/company/devopsdays-bcn/" # Change this to the url to your Linkedin group, company, or page. diff --git a/static/events/2026-barcelona/main.css b/static/events/2026-barcelona/main.css new file mode 100644 index 00000000000..db1905ab24c --- /dev/null +++ b/static/events/2026-barcelona/main.css @@ -0,0 +1,547 @@ +/* Palette sampled from the DevOpsDays Barcelona logo: + navy #111224 · cyan #00BAEB · amber #F9CD34 · crimson #F11647 · cream #FFFCF0 */ + +/* Masthead: navy instead of the theme default blue-to-grey, so white text + stays legible all the way down to the venue address. */ +/* Full-bleed masthead. It is itself the .col-md-12, so Bootstrap's + flex: 0 0 100% / max-width: 100% has to be overridden or the width is + clamped to the container. + + The blue is a lighter, logo-derived teal rather than near-black navy, but + it still has to carry white text: it runs from #12789A at the top (5.1:1 + against white) to #0A5771 at the bottom (7.8:1), deepening as it goes so + the small venue and date text sits on the strongest contrast. + + --bcn-inset aligns the masthead text with the body copy below it. That + copy sits in .bcn-wrap, a 1000px column centred in the viewport, so the + inset is the distance from the screen edge to that column: 50vw - 500px. + Below roughly 1030px the column is no longer 1000px wide and hugs the + container padding instead, which is what the 15px floor picks up. */ +.welcome-page-masthead { + --bcn-inset: max(15px, calc(50vw - 500px)); + flex: 0 0 100vw; + width: 100vw; + max-width: none; + margin-top: 0; + margin-left: calc(50% - 50vw); + margin-right: calc(50% - 50vw); + padding-left: var(--bcn-inset); + padding-right: var(--bcn-inset); + border-bottom: 4px solid #F9CD34; + font-size: +1em; + background: #12789A; + background: linear-gradient(#12789A, #0A5771); +} + +/* 100vw does not account for the scrollbar; stop the overhang from creating + a horizontal scroll. Safe here - the theme has no sticky or fixed + positioning for this to break. */ +body { + overflow-x: hidden; +} +.welcome-page-masthead, +.welcome-page-masthead a { + color: #fff; +} +.welcome-page-date { + font-weight: 700; +} +/* Bigger title, now that the masthead carries only the name and the dates. + text-transform: none undoes the theme's generic h1 capitalize rule, which + was rendering the wordmark as "Devopsdays". Lowercase is how devopsdays + sets its own name, here and in the site nav and footer. */ +.welcome-page-masthead h1.welcome-page { + font-size: clamp(2.6rem, 5vw, 3.8rem); + line-height: 1.1; + margin-bottom: 0.4rem; + text-transform: none; +} + +/* Drop the venue and the address from the masthead - both still appear in + the Location row below. The fields stay in main.yml because the location + page's map, the Location row and the schema.org event metadata all read + them, so this has to be done here rather than by blanking the config. + The two
that follow them go too, or they leave the gap behind. */ +.welcome-page-masthead-venue, +.welcome-page-masthead-venue + br, +.welcome-page-masthead-venue + br + span, +.welcome-page-masthead-venue + br + span + br { + display: none; +} +.e-summary { + font-size: +1em; + font-weight: 700; +} + +/* Hide the "share this page" row. Its email icon shares the page by mail, + which reads as a second Contact button, and its LinkedIn icon posts to the + visitor's own feed rather than linking to ours. Both jobs are done more + clearly by the Contact button and the Follow badge below. + Note: social_shares: [] would not work here - an empty list is falsy in + Hugo, so footer_scripts.html falls back to showing all four buttons. */ +#share { + display: none; +} + +/* Masthead buttons: outlined rather than filled, so they sit quietly on the + navy instead of competing with it. */ +a.event-cta-button { + background-color: transparent; + border: 1px solid rgba(255, 255, 255, 0.65); + color: #fff; +} +a:hover.event-cta-button { + background-color: rgba(255, 255, 255, 0.15); + color: #fff; +} + +.content-text { + width: 100%; + margin: 0 auto; +} + +div.sponsor-row img.img-fluid { + max-height: 70px; +} + +/* The theme sets html { font-size: 14px }, so a bare rem here is 14px and + body copy renders small and light. Lift the whole column to ~16px with a + roomier line height. */ +.bcn-wrap { + max-width: 1000px; + margin: 0 auto; + font-size: 1.15rem; + line-height: 1.65; +} + +/* Follow line, sits directly under the masthead */ +.bcn-follow { + display: flex; + align-items: center; + gap: 0.6rem; + margin: 1.25rem 0 1.5rem; + font-weight: 600; + color: #111224; +} +.bcn-follow a.social-li { + font-size: 1.6rem; + color: #111224; + text-decoration: none; +} +.bcn-follow a.social-li:hover { + color: #00BAEB; +} + +/* Dates / Location / Contact */ +.bcn-facts { + border-left: 4px solid #00BAEB; + padding-left: 1.25rem; + margin-bottom: 2rem; +} +.bcn-facts .row { + margin-bottom: 0.35rem; +} + +/* Top section: the logo sits beside everything from the LinkedIn line down + to the end of the intro copy, centred against that whole block rather + than against the first paragraph. Stacks on mobile. */ +.bcn-top { + display: flex; + flex-wrap: wrap; + gap: 2rem; + align-items: center; + margin: 1.5rem 0 2.5rem; +} +.bcn-top-main { + flex: 1 1 340px; + min-width: 0; +} +.bcn-top-logo { + flex: 0 1 260px; + text-align: center; + margin: 0 auto; +} +.bcn-top-logo img { + max-width: 100%; + height: auto; +} +.bcn-top-main h2 { + margin-top: 0; +} + +/* "What's in Store?" cards. Deliberately plain - cream fill, one hairline + border, navy titles. They describe the event rather than asking for + anything, and the logo colours are spent on the action strip above. */ +.bcn-card-grid { + display: flex; + flex-wrap: wrap; + gap: 1rem; + margin: 1.5rem 0 2.5rem; +} +.bcn-card { + flex: 1 1 220px; + border: 1px solid #e6e6ea; + border-radius: 6px; + padding: 1.25rem 1.5rem; + background: #FFFCF0; + color: #1a1a1a; +} +.bcn-card h3 { + margin-top: 0; + margin-bottom: 0.75rem; + font-size: 1.35rem; + font-weight: 700; + color: #111224; +} +.bcn-card p { + margin-bottom: 0; + font-size: 1.1rem; + line-height: 1.6; +} + +/* The three things that are live now: program, speakers and tickets. A + strip of linked cards rather than three more lines in the facts box - + these are what we want a visitor to act on, not more small print. The + whole card is the link; the arrow is decoration. This is the only place + on the page carrying the three logo colours - the "What's in Store?" + cards below stay plain, so the two grids do not read as the same kind of + thing and the eye lands here first. */ +.bcn-actions { + display: flex; + flex-wrap: wrap; + gap: 1rem; + margin: 1.5rem 0 2.5rem; +} +.bcn-action { + flex: 1 1 240px; + display: block; + border: 1px solid #e6e6ea; + border-left: 4px solid #00BAEB; + border-radius: 6px; + padding: 1.1rem 1.35rem; + background: #fff; + color: #1a1a1a !important; + text-decoration: none !important; + transition: box-shadow 0.15s ease, transform 0.15s ease; +} +.bcn-action:hover { + box-shadow: 0 4px 14px rgba(17, 18, 36, 0.12); + transform: translateY(-2px); +} +/* The theme clears the outline on :focus, so a keyboard user has no way of + telling which card or button they are on. Put one back, in the darker end + of the masthead teal so it reads against both the white cards and the + cream call to action. */ +.bcn-action:focus-visible, +.bcn-btn:focus-visible { + outline: 3px solid #0A5771; + outline-offset: 3px; +} +@media (prefers-reduced-motion: reduce) { + .bcn-action { + transition: none; + } + .bcn-action:hover { + transform: none; + } +} +.bcn-action-title { + display: block; + font-size: 1.35rem; + font-weight: 700; + margin-bottom: 0.3rem; + color: #076A85; +} +.bcn-action p { + margin: 0; + font-size: 1.05rem; + line-height: 1.55; +} +.bcn-action-go { + display: block; + margin-top: 0.6rem; + font-weight: 600; + color: #076A85; +} +.bcn-action.amber { border-left-color: #F9CD34; } +.bcn-action.amber .bcn-action-title, +.bcn-action.amber .bcn-action-go { color: #A34E12; } +.bcn-action.crimson { border-left-color: #F11647; } +.bcn-action.crimson .bcn-action-title, +.bcn-action.crimson .bcn-action-go { color: #C00E38; } + +/* Bottom call to action */ +.bcn-cta { + background: #FFFCF0; + border: 1px solid #e6e6ea; + border-top: 4px solid #F11647; + border-radius: 8px; + padding: 1.75rem 2rem; + margin: 2rem 0; + text-align: center; + color: #1a1a1a; +} +.bcn-btn { + display: inline-block; + background: #D8123F; + color: #fff !important; + padding: 0.65rem 1.75rem; + border-radius: 5px; + font-weight: 600; + text-decoration: none; + margin: 0.4rem; +} +.bcn-btn:hover { + background: #B00E34; + color: #fff !important; +} +.bcn-btn.outline { + background: transparent; + border: 2px solid #111224; + color: #111224 !important; +} +.bcn-btn.outline:hover { + background: #111224; + color: #fff !important; +} + +/* --------------------------------------------------------------------------- + Shared across the event's pages + Everything above is the welcome page. Everything below is used by welcome, + sponsor, conduct and location alike, so that the four read as one site + rather than four one-off stylesheets. + --------------------------------------------------------------------------- */ + +/* Every heading on the page gets the same air under it. The card grids carry + their own 1.5rem top margin, which collapses against this to the same gap, + so a heading followed by prose and a heading followed by cards match. */ +.bcn-wrap h2 { + margin-bottom: 1.5rem; +} + +/* On every page but welcome the theme prints its own

above our column, + full container width. Pull it onto the same 1000px measure so the title + lines up with the text underneath it instead of starting further left. */ +.content-text > h1:not(.welcome-page) { + max-width: 1000px; + margin-left: auto; + margin-right: auto; +} + +/* The opening statement of a page, on the same cyan rule as the facts block + on the welcome page. */ +.bcn-lead { + border-left: 4px solid #00BAEB; + padding-left: 1.25rem; + margin: 0 0 2rem; + font-size: 1.2rem; + line-height: 1.6; + color: #1a1a1a; +} + +/* A full-width relative of .bcn-card, for a block of prose or a list that + needs to sit apart from the run of the page. */ +.bcn-panel { + border: 1px solid #e6e6ea; + border-radius: 6px; + padding: 1.25rem 1.5rem; + margin: 1.5rem 0; + background: #FFFCF0; + color: #1a1a1a; +} +.bcn-panel > :first-child { + margin-top: 0; +} +.bcn-panel > :last-child { + margin-bottom: 0; +} +.bcn-panel h3 { + margin-top: 0; + margin-bottom: 0.75rem; + font-size: 1.35rem; + font-weight: 700; + color: #111224; +} +.bcn-panel ul { + margin-bottom: 0; + padding-left: 1.2rem; +} + +/* The one panel that has to be found in a hurry: how to report a code of + conduct problem. White rather than cream so it lifts off the page, and the + only crimson on it, because it is the only alarm on the site. */ +.bcn-panel.alert { + background: #fff; + border-left: 4px solid #F11647; +} +.bcn-panel.alert h3 { + color: #C00E38; +} + +/* Attendance figures on the sponsor page. Two numbers is not a chart, so + these are stat tiles - and the number wears ink rather than sitting on a + filled block, so it reads as a fact rather than as a badge. */ +.bcn-stats { + display: flex; + flex-wrap: wrap; + gap: 1rem; + margin: 1.5rem 0 2.5rem; +} +.bcn-stat { + /* Do not grow. Two tiles stretched across a 1000px column leave most of + each one empty; sized to their content they read as a pair of facts. */ + flex: 0 1 260px; + border: 1px solid #e6e6ea; + border-left: 4px solid #00BAEB; + border-radius: 6px; + padding: 1.1rem 1.35rem; + background: #fff; +} +.bcn-stat-number { + display: block; + font-size: 2.4rem; + line-height: 1.1; + font-weight: 700; + color: #111224; +} +.bcn-stat-label { + display: block; + margin-top: 0.35rem; + font-size: 1rem; + line-height: 1.4; + color: #55555f; +} + +/* The embedded map is a fixed-size iframe from the shortcode. Let it fill the + column instead. */ +.bcn-map { + margin: 1.5rem 0 2rem; +} +.bcn-map iframe { + width: 100%; + max-width: 100%; + height: 380px; + border: 1px solid #e6e6ea; + border-radius: 6px; +} + +/* Section break, in place of the markdown --- the code of conduct used. */ +.bcn-rule { + border: 0; + border-top: 1px solid #e6e6ea; + margin: 2.5rem 0; +} + +/* The organizer cards come from the theme's list_organizers shortcode, so the + markup is not ours to change - only the surface it lands on. Bootstrap's + card chrome comes off and the pieces are re-ranked: the person's name is the + loudest thing on the card, not the word "Organizer". */ +.bcn-wrap .organizer-card { + margin-bottom: 1.5rem; +} +/* The shortcode asks for four across on a wide screen (col-xl-3). Inside our + 1000px column that is about 220px a card, which is too narrow for a bio - + every third or fourth word wraps. Three across gives each card about 300px + without widening the measure the rest of the site is set to. Below 1200px + the shortcode's own col-lg-4 and col-md-6 already step down to three and + two, so only the xl case needs saying. */ +@media (min-width: 1200px) { + .bcn-wrap .organizer-card { + flex: 0 0 33.3333%; + max-width: 33.3333%; + } +} +.bcn-wrap .organizer-card .card { + display: flex; + flex-direction: column; + height: 100%; + border: 1px solid #e6e6ea; + border-radius: 6px; + overflow: hidden; + background: #fff; +} +/* order: the shortcode prints the name before the portrait, so a two-line + name pushed that card's photo below its neighbours'. The card is a flex + column, so the photo is pulled to the top without touching the markup and + the photos line up across a row whatever the names do. */ +.bcn-wrap .organizer-card .card-header { + order: 2; + padding: 1rem 1rem 0.65rem; + background: transparent; + border-bottom: 0; +} +.bcn-wrap .organizer-card .card-header h3 { + margin: 0; + font-size: 1.15rem; + font-weight: 700; + line-height: 1.3; + color: #111224; +} +/* The role is set as an h4, which had it outshouting the name it belongs to. + It is a label, so it is sized and spaced like one. */ +.bcn-wrap .organizer-card .card-header h4 { + margin: 0.3rem 0 0; + font-size: 0.8rem; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #55555f; +} +/* Portraits arrive at whatever aspect ratio each person sent. Crop them all to + the same square so the grid does not stagger. */ +.bcn-wrap .organizer-card .organizer-image { + order: 1; + width: 100%; + /* The theme pins img.organizer-image to height: 300px, which both ignores + the aspect ratio below and leaves a different amount of each person + showing. Hand the height back to the ratio. */ + height: auto; + aspect-ratio: 1 / 1; + object-fit: cover; +} +.bcn-wrap .organizer-card .card-block { + order: 3; + padding: 1rem; +} +/* Bootstrap's .text-muted is too light to read at this size. */ +.bcn-wrap .organizer-card .card-subtitle { + font-size: 0.9rem; + font-weight: 600; + /* The shortcode tags the employer with Bootstrap's .text-muted, which is + an !important utility - #6c757d is too light to read at this size. */ + color: #55555f !important; +} +.bcn-wrap .organizer-card .card-text { + font-size: 1rem; + line-height: 1.55; + color: #1a1a1a; +} +/* fa-2x put the social icons above the bio in the visual order. Bring them + down to the text's weight and give them the page's ink. */ +.bcn-wrap .organizer-card .card-block .fa-2x { + font-size: 1.4rem; +} +.bcn-wrap .organizer-card .card-block a { + color: #111224; +} +.bcn-wrap .organizer-card .card-block a:hover { + color: #00BAEB; +} +.bcn-wrap .organizer-card .card-block a:focus-visible { + outline: 3px solid #0A5771; + outline-offset: 3px; +} + +/* The address is the point of the contact page, so it is the biggest thing in + the block that carries it. */ +.bcn-email { + margin: 0.4rem 0 0; + font-size: 1.35rem; + font-weight: 700; +} +.bcn-email a { + color: #C00E38; +} +.bcn-email a:hover { + color: #8F0A2A; +}