Links
🧑🎨

Default styles

Some components have pre-defined css styling. Here is a list of some of the most relevant.
Note: This page only applies to the Old Rendering Engine - for the New Rendering Engine ask a Savvy Expert for help

Styles that apply to:

  • Entire flow:
box-sizing: border-box;
--primary-color: #6454F3;
--fail-color: red;
--spacing-xs: calc(var(--spacing) / 4);
--spacing-sm: calc(var(--spacing) / 2);
--spacing: 1rem;
--spacing-lg: calc(var(--spacing) * 2);
--spacing-xl: calc(var(--spacing) * 4);
--border-radius: 4px;
--border-radius-lg: calc(var(--border-radius) * 2);
--border-radius-xl: calc(var(--border-radius) * 4);
--input-width: 300px;
text-align: left;
position: relative;
font-family: 'Lato', sans-serif;
font-size: 16px;
font-weight: 300;
line-height: 1.5;
color: #555;
  • Custom buttons:
border: 1px solid #ddd;
padding: 8px 30px;
border-radius: var(--border-radius);
background: white;
color: inherit;
transition: background-color 0.3s, color 0.3s;
cursor: pointer;
img {
max-width: 100%;
max-height: 50px;
}
.icon {
font-size: 40px;
color: #999;
}
&:hover {
background: #FAFAFA;
}
&:focus {
outline: none;
}
&.disabled {
cursor: default;
background: #eee;
pointer-events: none;
color: #aaa;
}
&.selected {
border-color: var(--primary-color);
.icon {
color: var(--primary-color);
}
}
  • Option selectors:
.button_tiles,
&.buttons_wrapped {
.buttons {
margin-left: calc(-1 * var(--spacing-sm));
margin-right: calc(-1 * var(--spacing-sm));
.ButtonCard {
margin-left: var(--spacing-sm);
margin-right: var(--spacing-sm);
margin-bottom: var(--spacing);
}
}
}
&.button_tiles {
.ButtonCard {
padding: 30px 15px;
width: 140px;
min-width: 80px;
max-width: 160px;
min-height: 150px;
border-radius: var(--border-radius-lg);
}
}
&.horizontal_bars {
max-width: 420px;
width: 100%;
}
&.horizontal_bars,
&.buttons_wrapped { //ask
.ButtonCard {
flex-direction: row-reverse;
> div {
flex: 1;
}
.button-icon {
margin: 0;
font-size: 24px;
flex: 0 0 auto;
}
img {
max-height: 28px;
}
}
}
.ButtonCard {
padding: 8px 32px;
flex: 0 0 auto;
text-align: center;
box-sizing: border-box;
border: 1px solid #ddd;
border-radius: var(--border-radius);
cursor: pointer;
line-height: 1.3;
transition: transform 0.1s, border-color 0.5s, background-color 0.2s;
img {
max-width: 100%;
max-height: 50px;
}
&:hover {
background: #F9F9F9;
}
&.selected {
border-color: var(--primary-color);
.icon {
color: var(--primary-color);
}
}
.button-icon {
font-size: 3.2rem;
color: #999;
}
.description {
font-size: 0.85em;
opacity: 0.8;
}
> div.Checkbox {
flex: 0 0 auto;
padding: 0 1rem;
}
}
  • Meeting booker:
position: relative;
width: 1060px;
max-width: 100%;
min-height: 680px;
overflow: hidden;
@media (max-width: 600px) {
width: calc(100vw - 80px);
}
.calendly-container {
position: absolute;
z-index: 1;
top: -20px;
bottom: 0;
left: -10px;
right: -10px;
}
  • Stripe checkout:
text-align: center;
font-weight: 500;
font-size: 16px;
max-width: 460px;
width: 100%;
form#payment-form {
.stripe-box {
background: white;
box-shadow: 0 13px 27px -5px rgba(50, 50, 93, 0.125), 0 8px 16px -8px rgba(0, 0, 0, 0.1),
0 -6px 16px -6px rgba(0, 0, 0, 0.025);
border-radius: 6px;
}
> button {
padding: 10px 20px;
background: var(--primary-color);
color: white;
border-radius: 6px;
border: none;
cursor: pointer;
transition: padding 0.3s;
&:hover:not([disabled]) {
opacity: 0.8;
padding: 10px 30px;
}
.Icon {
font-size: 0.8em;
margin: 0 0 0 0.375em;
}
}
.payment-messages {
padding: 15px;
.Icon {
margin: 0 0.25em -0.1em 0;
}
}
}
  • Media embed:
position: relative;
width: 100%;
.video-play-button {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
z-index: 10;
background-color: white;
border-radius: 100px;
width: 60px;
height: 60px;
font-size: 22px;
opacity: 0.5;
transition: opacity 0.3s;
&:hover {
opacity: 0.8;
}
.icon {
margin-right: -0.125em;
}
  • Header, title and subtitle:
.heading-label,
.title,
.subtitle {
margin: var(--spacing) 0 var(--spacing-sm);
}
.title {
font-size: 2.4rem;
font-weight: 600;
}
.subtitle {
font-size: 1.4rem;
}
  • Footer:
.footer {
position: relative;
z-index: 1;
> div {
font-size: 1.2em;
button,
a.button {
position: relative;
z-index: 4;
border: 1px solid #ddd;
padding: 5px 30px;
border-radius: var(--border-radius);
background: white;
color: inherit;
cursor: pointer;
&:hover {
background: #FAFAFA;
}
&:focus {
outline: none;
}
&[disabled] {
background: #ddd;
color: #aaa;
cursor: default;
}
&.hide {
opacity: 0;
pointer-events: none;
}
&.prev .icon {
margin-right: 4px;
}
&.next .icon {
margin-left: 4px;
}
}
}
}
  • Input box:
input,
textarea {
padding: 8px 16px;
border: 1px solid #ddd;
width: 100%;
&::placeholder {
color: #aaa;
}
}
  • Dropdown selectors:
.vs__dropdown-toggle {
padding-left: 10px;
padding-right: 10px;
background: white;
border-color: #ddd;
.vs__selected-options {
padding-top: 3px;
padding-bottom: 3px;
input.vs__search {
margin-top: 5px;
margin-left: 2px;
margin-bottom: 3px;
&::placeholder {
color: #aaa;
}
}
}
}
.vs__dropdown-menu {
.vs__no-options {
padding-left: 1em;
padding-right: 1em;
text-align: left;
}
li {
padding-top: 6px;
padding-bottom: 6px;
&:hover,
&.vs__dropdown-option--highlight {
background: #eee;
}
}
}
  • Animations:
button.animate,
a.animate,
.button-animate {
transition: transform 0.1s, border-color 0.2s, background-color 0.2s;
&:hover {
transform: scale(1.02);
}
&:active {
transform: scale(0.98);
}
&.justClicked {
animation: selection_pulse 0.2s 1 ease-out;
}
}
  • Icons & logo:
svg.Icon {
&.inline-icon {
margin-top: -0.15em;
margin-bottom: -0.15em;
margin-left: 0.1em;
margin-right: 0.1em;
}
}
div.logo,
a.logo {
flex: 0 0 50%;
margin: 10px 0 20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
img {
max-width: 200px;
max-height: 35px;
}
}