Advanced Branding: Creating a Dark Theme

  • Updated



If you would like to align your Hopin event venue colors with your branding, you can follow this guide to create a dark theme. It can take some time to apply this theme as you will need to change a number of theme colors, add custom CSS codes and, if applicable for your event, to work on the further customization of some specific areas.

Dark theme allows to replace Hopin default color across the event venue and to use a dark color for all backgrounds. This is an example of how it will look:


How to find the HEX Color Code

Before you get started, you will need to know the HEX codes for your brand's colors. If you don’t know the HEX codes, you can use this online color picker to upload your logo or image and it will generate the color codes for you.

Changing the primary color

Go to your Event Dashboard > Setup > Theme. You will see a header named "Color". In the field titled "Primary color" input the HEX code (starting with the # symbol) of your preferred brand color.

Note: it is important that you input the HEX code here and not an RGB value or the name of a color (i.e. "blue" or "red") as this could cause an error. 

Don’t forget to click “Save” to apply the changes. 


Tip: Check the Contrast for best results

For this Dark theme, to make sure that your paragraphs and headlines are readable, you can use this online tool to check color contrast between your brand color and any black. Please, remember that it’s important to pass AA standard for Large Text and Graphical Objects and User Interface Components.

You can learn more about readability and accessibility in Web Content Accessibility Guidelines (WCAG).

Changing the theme colors

Next, click Show advanced settings and change the following color values; input the HEX code of your brand color and the mentioned color names or RGBA codes.

Note: To convert the HEX code of your brand color into RGBA you can use this online tool. You will need to do this to be able to add a different opacity to your brand color (the last component stands for opacity: e.g. if your RGBA code is rgba(128, 0, 128, 0.25), the 0.25 = 25% opacity).

You can also use a different light and dark color for your event instead of pure white and pure black. We highly recommend sticking to pure white for your text and headlines, but feel free to select dark grey or dark blue instead of pure black.

Text Box

Color Value

Primary 100

your brand color's RGBA code 

e.g. rgba(128, 0, 128, 0.2) 

⚠️Use 0.2 (20%) for opacity 

Use this online tool to convert HEX code to RGBA

Primary 200

your brand color's RGBA code 

e.g. rgba(128, 0, 128, 0.25) 

⚠️Use 0.25 (25%) for opacity

Use this online tool to convert HEX code to RGBA

Primary 300

your brand color's RGBA code 

e.g. rgba(128, 0, 128, 0.3) 

⚠️Use 0.3 (30%) for opacity

Use this online tool to convert HEX code to RGBA

Grey 100


Grey 200

rgba(255,255,255, 0.15)

Grey 300

rgba(255,255,255, 0.19)

Grey 600


Grey 650


Grey 700


Text Headline Large


Text Headline Medium


Text Headline Small


Text Label


Button Secondary Background


Button Toggle Default


Button Toggle Default Background

your brand color's RGBA code 

e.g. rgba(128, 0, 128, 0.5) 

⚠️Use 0.5 (50%) for opacity 

Use this online tool to convert HEX code to RGBA

Button Toggle Selected


Input Text


Input Background


Search Text


Search Background


Header Background


Sidenav Background


Event Body Background


Tabpanel Background


Sidenav Icon Default Background


Sidenav Icon Default Text


Sidenav Icon Default Text Hover


Sidepanel Tab Default Background


Sidepanel Tab Active Background

your brand color's RGBA code 

e.g. rgba(128, 0, 128, 0.5) 

⚠️Use 0.5 (50%) for opacity 

Use this online tool to convert HEX code to RGBA

Menu Background


Menu Text


Modal Header Background


Modal Body Background


Modal Footer Background


Card Background


Table Header Background


Message Background


Happening Now Card Text


Schedule Card Title


Schedule Card Highlight Title


This is how the theme colors will look when editing them within your event. To save time when looking for the appropriate text boxes, you can use command + F (for Mac) or Ctrl + F (for Windows) to search the web page.


For more information on what these settings apply to, you can check out our Introduction to Advanced Branding guide for more of an overview.

Adding custom CSS code

Next, scroll all the way down and add the following code into the Custom CSS field. 


Note: Make sure to add your color values; “#HEXCODE” needs to be replaced with your main brand color HEX code.

If you use a different light and dark color for your event instead of pure white and pure black, replace “black” and “white” color values with your color codes.

It may be easier to use command + F (for Mac) or Ctrl + F (for Windows) to find and replace the necessary values.

/* change backgrounds */
body{background-color: black;}
.str-chat__main-panel, .chat-stream-input_container__33zut, .chat-stream-input_container__33zut textarea {background-color: transparent;}
.side-panel_tab__w71zF, [class*="side-panel_tab"]{background-color: black; }
.direct-messages_direct-messages-panel__11-CI, [class*="direct-messages_direct-messages-panel"] {background-color: black;}
.new-joiners_new-joiners__1jnid {background-color: black;}
.header_header__2VGIb{background-color: black;}
.more-segment-content_container__JaiWI, [class*="more-segment-content_container"] {background-color: black;}
.people_radio-button-group__XBhHu label {background-color: black;}
.speaker-card-styles_speaker-card__2Jc2t.speaker-card-styles_small__3Zzp7{background-color: black;}
.more-segment-content_container__JaiWI, [class*="more-segment-content_container"] {background-color: black;}
.css-1siq1wa-menu {background-color: black;}
[class*="tab-panel-styles_tab"] {background-color: black;}
.css-1siq1wa-menu{background-color: black;}
.schedule-menu-styles_schedule-menu-item__1YY92:nth-child(odd) {background-color: rgba(255, 255, 255, 0.15);}
.tab-panel-styles_header__3Rcee button:hover { background-color: rgba(255, 255, 255, 0.15);}
.ask-question_wrapper__11YVX {background-color: black;}
.question-action-menu_panel__11Dql {background: linear-gradient(90deg,hsla(0,0%,100%,0),black);}
.question-action-menu_button__106fU, .question-action-menu_reply-button__2aQQh{background-color: black;}
.new-layout, .new-layout .header, .new-layout .card, .new-layout .tabs{background-color: black;}
.new-layout .button{color: black;}
.speaker-card-styles_speaker-card__2Jc2t{background-color: black;}
.expo-styles_tags__3vmmK button{background: black; color: white; border: 0.0625rem solid rgba(255, 255, 255, 0.15)}
.expo-styles_tags__3vmmK button:hover {background-color: rgba(255, 255, 255, 0.2); color: white;}
.sessions-feature_tags__oJnEq button{background: black; color: white; border: 0.0625rem solid rgba(255, 255, 255, 0.15);}
.sessions-feature_tags__oJnEq button:hover {background-color: rgba(255, 255, 255, 0.2); color: white;}
.video-session-container_icon__91nfx{background-color: rgba(255,255,255, 0.2);}
.circle-icon-styles_container__3PRpE{background-color: rgba(255,255,255, 0.2);}
.answer_panel__6KP71{background-image: linear-gradient(90deg,hsla(0,0%,100%,0),black);}
.answer_button__3CyLH{background-color: rgba(255,255,255, 0.2);}
.schedule-meeting-modal_title__3q1df input{background-color: black; color: white; border: .0625rem solid rgba(255,255,255,0.2);}
.hpn-TextField__Input, .hpn-TextArea__TextArea {color: white !important; border: 1px solid rgba(255,255,255, 0.2); background-color: black;}
.create-modal_field-wrapper__2gS-W div {background-color: black !important; color:white !important;}

.modal_modal-body__c1puk label {background-color: black;}

.chat-stream-input_container__33zut button:hover, .fuYlDK:disabled {background-color: rgba(255, 255, 255, 0.18) !important; }
.chat-stream-message_chat-message__2xkuj:hover {background-color: rgba(255, 255, 255, 0.18);}
.stream-chat_date-separator-date__ZtRj0, .chat-stream-input_container__33zut, .str-chat__textarea textarea {background-color: black;}
.str-chat__textarea textarea {color: white !important;}
.chat-stream-message_chat-message-pinned__2l2A4 .chat-stream-message_chat-message-organiser__-0Lq- {background-color: transparent !important;}
.str-chat__emojisearch{background-color: black;}
.chat-conversations-component_conversation-list-item-unread__36K3C {background-color:#HEXCODE;}
.fQLzcj:disabled {background-color: transparent !important;}

.create-modal-component_container__39tUN label {color: white;}
.create-modal-component_container__39tUN textarea {color: white; background-color: black;   border-color: rgba(255, 255, 255, 0.12);}
.ask-question_fallback-textarea__2GlLa {background-color: transparent !important;}

/* waiting room */
.waiting-page_root__pgiPU, [class*="waiting-page_root"] {background-color: black; }
.stream-component_video-label__3CXws, [class*="stream-component_video-label"]{color: white;}
[class*="waiting-card_card"], .waiting-card_card__2J2RC{background-color: black; }
.waiting-page_link-button__DonIl, [class*="waiting-page_link-button"]{color: #HEXCODE;}

.event-page__banner-action svg path{fill: black;}
.event-page__header-event-info h1, .event-page__header-event-info a, .event-page__header-event-info p, .event-page__header-event-info span{color: white !important;}
.live-events-popup_header {background-color: black;}
.event-page__header-event-info .add-to-cal-link__icon svg path {fill: white;}
.header a svg path, .footer a svg path {fill: white;}
.container p, .container span, .container h1, .container h2, .container h3, .container h4, .container h5, .container h6, .container div, .container .text{color: white !important;}
.sc-kBzgEd.gGNyWm{background-color:black !important;}{background-color:#HEXCODE !important; border-color:#HEXCODE !important;}
.hpn-MenuContent{background-color:black !important;}

.tab-panel-styles_header__3Rcee button:hover {background-color: rgba(255, 255, 255, 0.27);}

/*button hover*/
.sc-pFZIQ:hover{background-color: #HEXCODE; color: white;}

.toast_toast-success__1FMxc {background: #07bc0c !important;}

/*Icon hover*/
.direct-messages_direct-messages-button-container__9VroH:hover, .fxEnrs:hover {background-color: rgba(255, 255, 255, 0.2);}

.sc-cHjwLt {background-color: rgba(255, 255, 255, 0.15) !important;}
.sc-biBsmb {background-color: black;}
.sc-hYAvtR {background-color: rgba(255, 255, 255, 0) !important; border: 1px solid rgba(255, 255, 255, 0.15) !important;}
.sc-hYAvtR:hover {background-color: rgba(255, 255, 255, 0.15) !important; border: 1px solid rgba(255, 255, 255, 0.3) !important;}

.gmSTtB:nth-child(2n+1) {background-color: rgba(255, 255, 255, 0.15) !important;}
.tabs_item, .tabs_item.-active {color: white !important;}
.sponsors-grid__HideLevelHeader-sf37w4-0 .card-content {background-color: black; border-radius: 8px; border: 1px solid rgba(255,255,255, 0.15) !important;}
.navigation_item {color: white !important;}
.sc-gKclnd button:hover  {background-color: rgba(255, 255, 255, 0.2) !important;}
.social-login-actions .social-media {background-color: rgba(255, 255, 255, 0.1) !important; border-radius: 4px;}
.social-login-actions .social-media:hover {background-color: rgba(255, 255, 255, 0.28) !important;}

/* text to white */
.main_main__hcb9b h2{color: white !important;}
.layout_layout-container__1idYN span, .layout_layout-container__1idYN div, .layout_layout-container__1idYN p {color: white;}
[class*="event-settings-menu-styles_label"] {color: white;}
[class*="schedule-card_content-container"] h3{color: white;}
.test-id-schedule-tab-content h3, .test-id-schedule-tab-content p, .test-id-schedule-tab-content h4{color: white !important;}
[class*="info-text-styles_info"] {color: white;}
.test-id-body{color: white !important;}
[class*="attendee-list-item_headline"], [class*="profile-header_profile-byline"], [class*="profile-header_about"], [class*="chat-conversation-preview-component_name"], [class*="chat-conversation-preview-component_date"], [class*="chat-conversation-preview-component_message"] {color:white;}
[class*="waiting-card_description"], [class*="waiting-page_time-until-event-starts"], [class*="waiting-page_message"] {color: white;}
.waiting-card_card__2J2RC h2, .waiting-card_hosted-by__2wssF h3, .waiting-card_hosted-by__2wssF p {color: white;}
.add-to-calendar-styles_service-link__3lD9E, [class*="add-to-calendar-styles_service-link"]{color: white;}
.device-selector_device-list__2tVnI select{color: white;}
.check-box_tick-box-text__1la-0, [class*="check-box_tick-box-text"]{color:white;}
.meeting-created-notification-styles_created-at__2Tyw9{color: white;}
.schedule-menu-styles_time-row__3OLh1 h3 {color: white;}
.hfPoTr {color: white;}
.sponsors_sponsor-header__urSPm {color: white !important;}
.layout_layout-container__1idYN label{color: white !important;}
.new-layout .card-content{color: white !important;}
.schedule-menu-styles_title__NbFAa, .schedule-menu-styles_live-badge__3vR34, .schedule-menu-styles_segment-type__26SBa, .schedule-menu-styles_description__364XM{color: white !important;}
.people_radio-button-group__XBhHu label{color: white;}
.radio-buttons__radio-button__label{color: white;}
.hpn-RadioButton__Label{color: white;}
.sc-kEjbxe, .sc-pFZIQ {color: white !important;}
.modal_modal-body__c1puk label {color: white !important;}
.waiting-page_container__aDkeC h1 {color: white;}

.tab-panel-styles_tab-content__2e9pt h3, .tab-panel-styles_tab-content__2e9pt h4, .tab-panel-styles_tab-content__2e9pt .sc-hRxcUd p{color: white !important;}
.sc-ehsPLh .sc-pGacB {color: white;}
.sc-ehsPLh .sc-pGacB:hover {background-color: rgba(255, 255, 255, 0.2); color: white !important;}
.hpn-MenuContent{background-color:black !important; }
.hpn-Search__Input{color:white !important; background-color:black !important; border-color:black !important;}
button[aria-label="Submit search query"]{background-color:black !important;}

/*My agenda*/
.item-divider_item-divider-time__2a6-4{background-color: transparent !important;}
.sc-kEjbQP{color: white;}
.test-id-entry-container div {background-color: black !important;}
.test-id-entry-container {background-color: black !important;}
[data-testid="test-id-side-panel-header"] button[data-selected]{background-color:#HEXCODE !important; border-radius:0.2 rem; border: 0.0625rem solid #HEXCODE;}
.left{background: none !important; background-color: black !important;}
.right{background: none !important; background-color: black !important;}

/*My agenda buttons*/
.test-id-view-event-schedule-button{background-color: black !important; color: white !important;}
.test-id-view-event-schedule-button:hover{background-color: white !important; color: black !important;}
button[pattern="primary"]{background-color: black !important; color:#HEXCODE !important; font-weight:bold !important;}
button[pattern="primary"] svg path {fill:#HEXCODE !important;}
button[pattern="primary"]:hover{background-color:white !important; font-weight:bold !important;}
button[pattern="primary"]:hover div{background-color: white !important;}
button[aria-label="arrow-down"]:hover {background-color: black !important;}

/*Add to calendar button on Waiting room page 12-4*/
button[aria-label="Choose a calendar service:"]:hover{background-color:white !important; font-weight:bold !important;}

/*Replay Area*/
div[data-testid="replay-recordings-filter"] div button span{background-color:black !important;}
div[data-testid="replay-recordings"] div{background-color:black !important;}
div[data-testid="replay-recordings"] div div{background: none !important;}
button[aria-label="Play Recording"]{background:none !important;}

/*Polls selected question*/
.polling-questions-styles_option-item-selected__2VuhJ{background-color:black !important;}/*Polls submit question button*/
.polling-questions-styles_submit-button__2oVfl{background-color:#HEXCODE !important color:white !important;}
.polling-questions-styles_submit-button__2oVfl:hover{background-color:#303030 !important; color:#HEXCODE !important; border: 0.0625rem solid #303030;}
.hpn-RecordingCard{border: 0.0625rem solid #303030;}

/*Same style calendar buttons*/
div[data-testid="reception-schedule-item"] button{background-color: black !important; color:#HEXCODE !important;}
div[data-testid="reception-schedule-item"] button:hover{background-color: white !important; color:#HEXCODE !important;}
div[data-testid="reception-schedule-item"] button svg path {fill:#HEXCODE !important;}
div[data-testid="reception-schedule-item"] button rect {fill:#HEXCODE !important;}

/*Reg page button correction*/
.event-page__header-event-info button {background-color: #HEXCODE !important; border-radius:0.2 rem; border: 0.0625rem solid #HEXCODE; font-weight:bold;}
.event-page__header-event-info button:hover {color: #HEXCODE; background-color: white !important; border-radius:0.2 rem; border: 0.07rem solid white font-weight:bold;}

/*Reg page schedule*/
#schedule div{background-color:black;}
#schedule div:nth-child(2n+1){background-image: none;}

/*Search icon correction*/
.hpn-Search__Submit{background:none !important;}

/*Svg Icons*/
.test-id-direct-messages-button:hover{background-color:#303030 !important;}
.test-id-notifications-button:hover{background-color:#303030 !important;}

/*add to cal button on reg page*/
.hpn-Butticon{background-color:black !important;}

/*People area*/
div[data-testid="people-results-card"] {background-color: black !important;}

/*pre event check button*/
.device-selector_device-lists__3F-6z div button{color:white !important;}
.device-selector_device-lists__3F-6z div button:hover {background-color:#HEXCODE !important; color:white !important;}
.device-selector_device-lists__3F-6z div button svg path {fill:white !important;}

/*breakouts background color*/
button[data-testid="breakouts toggle button"]{background-color:#1b1f29 !important;}

/*Select language background button*/
.choose-language-modal-component_select-item__1ddiC {background-color: black !important;}

/*chat icon background color*/
button[aria-label="send message"]{background-color: black !important;}

/*notifications background color*/
.modal-body {background-color: black !important;}

/*Reg page add to calendar pop up modal*/
.popup-menu_menu-container__13JZ3 a{color:#HEXCODE !important;}

/*Success - tostify*/
.toast_toast-success__1FMxc{background-color: #HEXCODE !important;}

/*announcement popup*/
div[data-testid="announcement-popup"]{color:white !important; font-weight:bold;}
div[data-testid="announcement-popup"] div{background-color:#HEXCODE !important;}
button[aria-label="Close announcement"]{background-color:#HEXCODE !important;}

/*People tab - same style buttons*/
.people-detail_button-container__LYA35 button:hover{background-color:white !important;}

/*Edit Profile*/
div[aria-labelledby="editProfile"] div{background-color:black !important; color:white !important;}
div[aria-labelledby="editProfile"] div h2 {color:white !important;}
div[aria-labelledby="editProfile"] div h3 {color:white !important;}
div[aria-labelledby="editProfileStepOne"] div {background-color:black !important; color:white !important; border:0;}
div[aria-labelledby="editProfileStepOne"] div h2 {color:white !important; }
div[aria-labelledby="editProfileStepTwo"] div{background-color:black !important; color:white !important; border:0;}
div[aria-labelledby="editProfileStepTwo"] div h2  {color:white !important;}
div[aria-labelledby="editProfileStepTwo"] div label  {color:white !important;}
div[data-testid="people-page-profile-card"] div div {background-color:black !important; }
div[aria-labelledby="Filters"] div {background-color:black !important; }
button[aria-label="clear-tags-button"]:hover {background-color:black !important; }

/*Search boxes*/
.hpn-Search__Input {color:white !important; background-color: black !important; border: 0.0625rem solid #HEXCODE !important;}
.hpn-MenuContent{background-color: black !important; }

/*Center icons sessions / stage...*/
.video-session-container_icon__91nfx{background-color: #303030 !important; }

/*Networking Help Others Box*/
#side-panel .test-id-tab-body[id*="tabpanel-"] > div {background: inherit; color: #fff}

/* Text Colour */
#side-panel .test-id-tab-body[id*="tabpanel-"] > div h2, #side-panel .test-id-tab-body[id*="tabpanel-"] div > p {color: inherit;}

div[data-testid="pre-event-check-wrapper"] {background-color: black !important; color:white !important; }
div[data-testid="pre-event-check-wrapper"] h2{color:white !important;}
div[data-testid="pre-event-check-wrapper"] p{color:white !important;}
button[data-testid="next-button"]{border: 0.0625rem solid #HEXCODE;}
button[data-testid="back-button"]{border: 0.0625rem solid #HEXCODE;}
div[data-testid="browser-page"] span {color:white !important;}
div[data-testid="browser-page"] p {color:white !important;}
div[data-testid="browser-page"] li{color:white !important;}
div[data-testid="default-speakers-display"] span {color:white !important;}
button[title="Play"] span {color:white !important;}
button[title="Play"]:hover {background-color:black !important;}
div[data-testid="input-devices-page"] button span {color:white !important;}
div[data-testid="input-devices-page"] button:hover  {background-color:black !important;}
.hpn-Select__CustomInput {background-color:black !important;}
.hpn-Select__Label label{color:white !important;}
.hpn-AccordionHeading{color:white !important;}
.hpn-AccordionContent span{color:white !important;}
.hpn-AccordionHeading span{color:white !important;}
button[data-testid="copy-results-button"]:hover {background-color:white !important;}
button[data-testid="copy-results-button"]:hover div{background-color:white !important;}

/*Notification pop up- 13-4*/
div[data-testid="testid-notification-preview-container"] div{background-color: #HEXCOLOR !important;}
button[pattern="primary"]{background-color: black !important; color:white !important;}
button[pattern="primary"]:hover{background-color: white !important; color:black !important; border: .0625rem solid white;}
button[pattern="secondary"]{background-color: black !important; color:white !important; border: .0625rem solid black;}
button[pattern="secondary"]:hover{background-color: white !important; color:black !important; border: .0625rem solid white;}

/*Schedule a meeting modal*/
.hpn-TextField__Input {color: white; border: 1px solid rgba(255,255,255, 0.2);}
.css-1sz9hc1-control {color: white !important; background-color: black;}
.css-1sz9hc1-control div {color: white !important;}
.css-1siq1wa-menu{color: white !important;}

Don’t forget to click Save to apply the changes.

Once the changes are saved, click on the Preview event button in the top right corner to preview your event to see how it will look with a Highlighted theme applied.

Video tutorial

Check out this handy video tutorial on all the points that we have outlined above! 

Dynamic class names

There are a few event areas and elements (e.g. Replay, Networking, etc.) that have dynamic class names. Because of that we are not able to provide event organizers with unified custom CSS codes that would work for every event for now. If you’re comfortable with using CSS you can go ahead and customize them for your event. 

Hopin is always changing!

Please kindly note that Hopin platform is frequently updated so the suggested custom CSS codes may no longer work. We are doing our best to keep this guide updated. However, if after following all of the steps and applying this theme, you notice that some colors are not working, do not hesitate to reach out to us.  

We recommend previewing the event once again at least 1 week before it starts. This leaves enough time to correct mistakes and to make any final changes, if needed.

You can also duplicate the event to make a test run and to check how the colors look in the targeted areas such as the highlighted scheduled segment, the "Happening Now" banner, or the activity panel. 

Other themes

If you're looking for something a little different than this, we recommend checking out our guides on Simple theme events and Highlighted theme events. 



Was this article helpful?