UNPKG

@roadtrip/css

Version:

CSS framework for Roadtrip Design System

2,426 lines (2,274 loc) 177 kB
/*! * Roadtrip CSS 4.10.3 (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; font-weight: 700; } /* ALERT DESCRIPTION -------------------- */ .alert-description { padding: 0.375rem 0; margin: 0; } /* ALERT LINK -------------------- */ .alert-link { display: block; margin: 0; color: var(--road-on-surface); } /* 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-primary"][disabled], [class*="btn-secondary"][disabled], [class*="btn-ghost"][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-secondary"]:disabled, [class*="btn-outline-primary"][disabled], [class*="btn-outline-secondary"][disabled] { color: var(--road-on-surface-disabled); cursor: not-allowed; background: none; border-color: var(--road-surface-disabled); } /* BUTTON SIZES -------------------- */ .btn-icon { width: 2rem; margin-right: 0.5rem; fill: currentColor; } .btn-link .btn-icon { transition: fill 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; fill: currentColor; } /** * Extra Large button */ .btn-xl, .btn-group-xl > .btn { height: 3.5rem; } /** * Medium button */ .btn-md, .btn-group-md > .btn { height: 2.5rem; font-size: var(--road-font-size-14); } .btn-md .btn-icon { width: 1.5rem; height: 1.5rem; } /** * Small button */ .btn-sm, .btn-group-sm > .btn { height: 2rem; font-size: var(--road-font-size-14); } .btn-sm .btn-icon { width: 1.25rem; height: 1.25rem; } /** * Button block */ .btn-block { width: 100%; } /* * Button group * */ /* BUTTON GROUP -------------------- */ .btn-group { position: relative; display: inline-flex; } .btn-group .btn { position: relative; flex: 1 1 auto; margin: 0; font-weight: 400; } /** * Hover state */ .btn-group .btn:hover { z-index: 1