Skip to main content

Virtual Booth CSS Theme

Copy‑paste this CSS to restyle your Virtual Booth in seconds (best with the New York microsite template).

Damir avatar
Written by Damir
Updated over 2 months ago

This guide provides a tidy, corrected version of Snappic’s Virtual Booth CSS theme plus setup tips. Paste it into Event → Virtual Booth → Custom CSS to instantly refresh your booth’s look and feel.


Table Of Contents

  • Overview

  • Important Notes

  • How to apply the CSS

  • Cleaned CSS (copy/paste)

  • What does this CSS change

  • Mobile tweaks included

  • Troubleshooting & revert

  • Live demo link


Important Notes

  • Designed for the New York microsite template; results may vary with others.

  • Edit CSS at your own risk—test on a staging event first.

  • Some selectors target SweetAlert2 classes (.swal2-*) and core booth buttons (.btn). If you have other custom CSS, check for conflicts.

  • You can always remove this CSS and refresh the event to revert.


Overview

This theme swaps in the Nunito typeface, modernizes buttons, tunes SweetAlert2 modals, adjusts avatar selectors, and adds responsive spacing for small screens.


How to apply the CSS

  • Open your event in the dashboard.

  • Go to Virtual Booth.

  • Open the Custom CSS (Live Editor) block.

  • Paste the Cleaned CSS below.

  • Save and refresh your booth.


Cleaned CSS (copy/paste)

/* === Virtual Booth Theme (Cleaned) === */
/* 1) Fonts first */
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200;0,400;0,600;0,700;0,900;1,400&display=swap');

html { overflow-y: auto; }

/* General text */
span, .heading, .instruction-view, .swal2-content {
font-family: 'Nunito', sans-serif !important;
}

/* Headings */
.heading {
color: #ffffff;
font-size: 21px;
letter-spacing: 7px;
padding-left: 20px;
text-transform: uppercase;
}

/* SweetAlert2 */
.swal2-icon { display: none !important; }
.swal2-title {
font-family: 'Nunito', sans-serif !important;
color: #c6dedb !important;
font-size: 13pt;
letter-spacing: 14px;
padding-left: 16px !important;
text-transform: uppercase !important;
}
.swal2-content {
font-size: 12pt;
text-transform: uppercase;
letter-spacing: 4px;
color: #ffffff !important;
}
.swal2-popup { background: transparent !important; }
.swal2-container.swal2-shown { background-color: #000 !important; }

/* Buttons (primary) */
.btn, .swal2-confirm, .swal2-cancel {
font-family: 'Nunito', sans-serif;
display: inline-flex;
align-items: center;
justify-content: center;
font-weight: 900;
font-size: 14px !important;
color: #52526d !important; /* text on white buttons */
background-color: #ffffff !important; /* default white look */
padding: 12px 35px;
line-height: 1.15;
letter-spacing: 5px;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
appearance: none;
border: none;
border-radius: 26px !important;
max-width: 100%;
width: auto;
height: 48px;
min-width: 190px;
}
.btn:hover, .swal2-confirm:hover, .swal2-cancel:hover {
background-color: rgba(255,255,255,.6) !important; /* fixed rgba typo */
}

/* Optional: Uncomment to switch primary buttons to orange brand color */
/*
.btn, .swal2-confirm, .swal2-cancel {
color: #ffffff !important;
background-color: #ffa02f !important;
border: 1px solid #2c2923 !important;
}
*/

/* Share buttons layout tweaks */
.share-button-container { display: block; text-align: center; }
.share-button { margin-right: 0 !important; }
.share-button.reject-button { margin-right: 10px !important; }

/* Avatar selectors */
.avatar-type-button,
.avatar-type-button[type=full-body],
.avatar-type-button[type=upper-body] {
height: 180px !important;
width: 180px !important;
display: block !important;
margin: 5px auto !important;
padding: 0 !important;
background-color: grey !important;
}

/* Content wrapper */
.template-preview-parent { border-radius: 10px; padding: 5px; }
.template-preview-large-container { margin-bottom: 30px; }

/* Main content card */
div#content {
background: rgba(38,44,54,0.6);
border-radius: 30px;
min-height: auto;
margin-top: 25px;
margin-bottom: 20px;
}

