@roadtrip/css
Version:
CSS framework for Roadtrip Design System
2,403 lines (2,251 loc) • 181 kB
CSS
/*!
* Roadtrip CSS 4.12.1 (https://design.mobivia.com/)
* Copyright 2020-2025 Mobivia
* Licensed under Apache-2.0 (https://gitlab.com/mobivia-design/roadtrip/css/-/blob/master/LICENSE)
*/
/* BASE
-------------------- */
/**
* Variables
*
* List of all reusable variables (colors, breakpoints...)
* using CSS Custom properties (https://developer.mozilla.org/en-US/docs/Web/CSS/--*)
*
*
*/
body {
/* GREYSCALE
-------------------- */
--road-grey-0: #000000;
--road-grey-100-new: #ffffff;
/**
* Blur
*/
--road-blur-light: blur(0.25rem);
--road-blur-medium: blur(0.5rem);
/**
* Shadow
*/
--road-elevation-lowest: 0 1px 2px rgba(0, 0, 0, 0.24), 0 1px 3px 1px rgba(0, 0, 0, 0.08);
--road-elevation-low: 0 1px 2px rgba(41, 44, 51, 0.16), 0 3px 5px 1px rgba(41, 44, 51, 0.12);
--road-elevation-average: 0 3px 3px rgba(0, 0, 0, 0.16), 0 6px 8px 1px rgba(41, 44, 51, 0.12);
--road-elevation-hight: 0 3px 3px rgba(0, 0, 0, 0.2), 0 10px 13px 2px rgba(41, 44, 51, 0.12);
--road-elevation-highest: 0 4px 4px rgba(0, 0, 0, 0.24), 0 12px 16px 6px rgba(41, 44, 51, 0.16);
/**
* Button destructive
*/
--road-button-destructive-primary: var(--road-danger-50);
--road-button-destructive-primary-variant: var(--road-danger-40);
--road-button-destructive-outline: var(--road-danger-50);
--road-button-destructive-secondary: var(--road-grey-100-new);
--road-button-destructive-secondary-variant: var(--road-danger-90);
--road-on-button-destructive-secondary: var(--road-danger-50);
--road-on-button-destructive-primary: var(--road-grey-100-new);
/* DECORATIVE
-------------------- */
--road-blue-klein-5: #000411;
--road-blue-klein-10: #000923;
--road-blue-klein-15: #000d34;
--road-blue-klein-20: #001146;
--road-blue-klein-30: #001a68;
--road-blue-klein-40: #00228b;
--road-blue-klein-50: #002bae;
--road-blue-klein-60: #3355be;
--road-blue-klein-70: #6680ce;
--road-blue-klein-80: #99aadf;
--road-blue-klein-85: #b3bfe7;
--road-blue-klein-90: #ccd5ef;
--road-blue-klein-95: #e6eaf7;
--road-violet-electric-5: #0e0019;
--road-violet-electric-10: #1c0032;
--road-violet-electric-15: #2a004a;
--road-violet-electric-20: #380063;
--road-violet-electric-30: #550095;
--road-violet-electric-40: #7100c6;
--road-violet-electric-50: #8d00f8;
--road-violet-electric-60: #a433f9;
--road-violet-electric-70: #bb66fb;
--road-violet-electric-80: #d199fc;
--road-violet-electric-85: #ddb2fd;
--road-violet-electric-90: #e8ccfe;
--road-violet-electric-95: #f4e5fe;
--road-green-monstera-5: #000c01;
--road-green-monstera-10: #001901;
--road-green-monstera-15: #002502;
--road-green-monstera-20: #003203;
--road-green-monstera-30: #005705;
--road-green-monstera-40: #007006;
--road-green-monstera-50: #007c07;
--road-green-monstera-60: #339639;
--road-green-monstera-70: #66b06a;
--road-green-monstera-80: #99cb9c;
--road-green-monstera-85: #b3d8b5;
--road-green-monstera-90: #cce5cd;
--road-green-monstera-95: #e6f2e6;
--road-red-pepper-5: #150000;
--road-red-pepper-10: #2a0000;
--road-red-pepper-15: #3f0000;
--road-red-pepper-20: #540000;
--road-red-pepper-30: #7f0000;
--road-red-pepper-40: #a90000;
--road-red-pepper-50: #d30000;
--road-red-pepper-60: #dc3333;
--road-red-pepper-70: #e56666;
--road-red-pepper-80: #ed9999;
--road-red-pepper-85: #f2b3b3;
--road-red-pepper-90: #f6cccc;
--road-red-pepper-95: #fbe6e6;
--road-yellow-gold-5: #130e00;
--road-yellow-gold-10: #261c00;
--road-yellow-gold-15: #3a2a00;
--road-yellow-gold-20: #4d3800;
--road-yellow-gold-30: #735400;
--road-yellow-gold-40: #9a7000;
--road-yellow-gold-50: #c08c00;
--road-yellow-gold-60: #cda333;
--road-yellow-gold-70: #d9ba66;
--road-yellow-gold-80: #e6d199;
--road-yellow-gold-85: #ecdcb2;
--road-yellow-gold-90: #f2e8cc;
--road-yellow-gold-95: #f9f4e6;
--road-yellow-mikado-5: #191401;
--road-yellow-mikado-10: #332702;
--road-yellow-mikado-15: #4c3b04;
--road-yellow-mikado-20: #664e05;
--road-yellow-mikado-30: #997607;
--road-yellow-mikado-40: #cc9d0a;
--road-yellow-mikado-50: #ffc40c;
--road-yellow-mikado-60: #ffd03d;
--road-yellow-mikado-70: #ffdc6d;
--road-yellow-mikado-80: #ffe79e;
--road-yellow-mikado-85: #ffedb6;
--road-yellow-mikado-90: #fff3ce;
--road-yellow-mikado-95: #fff9e7;
/**
* Tag
*/
--road-tag-default: var(--road-blue-klein-50);
--road-tag-ecology: var(--road-green-monstera-50);
--road-tag-exclusivity: var(--road-yellow-gold-50);
--road-tag-offer: var(--road-red-pepper-50);
--road-tag-black-friday: var(--road-grey-0);
/**
* Rating level
*/
--road-rating: var(--road-yellow-mikado-50);
/* STATUS
-------------------- */
--road-info-10: #0a1628;
--road-info-20: #142c51;
--road-info-30: #1d4379;
--road-info-40: #2759a2;
--road-info-50: #316fca;
--road-info-60: #5a8cd5;
--road-info-70: #83a9df;
--road-info-80: #adc5ea;
--road-info-90: #d6e2f4;
--road-info-95: #ebf1fa;
--road-success-10: #0d1b0e;
--road-success-20: #1a351b;
--road-success-30: #285029;
--road-success-40: #356a36;
--road-success-50: #428544;
--road-success-60: #689d69;
--road-success-70: #8eb68f;
--road-success-80: #b3ceb4;
--road-success-90: #d9e7da;
--road-success-95: #ecf3ec;
--road-warning-10: #4e3406;
--road-warning-20: #9c690d;
--road-warning-30: #ea9d13;
--road-warning-40: #fab815;
--road-warning-50: #fdc93e;
--road-warning-60: #ffd966;
--road-warning-70: #ffe38c;
--road-warning-80: #ffecb3;
--road-warning-90: #fff6d9;
--road-warning-95: #fffaec;
--road-danger-10: #240b09;
--road-danger-20: #471711;
--road-danger-30: #6b221a;
--road-danger-40: #8e2e22;
--road-danger-50: #b2392b;
--road-danger-60: #c16155;
--road-danger-70: #d18880;
--road-danger-80: #e0b0aa;
--road-danger-90: #f0d7d5;
--road-danger-95: #f7ebea;
/**
* Information
*/
--road-info-surface: var(--road-info-95);
--road-info-surface-inverse: var(--road-info-50);
--road-on-info-surface: var(--road-info-30);
--road-on-info-surface-inverse: var(--road-grey-100-new);
--road-info-outline: var(--road-info-50);
--road-info-icon: var(--road-info-50);
--road-info-icon-inverse: var(--road-grey-100-new);
--road-info-background: var(--road-info-surface);
--road-info-default: var(--road-info-surface-inverse);
--road-info-text: var(--road-on-info-surface);
--road-info-contrast: var(--road-on-info-surface-inverse);
/**
* Success
*/
--road-success-surface: var(--road-success-95);
--road-success-surface-inverse: var(--road-success-50);
--road-on-success-surface: var(--road-success-30);
--road-on-success-surface-inverse: var(--road-grey-100-new);
--road-success-outline: var(--road-success-50);
--road-success-icon: var(--road-success-50);
--road-success-icon-inverse: var(--road-grey-100-new);
--road-success-background: var(--road-success-surface);
--road-success-default: var(--road-success-surface-inverse);
--road-success-text: var(--road-on-success-surface);
--road-success-contrast: var(--road-on-success-surface-inverse);
/**
* Warning
*/
--road-warning-surface: var(--road-warning-95);
--road-warning-surface-inverse: var(--road-warning-50);
--road-on-warning-surface: var(--road-warning-20);
--road-on-warning-surface-inverse: var(--road-warning-10);
--road-warning-outline: var(--road-warning-30);
--road-warning-icon: var(--road-warning-30);
--road-warning-icon-inverse: var(--road-warning-10);
--road-warning-background: var(--road-warning-surface);
--road-warning-default: var(--road-warning-surface-inverse);
--road-warning-text: var(--road-on-warning-surface);
--road-warning-contrast: var(--road-on-warning-surface-inverse);
/**
* Danger
*/
--road-danger-surface: var(--road-danger-95);
--road-danger-surface-inverse: var(--road-danger-50);
--road-on-danger-surface: var(--road-danger-30);
--road-on-danger-surface-inverse: var(--road-grey-100-new);
--road-danger-outline: var(--road-danger-50);
--road-danger-icon: var(--road-danger-50);
--road-danger-icon-inverse: var(--road-grey-100-new);
--road-danger-background: var(--road-danger-surface);
--road-danger-default: var(--road-danger-surface-inverse);
--road-danger-text: var(--road-on-danger-surface);
--road-danger-contrast: var(--road-on-danger-surface-inverse);
/* FONT
-------------------- */
--road-font: muli, arial, sans-serif;
/* SIZE
-------------------- */
--road-font-size-75: 4.6875rem;
--road-font-size-65: 4.0625rem;
--road-font-size-57: 3.5625rem;
--road-font-size-49: 3.0625rem;
--road-font-size-43: 2.6875rem;
--road-font-size-37: 2.3125rem;
--road-font-size-32: 2rem;
--road-font-size-28: 1.75rem;
--road-font-size-24: 1.5rem;
--road-font-size-21: 1.325rem;
--road-font-size-18: 1.125rem;
--road-font-size-16: 1rem;
--road-font-size-14: 0.875rem;
--road-font-size-12: 0.75rem;
--road-font-size-10: 0.625rem;
/* OVERLINE
-------------------- */
--road-overline: var(--road-font-size-12);
/* UTILITY
-------------------- */
--road-legal-medium: var(--road-font-size-12);
--road-label-medium: var(--road-font-size-16);
--road-label-small: var(--road-font-size-12);
--road-label-extra-small: var(--road-font-size-10);
--road-caption-medium: var(--road-font-size-12);
--road-helper-medium: var(--road-font-size-14);
/* LINK
-------------------- */
--road-link-large: var(--road-font-size-18);
--road-link-medium: var(--road-font-size-16);
--road-link-small: var(--road-font-size-14);
--road-link-extra-small: var(--road-font-size-12);
/* BUTTON
-------------------- */
--road-button-medium: var(--road-font-size-16);
--road-button-small: var(--road-font-size-14);
/* FLUID
-------------------- */
--road-display-large: var(--road-font-size-57);
--road-display-medium: var(--road-font-size-49);
--road-display-small: var(--road-font-size-43);
--road-heading-01: var(--road-font-size-32);
--road-heading-02: var(--road-font-size-28);
--road-heading-03: var(--road-font-size-24);
--road-heading-04: var(--road-font-size-21);
--road-sub-heading-large: var(--road-font-size-24);
--road-sub-heading-medium: var(--road-font-size-21);
--road-sub-heading-small: var(--road-font-size-18);
/* BODY
-------------------- */
--road-body-large: var(--road-font-size-18);
--road-body-medium: var(--road-font-size-16);
--road-body-small: var(--road-font-size-14);
/* SPACING
-------------------- */
--road-spacing-01: 0.125rem;
--road-spacing-02: 0.25rem;
--road-spacing-03: 0.5rem;
--road-spacing-04: 0.75rem;
--road-spacing-05: 1rem;
--road-spacing-06: 1.5rem;
--road-spacing-07: 2rem;
--road-spacing-08: 2.5rem;
--road-spacing-09: 3rem;
--road-spacing-10: 4rem;
--road-spacing-11: 5rem;
--road-spacing-12: 6rem;
--road-spacing-13: 10rem;
/* OLD CSS VARIABLES
-------------------- */
/**
* Primary
*/
--road-primary-100: var(--road-primary-90);
--road-primary-200: var(--road-primary-80);
--road-primary-300: var(--road-primary-70);
--road-primary-400: var(--road-primary-60);
--road-primary-500: var(--road-primary-50);
--road-primary-600: var(--road-primary-40);
--road-primary-700: var(--road-primary-30);
--road-primary-800: var(--road-primary-20);
--road-primary-900: var(--road-primary-10);
--road-primary-contrast: var(--road-on-primary);
/**
* Secondary
*/
--road-secondary-100: var(--road-secondary-90);
--road-secondary-200: var(--road-secondary-80);
--road-secondary-300: var(--road-secondary-70);
--road-secondary-400: var(--road-secondary-60);
--road-secondary-500: var(--road-secondary-50);
--road-secondary-600: var(--road-secondary-40);
--road-secondary-700: var(--road-secondary-30);
--road-secondary-800: var(--road-secondary-20);
--road-secondary-900: var(--road-secondary-10);
--road-secondary-contrast: var(--road-on-secondary);
/**
* Primary
*/
--primary: var(--road-brand-primary);
--primary-hover: var(--road-grey-999);
--primary-darken: var(--road-grey-999);
--primary-lighten: var(--road-primary-100);
--primary-contrast: var(--road-grey-000);
/**
* Secondary
*/
--secondary: var(--road-primary-500);
--secondary-hover: var(--road-primary-700);
--secondary-darken: var(--road-primary-700);
--secondary-lighten: var(--road-primary-100);
--secondary-contrast: var(--road-grey-000);
/* GREYSCALE
-------------------- */
--road-grey-000: var(--road-grey-100-new);
--road-grey-100: var(--road-grey-90);
--road-grey-200: var(--road-grey-80);
--road-grey-300: var(--road-grey-70);
--road-grey-400: var(--road-grey-60);
--road-grey-500: var(--road-grey-50);
--road-grey-600: var(--road-grey-40);
--road-grey-700: var(--road-grey-30);
--road-grey-800: var(--road-grey-20);
--road-grey-900: var(--road-grey-10);
--road-grey-999: var(--road-grey-0);
--road-disabled: var(--road-surface-disabled);
/**
* Accent
*/
--accent: var(--road-secondary-500);
--accent-hover: var(--road-secondary-700);
--accent-darken: var(--road-secondary-700);
--accent-lighten: var(--road-secondary-100);
--accent-contrast: var(--road-grey-900);
/* FEEDBACK
-------------------- */
/**
* Information
*/
--info: var(--road-info-default);
--info-hover: var(--road-info-text);
--info-text: var(--road-info-text);
--info-background: var(--road-info-background);
--info-contrast: var(--road-grey-000);
/**
* Success
*/
--success: var(--road-success-default);
--success-hover: var(--road-success-text);
--success-text: var(--road-success-text);
--success-background: var(--road-success-background);
--success-contrast: var(--road-grey-000);
/**
* Warning
*/
--warning: var(--road-warning-default);
--warning-hover: var(--road-warning-text);
--warning-text: var(--road-warning-text);
--warning-background: var(--road-warning-background);
--warning-contrast: var(--road-grey-900);
/**
* Danger
*/
--danger: var(--road-danger-default);
--danger-hover: var(--road-danger-text);
--danger-text: var(--road-danger-text);
--danger-background: var(--road-danger-background);
--danger-contrast: var(--road-grey-000);
/* MONOCHROME
-------------------- */
--icon: var(--road-grey-900);
--text: var(--road-grey-900);
--text-second: var(--road-grey-600);
--text-disabled: var(--road-grey-400);
--border-form: var(--road-grey-400);
--border: var(--road-grey-300);
--background: var(--road-grey-100);
--background-second: var(--road-grey-100);
--white: var(--road-grey-000);
/* FONT
-------------------- */
--font: var(--road-font);
}
@media (min-width: 768px) {
body {
--road-display-large: var(--road-font-size-75);
--road-display-medium: var(--road-font-size-65);
--road-display-small: var(--road-font-size-57);
--road-heading-01: var(--road-font-size-49);
--road-heading-02: var(--road-font-size-37);
--road-heading-03: var(--road-font-size-32);
--road-heading-04: var(--road-font-size-28);
--road-sub-heading-large: var(--road-font-size-32);
--road-sub-heading-medium: var(--road-font-size-28);
--road-sub-heading-small: var(--road-font-size-24);
}
}
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* stylelint-disable */
/* Document
========================================================================== */
/**
* Prevent adjustments of font size after orientation changes in iOS.
*/
html {
-webkit-text-size-adjust: 100%;
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
margin: 0; /* 2 */
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
color: inherit; /* 2 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
outline-offset: -2px; /* 2 */
-webkit-appearance: textfield; /* 1 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
font: inherit; /* 2 */
-webkit-appearance: button; /* 1 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}
a.focus-visible,
button.focus-visible,
input.focus-visible,
textarea.focus-visible,
select.focus-visible,
[tabindex].focus-visible {
outline: auto;
}
/**
* Base
*
* Specific reset and base styles for every elements
*
* Index
* - Body base style
* - Responsive media
* - Iframe
* - Links
* - Webfonts
*/
/* stylelint-disable */
/**
* set box-sizing for all elements
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
/**
* Remove native arrow on type number
*/
input[type="number"] {
appearance: textfield;
}
/* BODY BASE STYLE
-------------------- */
body {
font-family: var(--road-font);
font-size: var(--road-font-size-14);
line-height: 1.5;
color: var(--road-grey-10);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/* RESPONSIVE MEDIA
-------------------- */
img,
embed,
iframe,
object,
audio,
video {
max-width: 100%;
height: auto;
}
/* IFRAME
-------------------- */
iframe {
border: 0;
}
/* LINKS
-------------------- */
a {
text-decoration: none;
cursor: pointer;
}
/*
* Font
*
* Index
* - Muli
*/
/* MULI
-------------------- */
/*
* Regular
*/
/* latin-ext */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 400;
font-display: swap;
src: local("Muli Regular"), local("Muli-Regular"), url("fonts/Muli-Regular.woff2") format("woff2"), url("fonts/Muli-Regular.woff") format("woff");
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 400;
font-display: swap;
src: local("Muli Regular"), local("Muli-Regular"), url("fonts/Muli-Regular.woff2") format("woff2"), url("fonts/Muli-Regular.woff") format("woff");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
* Bold
*/
/* latin-ext */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 700;
font-display: swap;
src: local("Muli Bold"), local("Muli-Bold"), url("fonts/Muli-Bold.woff2") format("woff2"), url("fonts/Muli-Bold.woff") format("woff");
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 700;
font-display: swap;
src: local("Muli Bold"), local("Muli-Bold"), url("fonts/Muli-Bold.woff2") format("woff2"), url("fonts/Muli-Bold.woff") format("woff");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
* SemiBold
*/
/* latin-ext */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 600;
font-display: swap;
src: local("Muli SemiBold"), local("Muli-SemiBold"), url("fonts/Muli-SemiBold.woff2") format("woff2"), url("fonts/Muli-SemiBold.woff") format("woff");
}
/* latin */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 600;
font-display: swap;
src: local("Muli SemiBold"), local("Muli-SemiBold"), url("fonts/Muli-SemiBold.woff2") format("woff2"), url("fonts/Muli-BoSemiBoldld.woff") format("woff");
}
/*
* Black
*/
/* latin-ext */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 900;
font-display: swap;
src: local("Muli Black"), local("Muli-Black"), url("fonts/Muli-Black.woff2") format("woff2"), url("fonts/Muli-Black.woff") format("woff");
}
/* latin */
@font-face {
font-family: Muli;
font-style: normal;
font-weight: 900;
font-display: swap;
src: local("Muli Black"), local("Muli-Black"), url("fonts/Muli-Black.woff2") format("woff2"), url("fonts/Muli-Black.woff") format("woff");
}
/**
* Typography
*
* Typography can help create clear hierarchies,
* organize information, and guide users through a product or experience.
*
* We using Muli as the default font (https://github.com/vernnobile/MuliFont)
*
* Index
* - Display
* - Headings
* - Content
*
*/
/* DISPLAY
-------------------- */
.display-large{
font-size: var(--road-display-large);
font-weight: 700;
line-height: 1.5;
}
.display-medium{
font-size: var(--road-display-medium);
font-weight: 700;
line-height: 1.5;
}
.display-small{
font-size: var(--road-display-small);
font-weight: 700;
line-height: 1.5;
}
/* HEADINGS
-------------------- */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.h7,
.h8,
.h9 {
padding: 0;
font-weight: 700;
line-height: 1.5;
color: var(--road-on-surface);
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.h7,
.h8,
.h9,
.text-content,
.text-small,
.text-legal,
.text-large,
.text-medium
{
margin: 0 0 1rem;
font-family: var(--road-font, sans-serif);
}
.h1 {
font-size: var(--road-heading-01);
}
.h2 {
font-size: var(--road-heading-02);
}
.h3 {
font-size: var(--road-heading-03);
}
.h4 {
font-size: var(--road-heading-04);
}
.h5 {
font-size: var(--road-font-size-24);
}
.h6 {
font-size: var(--road-font-size-21);
}
.h7 {
font-size: var(--road-font-size-18);
}
.h8 {
font-size: var(--road-font-size-16);
}
.h9 {
font-size: var(--road-font-size-12);
text-transform: uppercase;
}
/* SUB HEADINGS
-------------------- */
.sub-heading-large{
font-size: var(--road-sub-heading-large);
font-weight: 700;
line-height: 1.5;
}
.sub-heading-medium{
font-size: var(--road-sub-heading-medium);
font-weight: 700;
line-height: 1.5;
}
.sub-heading-small{
font-size: var(--road-sub-heading-small);
font-weight: 700;
line-height: 1.5;
}
.overline{
font-size: var(--road-overline);
font-weight: 700;
text-transform: uppercase;
}
/* CONTENT
-------------------- */
.text-content,
.text-small,
.text-legal,
.text-large,
.text-medium {
line-height: 1.5;
}
.text-large {
font-size: var(--road-body-large);
color: var(--road-grey-10);
}
.text-content {
font-size: var(--road-body-medium);
color: var(--road-grey-10);
}
.text-medium {
font-size: var(--road-body-small);
color: var(--road-grey-10);
}
.text-small {
font-size: var(--road-legal-medium);
}
.text-legal {
font-size: var(--road-legal-medium);
color: var(--road-grey-60);
}
/* Underline
-------------------- */
.title-underline::after{
display: block;
width: 50px;
height: 3px;
margin-top: 8px;
content: "";
background-color: var(--road-decorative-surface);
}
.text-center.title-underline::after{
margin: 8px auto 0;
}
.text-right.title-underline::after{
position: absolute;
right: 2rem;
}
/* LAYOUT
-------------------- */
/**
* Grid
*
* Grid system based on Bootstrap's Grid
* (https://getbootstrap.com/docs/4.3/layout/grid/)
*
* Index
* - Container
* - Row
* - No gutter
* - Columns
*/
/* CONTAINER
-------------------- */
.container {
width: 100%;
padding-right: 8px;
padding-left: 8px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
padding-right: 24px;
padding-left: 24px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
.container-fluid {
width: 100%;
padding-right: 8px;
padding-left: 8px;
margin-right: auto;
margin-left: auto;
}
/* ROW
-------------------- */
.container-fluid .row {
max-width: 1440px;
}
@media (min-width: 1440px) {
.container-fluid .row {
margin-right: auto;
margin-left: auto;
}
}
.row {
display: flex;
flex-wrap: wrap;
margin-right: -8px;
margin-left: -8px;
}
/* NO GUTTERS
-------------------- */
.no-gutters {
margin-right: 0;
margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
padding-right: 0;
padding-left: 0;
}
/* COLUMNS
-------------------- */
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
position: relative;
width: 100%;
min-height: 1px;
padding-right: 8px;
padding-left: 8px;
}
.col {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-auto {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-1 {
flex: 0 0 8.3333%;
max-width: 8.3333%;
}
.col-2 {
flex: 0 0 16.6667%;
max-width: 16.6667%;
}
.col-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-4 {
flex: 0 0 33.3333%;
max-width: 33.3333%;
}
.col-5 {
flex: 0 0 41.6667%;
max-width: 41.6667%;
}
.col-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-7 {
flex: 0 0 58.3333%;
max-width: 58.3333%;
}
.col-8 {
flex: 0 0 66.6667%;
max-width: 66.6667%;
}
.col-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-10 {
flex: 0 0 83.3333%;
max-width: 83.3333%;
}
.col-11 {
flex: 0 0 91.6667%;
max-width: 91.6667%;
}
.col-12 {
flex: 0 0 100%;
max-width: 100%;
}
.offset-1 {
margin-left: 8.3333%;
}
.offset-2 {
margin-left: 16.6667%;
}
.offset-3 {
margin-left: 25%;
}
.offset-4 {
margin-left: 33.3333%;
}
.offset-5 {
margin-left: 41.6667%;
}
.offset-6 {
margin-left: 50%;
}
.offset-7 {
margin-left: 58.3333%;
}
.offset-8 {
margin-left: 66.6667%;
}
.offset-9 {
margin-left: 75%;
}
.offset-10 {
margin-left: 83.3333%;
}
.offset-11 {
margin-left: 91.6667%;
}
@media (min-width: 576px) {
.col-sm {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-sm-1 {
flex: 0 0 8.3333%;
max-width: 8.3333%;
}
.col-sm-2 {
flex: 0 0 16.6667%;
max-width: 16.6667%;
}
.col-sm-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
flex: 0 0 33.3333%;
max-width: 33.3333%;
}
.col-sm-5 {
flex: 0 0 41.6667%;
max-width: 41.6667%;
}
.col-sm-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
flex: 0 0 58.3333%;
max-width: 58.3333%;
}
.col-sm-8 {
flex: 0 0 66.6667%;
max-width: 66.6667%;
}
.col-sm-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
flex: 0 0 83.3333%;
max-width: 83.3333%;
}
.col-sm-11 {
flex: 0 0 91.6667%;
max-width: 91.6667%;
}
.col-sm-12 {
flex: 0 0 100%;
max-width: 100%;
}
.offset-sm-0 {
margin-left: 0;
}
.offset-sm-1 {
margin-left: 8.3333%;
}
.offset-sm-2 {
margin-left: 16.6667%;
}
.offset-sm-3 {
margin-left: 25%;
}
.offset-sm-4 {
margin-left: 33.3333%;
}
.offset-sm-5 {
margin-left: 41.6667%;
}
.offset-sm-6 {
margin-left: 50%;
}
.offset-sm-7 {
margin-left: 58.3333%;
}
.offset-sm-8 {
margin-left: 66.6667%;
}
.offset-sm-9 {
margin-left: 75%;
}
.offset-sm-10 {
margin-left: 83.3333%;
}
.offset-sm-11 {
margin-left: 91.6667%;
}
}
@media (min-width: 768px) {
.col-md {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-md-1 {
flex: 0 0 8.3333%;
max-width: 8.3333%;
}
.col-md-2 {
flex: 0 0 16.6667%;
max-width: 16.6667%;
}
.col-md-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
flex: 0 0 33.3333%;
max-width: 33.3333%;
}
.col-md-5 {
flex: 0 0 41.6667%;
max-width: 41.6667%;
}
.col-md-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
flex: 0 0 58.3333%;
max-width: 58.3333%;
}
.col-md-8 {
flex: 0 0 66.6667%;
max-width: 66.6667%;
}
.col-md-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
flex: 0 0 83.3333%;
max-width: 83.3333%;
}
.col-md-11 {
flex: 0 0 91.6667%;
max-width: 91.6667%;
}
.col-md-12 {
flex: 0 0 100%;
max-width: 100%;
}
.offset-md-0 {
margin-left: 0;
}
.offset-md-1 {
margin-left: 8.3333%;
}
.offset-md-2 {
margin-left: 16.6667%;
}
.offset-md-3 {
margin-left: 25%;
}
.offset-md-4 {
margin-left: 33.3333%;
}
.offset-md-5 {
margin-left: 41.6667%;
}
.offset-md-6 {
margin-left: 50%;
}
.offset-md-7 {
margin-left: 58.3333%;
}
.offset-md-8 {
margin-left: 66.6667%;
}
.offset-md-9 {
margin-left: 75%;
}
.offset-md-10 {
margin-left: 83.3333%;
}
.offset-md-11 {
margin-left: 91.6667%;
}
}
@media (min-width: 992px) {
.col-lg {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-lg-1 {
flex: 0 0 8.3333%;
max-width: 8.3333%;
}
.col-lg-2 {
flex: 0 0 16.6667%;
max-width: 16.6667%;
}
.col-lg-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
flex: 0 0 33.3333%;
max-width: 33.3333%;
}
.col-lg-5 {
flex: 0 0 41.6667%;
max-width: 41.6667%;
}
.col-lg-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
flex: 0 0 58.3333%;
max-width: 58.3333%;
}
.col-lg-8 {
flex: 0 0 66.6667%;
max-width: 66.6667%;
}
.col-lg-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
flex: 0 0 83.3333%;
max-width: 83.3333%;
}
.col-lg-11 {
flex: 0 0 91.6667%;
max-width: 91.6667%;
}
.col-lg-12 {
flex: 0 0 100%;
max-width: 100%;
}
.offset-lg-0 {
margin-left: 0;
}
.offset-lg-1 {
margin-left: 8.3333%;
}
.offset-lg-2 {
margin-left: 16.6667%;
}
.offset-lg-3 {
margin-left: 25%;
}
.offset-lg-4 {
margin-left: 33.3333%;
}
.offset-lg-5 {
margin-left: 41.6667%;
}
.offset-lg-6 {
margin-left: 50%;
}
.offset-lg-7 {
margin-left: 58.3333%;
}
.offset-lg-8 {
margin-left: 66.6667%;
}
.offset-lg-9 {
margin-left: 75%;
}
.offset-lg-10 {
margin-left: 83.3333%;
}
.offset-lg-11 {
margin-left: 91.6667%;
}
}
@media (min-width: 1200px) {
.col-xl {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-xl-1 {
flex: 0 0 8.3333%;
max-width: 8.3333%;
}
.col-xl-2 {
flex: 0 0 16.6667%;
max-width: 16.6667%;
}
.col-xl-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
flex: 0 0 33.3333%;
max-width: 33.3333%;
}
.col-xl-5 {
flex: 0 0 41.6667%;
max-width: 41.6667%;
}
.col-xl-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
flex: 0 0 58.3333%;
max-width: 58.3333%;
}
.col-xl-8 {
flex: 0 0 66.6667%;
max-width: 66.6667%;
}
.col-xl-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
flex: 0 0 83.3333%;
max-width: 83.3333%;
}
.col-xl-11 {
flex: 0 0 91.6667%;
max-width: 91.6667%;
}
.col-xl-12 {
flex: 0 0 100%;
max-width: 100%;
}
.offset-xl-0 {
margin-left: 0;
}
.offset-xl-1 {
margin-left: 8.3333%;
}
.offset-xl-2 {
margin-left: 16.6667%;
}
.offset-xl-3 {
margin-left: 25%;
}
.offset-xl-4 {
margin-left: 33.3333%;
}
.offset-xl-5 {
margin-left: 41.6667%;
}
.offset-xl-6 {
margin-left: 50%;
}
.offset-xl-7 {
margin-left: 58.3333%;
}
.offset-xl-8 {
margin-left: 66.6667%;
}
.offset-xl-9 {
margin-left: 75%;
}
.offset-xl-10 {
margin-left: 83.3333%;
}
.offset-xl-11 {
margin-left: 91.6667%;
}
}
/*
* Table
*/
.table {
width: 100%;
font-family: var(--road-font);
font-size: var(--road-body-small);
line-height: 1.5;
color: var(--road-on-surface);
border-collapse: collapse;
border-top: 1px solid var(--road-outline);
border-bottom: 1px solid var(--road-outline);
}
.table th,
.table td {
padding: 1.5rem 1.25rem;
text-align: left;
}
.table thead tr,
.table tbody tr:nth-child(2n) {
background: var(--road-surface-inverse);
}
/* COMPONENTS
-------------------- */
/*
* Accordion
*
* For accessibility, we provide a style for focus only on Tab.
* For enable this focus, load the javascript polyfill for focus-visible
* (https://github.com/WICG/focus-visible).
*
* Index
* - Accordion
* - Accordion button
* - Accordion content
*
*/
/* ACCORDION
-------------------- */
.accordion {
--max-height: none;
overflow: hidden;
font-family: var(--road-font, sans-serif);
font-size: var(--road-body-small);
line-height: 1.5;
color: var(--road-on-surface);
background: var(--road-surface);
border: 1px solid;
border-color: var(--road-input-outline);
border-radius: 0.25rem;
transition: max-height 0.3s ease-in-out;
}
.accordion.accordion-light {
background: none;
border: 0;
}
/**
* Open state
*/
.accordion[open] {
max-height: var(--max-height);
}
.accordion[open] .accordion-arrow{
transform: rotate(-90deg);
}
.accordion[open] .accordion-content{
padding: 0.75rem 0 0;
margin: 0 1rem 0.75rem;
}
.accordion-light[open] .accordion-light-content {
margin: 0 0 var(--road-spacing-04);
}
.accordion-light[open] .accordion-light-header::after {
display: none;
}
/* ACCORDION BUTTON
-------------------- */
.accordion-trigger {
box-sizing: border-box;
display: block;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: 0;
}
.accordion-light .accordion-trigger:active{
background: none;
}
.accordion-trigger::-webkit-details-marker{ /* Remove chrome native arrow */
display: none;
}
/**
* Focus on Tab
*/
.accordion-trigger.focus-visible {
border-color: var(--road-primary);
}
/**
* Active state
*/
.accordion-trigger:active {
background: var(--road-surface-inverse);
}
/**
* .accordion-header is an additionnal div
* because Safari doesn't support flexbox on <summary> element
*/
.accordion-header {
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: flex-start;
padding: 0.75rem 1rem;
font-size: var(--road-body-medium);
font-weight: 700;
cursor: pointer;
}
.accordion-light-header{
position: relative;
padding: var(--road-spacing-04) 0;
font-size: var(--road-body-large);
}
.accordion-light--small .accordion-light-header {
font-size: var(--road-body-medium);
}
.accordion-light--border .accordion-light-header::after {
position: absolute;
bottom: 1px;
width: 98.3%;
height: 1px;
content: "";
background: var(--road-outline-weak);
}
/**
* Custom arrow
*/
.accordion-arrow {
width: 2rem;
height: 2rem;
margin-left: auto;
transform: rotate(90deg);
fill: var(--road-icon);
}
.accordion-light--small .accordion-arrow {
width: 1.5rem;
height: 1.5rem;
}
.accordion-icon-left {
width: 1.5rem;
height: 1.5rem;
margin-right: 1rem;
}
/* ACCORDION CONTENT
-------------------- */
.accordion-content{
padding: 0 0.5rem;
margin: 0 1rem;
overflow: hidden;
font-size: var(--road-body-medium);
border-top: 1px solid var(--road-outline-weak);
}
.accordion-light-content {
border-top: 1px solid var(--road-outline-weak);
}
.accordion-light--border .accordion-light-content {
border-top: 1px solid var(--road-outline-weak);
border-bottom: 1px solid var(--road-outline-weak);
}
/*
* Alert
*
* Provide contextual feedback messages for typical user actions
* with the handful of available and flexible alert messages.
*
* Default Alert color is Information colors
*
* Index
* - Alert
* - Alert icon
* - Alert description
* - Alert link
* - Alert title
* - Alert feedback
*
*/
/* ALERT
-------------------- */
.alert {
position: relative;
display: flex;
align-items: flex-start;
padding: 0.5rem 1rem 0.5rem 0.5rem;
font-family: var(--road-font);
font-size: var(--road-body-medium);
line-height: 1.25;
color: var(--road-on-info-surface);
background: var(--road-info-surface);
border: 1px solid var(--road-info-outline);
border-radius: 0.25rem;
fill: var(--road-info-default);
}
/* ALERT ICON
-------------------- */
.alert-icon {
flex-shrink: 0;
width: 2rem;
height: 2rem;
margin-right: 0.5rem;
}
/* ALERT TITLE
-------------------- */
.alert-title {
padding: 0.375rem 0 0;
margin: 0;
font-weight: 700;
}
/* ALERT CONTAINER
-------------------- */
.alert-container {
display: flex;
align-items: start;
justify-content: space-between;
width: 100%;
flex-direction: column;
}
.alert-container-horizontal {
display: flex;
align-items: start;
justify-content: space-between;
width: 100%;
flex-direction: row;
}
/* ALERT DESCRIPTION
-------------------- */
.alert-description {
margin: var(--road-spacing-03) 0;
}
/* BUTTON CONTAINER
-------------------- */
.btn-container {
display: flex;
flex-direction: column;
align-items: flex-start;
align-self: stretch;
justify-content: center;
margin-top: var(--road-spacing-03);
}
/* ALERT CLOSE
-------------------- */
.alert-close {
position: absolute;
top: 0;
right: 0;
padding: .25rem;
cursor: pointer;
background: none;
border: 0;
fill: initial;
}
/* ALERT LINK
-------------------- */
.alert-link {
display: block;
margin: 0;
color: var(--road-on-surface);
}
/* ALERT BUTTON
-------------------- */
.alert-button {
margin-left: var(--road-spacing-07);
}
/* ALERT FEEDBACK
-------------------- */
/**
* Alert info
*/
.alert-info {
color: var(--road-on-info-surface);
background: var(--road-info-surface);
border-color: var(--road-info-outline);
fill: var(--road-info-default);
}
.alert-info .btn{
color: var(--road-on-info-surface-inverse);
background: var(--road-info-surface-inverse);
fill: var(--road-on-info-surface-inverse);
}
.alert-info .alert-link{
color: var(--road-on-info-surface);
}
/**
* Alert success
*/
.alert-success {
color: var(--road-on-success-surface);
background: var(--road-success-surface);
border-color: var(--road-success-outline);
fill: var(--road-success-icon);
}
.alert-success .btn{
color: var(--road-on-success-surface-inverse);
background: var(--road-success-surface-inverse);
fill: var(--road-on-success-surface-inverse);
}
.alert-success .alert-link{
color: var(--road-on-success-surface);
}
/**
* Alert warning
*/
.alert-warning {
color: var(--road-on-warning-surface);
background: var(--road-warning-surface);
border-color: var(--road-warning-outline);
fill: var(--road-warning-icon);
}
.alert-warning .btn{
color: var(--road-on-warning-surface-inverse);
background: var(--road-warning-surface-inverse);
fill: var(--road-on-warning-surface-inverse);
}
.alert-warning .alert-link{
color: var(--road-on-warning-surface);
}
/**
* Alert danger
*/
.alert-danger {
color: var(--road-on-danger-surface);
background: var(--road-danger-surface);
border-color: var(--road-danger-outline);
fill: var(--road-danger-icon);
}
.alert-danger .btn{
color: var(--road-on-danger-surface-inverse);
background: var(--road-danger-surface-inverse);
fill: var(--road-on-danger-surface-inverse);
}
.alert-danger .alert-link{
color: var(--road-on-danger-surface);
}
/*
* Badge
*
* Index
* - Badge
* - Status
*
*/
/* BADGE
-------------------- */
.badge {
box-sizing: border-box;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1rem;
min-height: 1rem;
padding: 0 0.3125rem;
font-family: var(--road-font);
font-size: var(--road-font-size-10);
font-weight: 700;
color: var(--road-on-primary);
white-space: nowrap;
background-color: var(--road-primary);
border-radius: 1rem;
}
/**
* Empty badge
*/
.badge:empty {
min-width: 0.25rem;
min-height: 0.25rem;
padding: 0;
}
/* STATUS
-------------------- */
/**
* Primary
*/
.badge-primary {
color: var(--road-on-primary);
background-color: var(--road-primary);
}
/**
* Secondary
*/
.badge-secondary {
color: var(--road-on-secondary);
background-color: var(--road-secondary);
}
/**
* Accent
*/
.badge-accent {
color: var(--road-on-warning-surface-inverse);
background-color: var(--road-warning-surface-inverse);
}
/**
* Info
*/
.badge-info {
color: var(--road-on-info-surface-inverse);
background-color: var(--road-info-surface-inverse);
}
/**
* Success
*/
.badge-success {
color: var(--road-on-success-surface-inverse);
background-color: var(--road-success-surface-inverse);
}
/**
* Warning
*/
.badge-warning {
color: var(--road-on-warning-surface-inverse);
background-color: var(--road-warning-surface-inverse);
}
/**
* Danger
*/
.badge-danger {
color: var(--road-on-danger-surface-inverse);
background-color: var(--road-danger-surface-inverse);
}
/**
* Inverse
*/
.badge-inverse {
color: var(--road-primary);
background-color: var(--road-surface);
}
/*
* Buttons
*
* Use custom button styles for actions in forms, dialogs, and more
* with support for multiple sizes, states, and more.
*
* Index
* - Button
* - Plain buttons
* - Outline buttons
* - Disabled buttons
* - Button sizes
*
*/
/* BUTTON
-------------------- */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 3rem;
padding: 0 1.5em;
margin-bottom: 1rem;
font-family: var(--road-font);
font-size: var(--road-button-medium);
font-weight: 700;
line-height: 1.375;
color: var(--road-grey-10);
text-decoration: none;
white-space: nowrap;
vertical-align: middle;
background: var(--road-grey-80);
border: 1px solid transparent;
border-radius: 0.25rem;
transition: background 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
.btn:not(:disabled) {
cursor: pointer;
}
/**
* Fix states
*/
.btn:hover {
text-decoration: none;
}
/* PLAIN BUTTONS
-------------------- */
/**
* Button primary
*/
.btn-primary {
color: var(--road-on-button-primary);
background: var(--road-button-primary);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus-visible {
background: var(--road-button-primary-variant);
outline: 0;
}
/**
* Button secondary
*/
.btn-secondary {
color: var(--road-on-button-secondary);
background: var(--road-button-secondary);
}
.btn-secondary:hover {
background: var(--road-button-secondary-variant);
}
/**
* Button destructive
*/
.btn-destructive {
color: var(--road-on-button-destructive-primary);
background: var(--road-button-destructive-primary);
}
.btn-destructive:hover {
background: var(--road-button-destructive-primary-variant);
}
/**
* Button default
*/
.btn-default:hover {
background: var(--road-grey-80);
}
/**
* Button link
*/
.btn-link {
font-weight: 400;
color: var(--road-link-primary);
text-decoration: underline;
background: transparent;
}
.btn-link:hover{
color: var(--road-primary-30);
}
/**
* Button Ghost
*/
.btn-ghost {
color: var(--road-on-button-ghost);
background: transparent;
}
.btn-ghost:hover{
background: var(--road-button-ghost-variant);
}
/* OUTLINE BUTTONS
-------------------- */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-default,
.btn-outline-destructive {
background: transparent;
}
/**
* Button outline default
*/
.btn-outline-default {
color: var(--road-on-surface-weak);
border-color: var(--road-input-outline);
}
.btn-outline-default:hover {
background: var(--road-grey-80);
}
/**
* Button outline primary
*/
.btn-outline-primary {
color: var(--road-button-primary);
border-color: var(--road-button-tertiary-outline);
}
.btn-outline-primary:hover{
background: var(--road-button-tertiary-variant);
}
/**
* Button outline secondary
*/
.btn-outline-secondary {
color: var(--road-button-primary);
border-color: var(--road-button-primary);
}
.btn-outline-secondary:hover {
background: var(--road-button-tertiary-variant);
}
/**
* Button outline destructive
*/
.btn-outline-destructive {
color: var(--road-on-button-destructive-secondary);
border-color: var(--road-button-destructive-outline);
}
.btn-outline-destructive:hover {
background: var(--road-button-destructive-secondary-variant);
}
/* BUTTON
-------------------- */
.btn-icon-only {
width: 56px;
padding: 0;
}
.btn-icon-only.btn-xl {
width: 56px;
padding: 0;
}
.btn-icon-only.btn-lg {
width: 48px;
padding: 0;
}
.btn-icon-only.btn-md {
width: 40px;
padding: 0;
}
.btn-icon-only.btn-sm {
width: 32px;
padding: 0;
}
.btn-icon-only svg{
width: 32px;
fill: currentColor;
}
.btn-icon-only.btn-md svg{
width: 24px;
fill: currentColor;
}
.btn-icon-only.btn-sm svg{
width: 20px;
fill: currentColor;
}
/* DISABLED BUTTONS
-------------------- */
.btn:disabled {
color: var(--road-on-surface-disabled);
cursor: not-allowed;
background: var(--road-surface-disabled);
border-color: var(--road-surface-disabled);
}
[class*="btn-outline"]:disabled:hover{
background: var(--road-surface-disabled);
}
[class*="btn-primary"]:disabled,
[class*="btn-secondary"]:disabled,
[class*="btn-ghost"]:disabled,
[class*="btn-default"]:disabled,
[class*="btn-primary"][disabled],
[class*="btn-secondary"][disabled],
[class*="btn-ghost"][disabled],
[class*="btn-default"][disabled]
{
color: var(--road-on-surface-disabled);
cursor: not-allowed;
background: var(--road-surface-disabled);
border-color: var(--road-surface-disabled);
}
[class*="btn-outline-primary"]:disabled,
[class*="btn-outline-default"]:disabled,
[class*="btn-outline-secondary"]:disabled,
[class*="btn-outline-primary"][disabled],
[class*="btn-outline-default"][disabled],
[class*="btn-outline-secondary"][disabled]
{
color: var(--road-on-surface-disabled);
cursor: not-allowed;
background: none;
border-color: var(--road-surface-d