robust-react-ui
Version:
A React component library, built with a focus on accessibility, extensibility and reusability.
1,415 lines (1,348 loc) • 128 kB
CSS
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--carousel-max-width: var(--container-max-width-md);
--carousel-max-height: 400px;
--carousel-caption-background-color: #00000060;
--carousel-controls-padding: var(--space-m);
--carousel-heading-color: var(--color-white);
--carouse-text-color: var(--color-white);
--carousel-icon-color: var(--color-white);
--carousel-icon-stroke-width: 1;
--carousel-icon-width: 36px;
--carousel-caption-padding-x: var(--space-m);
--carousel-caption-padding-y: var(--space-m); }
/* .carousel */
.rrui-carousel__inner {
position: relative; }
.rrui-carousel__item {
display: none;
max-height: var(--carousel-max-height);
max-width: var(--carousel-max-width);
position: relative;
overflow: hidden;
width: 100%; }
.rrui-carousel__item--active {
display: block; }
.rrui-carousel__items--focused {
outline: 0;
box-shadow: var(--global-input-focus-shadow); }
.rrui-carousel__image a img {
height: 100%;
width: 100%;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: 50% 50%;
object-position: 50% 50%; }
.rrui-carousel__caption {
background: var(--carousel-caption-background-color);
border-radius: 4px;
color: #fff;
padding: var(--carousel-caption-padding-y) var(--carousel-caption-padding-x);
position: absolute;
right: 15%;
bottom: 6%;
left: 15%;
text-align: center; }
.rrui-carousel__caption .rrui-header a {
text-decoration: none;
color: var(--carousel-heading-color); }
.rrui-carousel__caption .rrui-header a:focus, .rrui-carousel__caption .rrui-header a:hover {
outline: none;
background-color: var(--link-focus-background-color);
text-decoration: underline; }
.rrui-carousel__caption .rrui-para {
color: var(--carousel-text-color);
margin-bottom: 0; }
.rrui-carousel__controls {
background: transparent;
display: flex;
padding: var(--carousel-controls-padding);
position: absolute;
top: 0;
right: 0;
left: 0;
justify-content: space-between;
z-index: 10; }
.rrui-carousel__controls .rrui-carousel__button--next {
margin-left: 0.5rem; }
.rrui-carousel__icon {
color: var(--carousel-icon-color);
stroke-width: var(--carousel-icon-stroke-width);
width: var(--carousel-icon-width);
height: var(--carousel-icon-width); }
.rrui-carousel__button {
background-color: var(--color-primary);
border: none;
border-radius: 50%;
padding: 0;
box-sizing: border-box;
width: 36px;
height: 36px;
outline: 0;
cursor: pointer; }
.rrui-carousel__button:active, .rrui-carousel__button:focus {
box-shadow: var(--global-input-focus-shadow); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--button-padding-y-sm: 0.6rem;
--button-padding-x-sm: 0.8rem;
--button-padding-y-md: 0.8rem;
--button-padding-x-md: 1.6rem;
--button-padding-y-lg: 1rem;
--button-padding-x-lg: 2rem;
--button-font-size-sm: var(--font-size-sm);
--button-font-size-md: var(--font-size-md);
--button-font-size-lg: var(--font-size-lg);
--button-display: block;
--button-margin-bottom: var(--global-space-under);
--button-icon-margin-right: var(--space-xxs); }
.rrui-button {
border: 0;
border-radius: var(--global-border-radius);
display: var(--button-display);
font-weight: bold;
margin-bottom: var(--button-margin-bottom);
box-sizing: border-box;
cursor: pointer; }
.rrui-button .rrui-icon {
margin-right: var(--button-icon-margin-right); }
.rrui-button:focus, .rrui-button:active {
outline: none;
box-shadow: var(--global-input-focus-shadow); }
.rrui-button--small {
font-size: var(--button-font-size-sm);
padding: var(--button-padding-y-sm) var(--button-padding-x-sm); }
.rrui-button--medium {
font-size: var(--button-font-size-md);
padding: var(--button-padding-y-md) var(--button-padding-x-md); }
.rrui-button--large {
font-size: var(--button-font-size-lg);
padding: var(--button-padding-y-lg) var(--button-padding-x-lg); }
.rrui-button--square .rrui-icon {
margin-right: 0; }
.rrui-button--square.rrui-button--small {
padding: var(--button-padding-y-sm) var(--button-padding-y-sm); }
.rrui-button--square.rrui-button--medium {
padding: var(--button-padding-y-md) var(--button-padding-y-md); }
.rrui-button--square.rrui-button--large {
padding: var(--button-padding-y-lg) var(--button-padding-y-lg); }
.rrui-button--primary {
background-color: var(--color-primary);
color: var(--color-white); }
.rrui-button--danger {
background-color: var(--color-danger);
color: var(--color-white); }
.rrui-button--success {
background-color: var(--color-success);
color: var(--color-white); }
.rrui-button--secondary {
background-color: var(--color-secondary);
color: var(--color-white); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--modal-content-padding: var(--space-l) var(--space-xl);
--modal-overlay-background: rgba(83, 83, 83, 0.137);
--modal-content-background-color: var(--color-white);
--modal-border-radius: var(--global-border-radius); }
.rrui-modal__overlay {
background: var(--modal-overlay-background);
display: none;
position: fixed;
overflow-y: auto;
top: 0;
right: 0;
bottom: 0;
left: 0;
justify-content: center;
align-items: center; }
.rrui-modal__overlay--active {
display: flex; }
.rrui-modal__content {
background-color: var(--modal-content-background-color);
border-radius: var(--modal-border-radius);
padding: var(--modal-content-padding);
max-width: 640px;
box-shadow: var(--global-shadow); }
.rrui-modal__actions {
display: flex;
justify-content: flex-end; }
.rrui-modal__actions .rrui-button {
margin-right: var(--space-m); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--nav-bar-background-color: var(--color-light-grey);
--nav-bar-color: var(--color-charcoal);
--nav-menu-width: 200px;
--nav-font-weight: bold;
--nav-text-transform: normal;
--nav-chevron-color: var(--color-charcoal);
--nav-active-color: var(--color-white);
--nav-active-background-color: var(--color-primary); }
.rrui-nav {
font-family: var(--font-family-primary);
box-sizing: border-box;
padding: 0;
margin: 0 0 var(--global-space-under) 0; }
.rrui-nav > * {
box-sizing: border-box; }
.rrui-nav ul[role='menubar'] {
background-color: var(--nav-bar-background-color);
font-size: 1rem;
padding: 0;
margin: 0;
list-style: none; }
.rrui-nav ul[role='menubar'] ul[role='menu'] li a {
display: block;
width: var(--nav-menu-width); }
.rrui-nav ul[role='menubar'] [role='menuitem'],
.rrui-nav ul[role='menubar'] [role='separator'] {
background-color: var(--nav-bar-background-color); }
.rrui-nav ul[role='menubar'] [role='menuitem']:focus,
.rrui-nav ul[role='menubar'] [role='menuitem']:hover,
.rrui-nav ul[role='menubar'] [role='separator']:focus,
.rrui-nav ul[role='menubar'] [role='separator']:hover {
outline: none;
background-color: var(--nav-active-background-color);
color: var(--nav-active-color); }
.rrui-nav ul[role='menubar'] [role='menuitem']:focus .rrui-nav__chevron,
.rrui-nav ul[role='menubar'] [role='menuitem']:hover .rrui-nav__chevron,
.rrui-nav ul[role='menubar'] [role='separator']:focus .rrui-nav__chevron,
.rrui-nav ul[role='menubar'] [role='separator']:hover .rrui-nav__chevron {
color: var(--nav-active-color); }
.rrui-nav ul[role='menubar'] ul[role='menu'] {
z-index: 1;
padding: 0;
position: absolute;
margin: 0; }
.rrui-nav ul[role='menubar'] > li {
display: inline;
position: relative; }
.rrui-nav__separator {
border-top: 1px solid var(--color-charcoal);
padding: 0;
margin: 0;
height: 1px; }
.rrui-nav__menu-item--expanded > a[role='menuitem'] > .rrui-nav__chevron, .rrui-nav__dropdown-item--expanded > a[role='menuitem'] > .rrui-nav__chevron {
transform: translateY(-50%) rotate(270deg); }
.rrui-nav .rrui-nav__menu-item.rrui-nav__menu-item--has-menu > a[role='menuitem'] {
padding-right: 2rem; }
@media screen and (prefers-reduced-motion: reduce) {
.rrui-nav__chevron {
color: var(--nav-chevron-color);
top: 50%;
transition: none;
transform: translateY(-50%) rotate(90deg);
right: 4px;
position: absolute; } }
.rrui-nav__chevron {
color: var(--nav-chevron-color);
top: 50%;
transition: transform 0.2s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
transform: translateY(-50%) rotate(90deg);
right: 4px;
position: absolute; }
.rrui-nav .rrui-nav__dropdown-item:hover > .rrui-nav__dropdown,
.rrui-nav .rrui-nav__dropdown-item:focus > .rrui-nav__dropdown,
.rrui-nav .rrui-nav__menu-item:hover > .rrui-nav__dropdown,
.rrui-nav .rrui-nav__menu-item:focus > .rrui-nav__dropdown {
display: block; }
.rrui-nav .rrui-nav__dropdown-item:hover > a[role='menuitem'],
.rrui-nav .rrui-nav__dropdown-item:focus > a[role='menuitem'],
.rrui-nav .rrui-nav__menu-item:hover > a[role='menuitem'],
.rrui-nav .rrui-nav__menu-item:focus > a[role='menuitem'] {
outline: none;
background-color: var(--nav-active-background-color);
color: var(--nav-active-color); }
.rrui-nav .rrui-nav__dropdown-item:hover > a[role='menuitem'] > .rrui-nav__chevron,
.rrui-nav .rrui-nav__dropdown-item:focus > a[role='menuitem'] > .rrui-nav__chevron,
.rrui-nav .rrui-nav__menu-item:hover > a[role='menuitem'] > .rrui-nav__chevron,
.rrui-nav .rrui-nav__menu-item:focus > a[role='menuitem'] > .rrui-nav__chevron {
color: var(--nav-active-color);
transform: translateY(-50%) rotate(270deg); }
.rrui-nav .rrui-nav__dropdown-item > a[aria-expanded='true'],
.rrui-nav .rrui-nav__menu-item > a[aria-expanded='true'] {
outline: none;
background-color: var(--nav-active-background-color);
color: var(--nav-active-color); }
.rrui-nav .rrui-nav__dropdown-item > a[aria-expanded='true'] .rrui-nav__chevron,
.rrui-nav .rrui-nav__menu-item > a[aria-expanded='true'] .rrui-nav__chevron {
color: var(--nav-active-color); }
.rrui-nav .rrui-nav__menu-item > a[role='menuitem'] {
line-height: 3rem; }
.rrui-nav .rrui-nav__dropdown-item {
position: relative; }
.rrui-nav .rrui-nav__dropdown-item,
.rrui-nav .rrui-nav__menu-item {
list-style: none;
padding: 0;
margin: 0; }
.rrui-nav .rrui-nav__dropdown {
top: 1.8rem;
left: 0;
display: none;
width: var(--nav-menu-width);
position: absolute; }
.rrui-nav .rrui-nav__dropdown-item [role='menuitem'],
.rrui-nav .rrui-nav__menu-item [role='menuitem'] {
color: var(--nav-bar-color);
font-weight: var(--nav-font-weight);
list-style: none;
box-sizing: border-box;
text-decoration: none;
text-transform: var(--nav-text-transform); }
.rrui-nav .rrui-nav__menu-item [role='menuitem'] {
padding-top: 0.8rem;
padding-right: 1rem;
padding-bottom: 0.8rem;
padding-left: 1rem; }
.rrui-nav .rrui-nav__dropdown-item [role='menuitem'] {
padding-top: 1rem;
padding-right: 1rem;
padding-bottom: 1rem;
padding-left: 1rem; }
.rrui-nav .rrui-nav__dropdown.rrui-nav__dropdown--open {
display: block; }
.rrui-nav .rrui-nav__dropdown.rrui-nav__dropdown--nested {
top: 0;
left: var(--nav-menu-width); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
.rrui-image {
box-sizing: border-box;
box-shadow: var(--global-shadow); }
.rrui-image--responsive {
width: 100%;
height: auto; }
.rrui-image--responsive-restrict-width {
max-width: 100%;
height: auto; }
.rrui-image--circle {
border-radius: 50%;
-o-object-fit: cover;
object-fit: cover; }
.rrui-image--bordered {
border-color: var(--color-primary);
border-width: 2px;
border-style: solid; }
.rrui-image--blurred {
filter: blur(4px); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--tab-active-background-color: var(--color-white);
--tab-background-color: var(--color-light-grey);
--tab-active-border-top: 4px solid var(--color-primary);
--tab-border-width: 4px;
--tab-border-style: solid;
--tab-border-color-inactive: var(--color-light-grey);
--tab-border-color-active-primary: var(--color-primary);
--tab-border-color-active-danger: var(--color-danger);
--tab-border-color-active-secondary: var(--color-secondary);
--tab-border-color-active-success: var(--color-success);
--tab-list-max-width: var(--global-box-width); }
.rrui-tablist {
font-family: var(--font-family-primary);
box-sizing: border-box;
margin-bottom: var(--global-space-under);
max-width: var(--tab-list-max-width); }
.rrui-tablist:focus-within .rrui-tablist__button-group {
overflow-x: visible; }
.rrui-tablist--full-width {
max-width: 100%; }
.rrui-tablist__button-group {
display: flex;
overflow-x: auto;
-webkit-overflow-scrolling: touch; }
.rrui-tablist__button {
white-space: nowrap;
background: var(--tab-background-color);
border: none;
font-size: 1rem;
padding: var(--space-s) var(--space-m);
cursor: pointer;
box-sizing: border-box;
border-top-style: var(--tab-border-style);
border-top-width: var(--tab-border-width);
border-top-color: var(--tab-border-color-inactive); }
.rrui-tablist__button:active, .rrui-tablist__button:focus {
z-index: 1;
outline: 0;
box-shadow: var(--global-input-focus-shadow); }
.rrui-tablist__button--active {
background-color: var(--tab-active-background-color);
font-weight: bold; }
.rrui-tablist.rrui-tablist--primary .rrui-tablist__button--active {
border-top-color: var(--tab-border-color-active-primary); }
.rrui-tablist.rrui-tablist--success .rrui-tablist__button--active {
border-top-color: var(--tab-border-color-active-success); }
.rrui-tablist.rrui-tablist--danger .rrui-tablist__button--active {
border-top-color: var(--tab-border-color-active-danger); }
.rrui-tablist.rrui-tablist--secondary .rrui-tablist__button--active {
border-top-color: var(--tab-border-color-active-secondary); }
.rrui-tablist__panel {
background: var(--tab-active-background-color);
box-sizing: border-box;
padding: var(--space-m);
box-shadow: var(--global-shadow); }
.rrui-tablist__panel:active, .rrui-tablist__panel:focus {
z-index: 1;
outline: 0;
box-shadow: var(--global-input-focus-shadow); }
.rrui-tablist__panel--hidden {
display: none; }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--pagination-button-margin-right: 0.5rem;
--pagination-button-color: var(--color-charcoal);
--pagination-button-background-color: var(--color-light-grey);
--pagination-button-current-color: var(--color-white);
--pagination-button-current-background-color: var(--color-primary);
--pagination-button-current-font-weight: bold;
--pagination-font-family: var(--font-family-primary);
--pagination-button-width: 2.2rem; }
.rrui-pagination {
font-family: var(--pagination-font-family);
margin-bottom: var(--global-space-under); }
.rrui-pagination__wrapper {
display: flex;
padding: 0;
list-style: none; }
.rrui-pagination__button {
background-color: var(--pagination-button-background-color);
color: var(--pagination-button-color);
display: flex;
font-weight: normal;
margin-right: var(--pagination-button-margin-right);
align-items: center;
justify-content: center;
width: var(--pagination-button-width);
height: var(--pagination-button-width);
box-sizing: border-box;
text-decoration: none;
cursor: pointer; }
.rrui-pagination__button:active, .rrui-pagination__button:focus {
outline: 0;
box-shadow: var(--global-input-focus-shadow); }
.rrui-pagination__button--rounded {
border-radius: 50%; }
.rrui-pagination__button--current {
background-color: var(--pagination-button-current-background-color);
color: var(--pagination-button-current-color);
font-weight: var(--pagination-button-current-font-weight); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--breadcrumb-font-size-sm: var(--font-size-sm);
--breadcrumb-font-size-md: var(--font-size-md);
--breadcrumb-font-size-lg: var(--font-size-lg);
--breadcrumb-line-height-sm: var(--font-line-height-sm);
--breadcrumb-line-height-md: var(--font-line-height-md);
--breadcrumb-line-height-lg: var(--font-line-height-lg);
--breadcrumb-font-color: var(--color-primary);
--breadcrumb-separator-color: var(--color-charcoal); }
.rrui-breadcrumbs {
font-family: var(--font-family-primary); }
.rrui-breadcrumbs__item {
list-style: none; }
.rrui-breadcrumbs__item > a[aria-current='page'] {
color: var(--color-charcoal); }
.rrui-breadcrumbs__item > a {
color: var(--breadcrumb-font-color); }
.rrui-breadcrumbs__item > a:hover, .rrui-breadcrumbs__item > a:focus {
outline: 0;
background-color: var(--link-focus-background-color); }
.rrui-breadcrumbs--small {
font-size: var(--breadcrumb-font-size-sm);
line-height: var(--breadcrumb-line-height-sm); }
.rrui-breadcrumbs--medium {
font-size: var(--breadcrumb-font-size-md);
line-height: var(--breadcrumb-line-height-md); }
.rrui-breadcrumbs--large {
font-size: var(--breadcrumb-font-size-lg);
line-height: var(--breadcrumb-line-height-lg); }
.rrui-breadcrumbs__list {
display: flex;
padding: 0;
margin: 0 0 var(--global-space-under) 0; }
.rrui-breadcrumbs__item:not(:last-child)::after {
color: var(--breadcrumb-separator-color);
font-weight: normal;
padding-right: 0.5rem;
padding-left: 0.5rem;
content: ' / '; }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--review-star-color: var(--color-primary);
--review-star-background-color: var(--color-primary);
--review-cross-color: var(--color-danger);
--review-star-inactive-color: var(--color-secondary);
--review-star-size-small: 18px;
--review-star-size-medium: 24px;
--review-star-size-large: 30px; }
.rrui-review--vis-hidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
padding: 0;
position: absolute;
margin: -1px;
overflow: hidden;
width: 1px; }
.rrui-review .rrui-review__checked {
fill: var(--review-star-background-color); }
.rrui-review--small svg {
width: var(--review-star-size-small);
height: var(--review-star-size-small); }
.rrui-review--medium svg {
width: var(--review-star-size-medium);
height: var(--review-star-size-medium); }
.rrui-review--large svg {
width: var(--review-star-size-large);
height: var(--review-star-size-large); }
.rrui-review svg {
stroke-width: 1;
fill: transparent;
stroke: currentColor; }
.rrui-review label,
.rrui-review output {
color: var(--review-star-color);
display: block;
float: left;
font-size: 2em;
height: 1.2em;
cursor: pointer;
/* Transparent border-bottom avoids jumping
when a colored border is applied
on :hover/:focus */
border-bottom: 2px solid transparent; }
.rrui-review output {
font-size: 1.5em;
padding: 0 1em; }
.rrui-review input:checked ~ label {
color: var(--review-star-color); }
.rrui-review input:checked + label {
color: var(--review-star-color);
border-bottom-color: var(--review-star-color); }
.rrui-review input:focus + label {
border-bottom-style: dotted; }
.rrui-review :hover input + label,
.rrui-review :focus input + label {
color: var(--review-star-color); }
.rrui-review input:hover ~ label,
.rrui-review input:focus ~ label,
.rrui-review input[id='star0'] + label {
color: var(--review-star-inactive-color); }
.rrui-review input:hover + label,
.rrui-review input:focus + label {
color: var(--review-star-color); }
.rrui-review input[id='star0']:checked + label {
color: var(--review-cross-color); }
.rrui-review [type='submit'] {
float: none; }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--autocomplete-font-family: var(--font-family-primary);
--autocomplete-result-focus-color: var(--color-primary);
--autocomplete-result-focus-background-color: var(--color-white);
--autocomplete-result-padding-x: 0.5rem;
--autocomplete-result-padding-y: 0.75rem; }
.rrui-autocomplete {
box-sizing: border-box;
margin-bottom: var(--global-space-under); }
.rrui-autocomplete__listbox {
background: #f2f2f2;
display: none;
padding: 0;
position: absolute;
margin: 0;
list-style: none;
box-sizing: border-box;
width: var(--input-default-width);
z-index: 1; }
.rrui-autocomplete__listbox--show {
display: block; }
.rrui-autocomplete__result {
box-sizing: border-box;
cursor: pointer;
font-family: var(--autocomplete-font-family);
padding: var(--autocomplete-result-padding-y) var(--autocomplete-result-padding-x); }
.rrui-autocomplete__result--selected {
background: var(--autocomplete-result-focus-color);
color: var(--autocomplete-result-focus-background-color);
font-weight: bold; }
.rrui-autocomplete__label {
color: var(--label-font-color);
display: block;
font-family: var(--label-font-family);
font-size: var(--label-font-size);
font-weight: var(--label-font-weight);
margin-right: var(--label-margin);
margin-bottom: var(--label-margin); }
.rrui-autocomplete__wrapper {
position: relative; }
.rrui-autocomplete input {
background-color: var(--input-background-color);
border-color: var(--input-border-color);
border-radius: var(--input-border-radius);
border-width: var(--input-border-width);
color: var(--input-color);
display: block;
font-family: var(--input-font-family);
font-size: var(--input-font-size);
padding: var(--input-padding-y) var(--input-padding-x);
width: var(--input-default-width);
box-sizing: border-box;
border-style: var(--input-border-style); }
.rrui-autocomplete input:active, .rrui-autocomplete input:focus {
outline: none;
box-shadow: var(--global-input-focus-shadow); }
.rrui-autocomplete input:disabled {
cursor: not-allowed; }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-focus-shadow: 0 0 0 3px var(--form-focus-color-primary);
--alert-focus-color: rgba(255, 255, 255, 0.541);
--alert-focus-shadow: 0 0 0 3px var(--alert-focus-color);
--global-box-width: 760px;
--global-border-radius: 0;
--global-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
--global-space-under: 1.5rem;
--space-xxs: 0.25rem;
--space-xs: 0.5rem;
--space-s: 0.75rem;
--space-m: 1rem;
--space-l: 2rem;
--space-xl: 3rem;
--space-xxl: 6rem;
--space-xxxl: 8rem;
--input-border-style: solid;
--input-border-color: var(--color-primary);
--input-background-color: var(--color-primary-light);
--input-background-color-error: var(--color-danger-light);
--input-background-color-disabled: var(--color-disabled-light);
--input-border-color-disabled: var(--color-disabled);
--input-border-width: 2px;
--input-padding-y: var(--space-s);
--input-padding-x: var(--space-xs);
--input-font-family: var(--font-family-primary);
--input-color: var(--color-black);
--input-placeholder-color: var(--color-placeholder);
--input-font-size: var(--font-size-md);
--input-margin-bottom: 1.5rem;
--input-border-radius: var(--global-border-radius);
--input-default-width: 300px;
--input-color-width: 38px; }
:root {
--font-family-primary: 'Montserrat', helvetica, arial, sans-serif;
--font-size-sm: 0.8rem;
--font-size-md: 1rem;
--font-size-lg: 1.25rem;
--font-size-xlg: 1.6rem;
--font-size-xxlg: 1.8rem;
--font-size-xxxlg: 2.25rem;
--font-line-height-sm: calc(var(--font-size-sm) * 1.5);
--font-line-height-md: calc(var(--font-size-md) * 1.5);
--font-line-height-lg: calc(var(--font-size-lg) * 1.5);
--font-margin: 0 0 var(--global-space-under) 0;
--font-margin-small: 0 0 var(--space-xs) 0; }
:root {
--alert-padding-y: var(--space-m);
--alert-padding-x: var(--space-m);
--alert-border-radius: var(--global-border-radius);
--alert-max-width: 760px;
--alert-shadow: var(--global-shadow);
--alert-icon-color: var(--color-white);
--alert-primary-color: var(--color-white);
--alert-primary-background-color: var(--color-primary);
--alert-danger-color: var(--color-white);
--alert-danger-background-color: var(--color-danger);
--alert-success-color: var(--color-white);
--alert-success-background-color: var(--color-success); }
.rrui-alert {
box-sizing: border-box;
border-radius: var(--alert-border-radius);
padding-bottom: var(--alert-padding-y);
padding-top: var(--alert-padding-y);
padding-right: calc(var(--alert-padding-x) + 24px + var(--alert-padding-x));
padding-left: var(--alert-padding-x);
position: relative;
margin-bottom: var(--global-space-under);
max-width: var(--alert-max-width);
box-shadow: var(--alert-shadow); }
.rrui-alert--full-width {
max-width: 100%; }
.rrui-alert--hidden {
display: none; }
.rrui-alert__button {
background: transparent;
border: 0;
box-sizing: border-box;
padding: 0;
width: 24px;
height: 24px;
position: absolute;
top: 0.75rem;
right: 0.75rem;
cursor: pointer; }
.rrui-alert__button:active, .rrui-alert__button:focus {
outline: 0;
box-shadow: var(--alert-focus-shadow); }
.rrui-alert__icon {
width: 24px;
height: 24px;
color: var(--alert-icon-color); }
.rrui-alert--primary {
background-color: var(--alert-primary-background-color); }
.rrui-alert--primary .rrui-para,
.rrui-alert--primary .rrui-header {
color: var(--alert-primary-color); }
.rrui-alert--success {
background-color: var(--alert-success-background-color); }
.rrui-alert--success .rrui-para,
.rrui-alert--success .rrui-header {
color: var(--alert-success-color); }
.rrui-alert--danger {
background-color: var(--alert-danger-background-color); }
.rrui-alert--danger .rrui-para,
.rrui-alert--danger .rrui-header {
color: var(--alert-danger-color); }
:root {
--color-primary: #5b31e6;
--color-primary-light: #3b61b30d;
--color-secondary: rgb(56, 56, 56);
--color-secondary-light: rgba(93, 93, 93, 0.685);
--color-danger: #be421f;
--color-danger-light: #c7492112;
--color-success: #248351;
--color-success-light: #d9f1df;
--color-white: #fff;
--color-light-grey: #f6f6f6;
--color-charcoal: #333;
--color-disabled: #d4d4d4;
--color-disabled-light: rgb(238, 238, 238);
--color-placeholder: #949494;
--link-focus-background-color: #5b31e63a;
--form-focus-color-primary: #5b31e694;
--global-input-foc