/* SweetAlert loading spinner color fix */
.swal2-actions.swal2-loading .swal2-styled.swal2-confirm {
box-sizing: border-box !important;
height: 2.5em !important;
margin: .46875em !important;
padding: 0 !important;
animation: swal2-rotate-loading 1.5s linear infinite !important;
border: .25em solid transparent !important;
border-radius: 100% !important;
border-left-color: #ffa02f !important;
border-right-color: #ffa02f !important;
background-color: transparent !important;
color: transparent !important;
cursor: default !important;
user-select: none !important;
min-width: 40px !important;
width: 40px !important;
}

/* Small copy */
.disclaimer_text { font-size: 8px; }

/* Layout polish */
.container-fluid > div:nth-child(2) { margin-top: 50px; }

/* Larger screens */
@media (min-width: 1025px) {
#avatar_next_button { margin-right: 15px; }
.heading { padding-top: 10px; vertical-align: middle !important; }
}

/* Tablet / desktop content width */
@media (min-width: 800px) {
div#content { padding: 25px 50px; min-width: 600px; max-width: 600px; }
.play-area { min-height: 400px; }
}

/* Phones */
@media (max-width: 800px) {
.experience-button { height: 100px; width: 100px; }
}
@media (max-width: 460px) {
#avatar_cancel_button { margin-right: 0 !important; margin-top: 10px; }
#green_retake_button { margin-right: 0 !important; }
.heading { font-size: 16px; letter-spacing: 7px; padding-left: 10px; }
.swal2-title { font-size: 16px; letter-spacing: 10px; padding-left: 10px; }
div#content { padding: 5px 25px 30px; }
.row { margin-top: 1px !important; }
.logo { margin-bottom: 1px; }
#approve_video.btn { margin-left: 0 !important; margin-top: 10px; }
.share-button { font-size: 12px; }
}
@media (max-width: 450px) {
.btn { min-width: 230px !important; }
.swal2-styled.swal2-confirm { min-width: 221px; }
.approve-buttons-left { margin-right: 0 !important; }
#load_stickers_button_sticker.btn { margin-left: 21px; }
button#load_props_button.btn { margin-top: 10px; }
.reject-button { margin-right: 0 !important; }
.approve-button { margin-top: 10px !important; }
#capture_button { margin-top: 10px; }
#gallery_button { margin-right: 0 !important; }
}
@media (max-width: 420px) {
div#content { padding: 25px 50px; max-width: 90%; min-width: 90%; }
}

What does this CSS change

  • Typography: Forces Nunito across headings, modals, and instructional copy.

  • Buttons: Rounded, bold, and tap‑friendly with hover feedback. Optional orange brand style included (commented).

  • Modals: Minimal SweetAlert2 look (no icon), translucent background.

  • Avatar selectors: Large, centered tiles for easy tapping.

  • Layout: Soft card background for the main content area.


Mobile tweaks included

  • Wider buttons and improved spacing under ≤450px.

  • Compact headings and modal titles under ≤460px.

  • Responsive content padding at small widths.


Troubleshooting & revert

  • Seeing odd colors or shapes? Check for other CSS that also targets .btn or .swal2-* and remove duplicates.

  • If something breaks, remove this CSS and refresh the event to revert to defaults.


Live demo link

You can preview this styling here:


Article sub content

Tip: Prefer the default white buttons? Keep the provided rules as-is. Want orange brand buttons? Uncomment the “Optional orange” block in the CSS.


Contact Support

Chat directly from your Snappic Dashboard

Did this answer your question?