/* ==========================================================================
   Main barrel - import sass partials here
   ========================================================================== */

/* 0. sass
      extension of build-in sass functions
   ========================================================================== */

@import '0-sass/convert';
@import '0-sass/map';
@import '0-sass/string';

/* 1. settings
      project-wide configuration and variables
   ========================================================================== */

@import '1-settings/conditions';
@import '1-settings/config';
@import '1-settings/debug';
@import '1-settings/global';

/* 2. tools
      reset and/or normalize styles, box-sizing definition
   ========================================================================== */

/**
 * functions
 */
@import '2-tools/functions/box-shadow';
@import '2-tools/functions/breakpoint';
@import '2-tools/functions/color';
@import '2-tools/functions/focus';
@import '2-tools/functions/grid';
@import '2-tools/functions/z-index';

/**
 * mixins
 */
@import '2-tools/mixins/utilities/border-radius';
@import '2-tools/mixins/utilities/breakpoint';
@import '2-tools/mixins/utilities/container';
@import '2-tools/mixins/utilities/custom-property';
@import '2-tools/mixins/utilities/focus';
@import '2-tools/mixins/utilities/font';
@import '2-tools/mixins/utilities/image';
@import '2-tools/mixins/utilities/layout';
@import '2-tools/mixins/utilities/link';
@import '2-tools/mixins/utilities/list';
@import '2-tools/mixins/utilities/media';
@import '2-tools/mixins/utilities/plain-text';
@import '2-tools/mixins/utilities/pointer';
@import '2-tools/mixins/utilities/screen-reader';
@import '2-tools/mixins/utilities/spacing';
@import '2-tools/mixins/utilities/states';
@import '2-tools/mixins/utilities/typography';
@import '2-tools/mixins/utilities/triggers';
@import '2-tools/mixins/components/panel';
@import '2-tools/mixins/components/snackbar';
@import '2-tools/mixins/components/offcanvas';

/**
 * variables
 */

/* base - declared first so they can be used in other variable partials */
@import '2-tools/variables/base/animate';
@import '2-tools/variables/base/breakpoint';
@import '2-tools/variables/base/color';
@import '2-tools/variables/base/spacing';
@import '2-tools/variables/base/typography';

/* utilities */
@import '2-tools/variables/utilities/box-shadow';

/* 3. generic
        reset and/or normalize styles, box-sizing definition
     ========================================================================== */

@import '3-generic/normalize';

/* 4. elements
        styling for bare HTML elements
     ========================================================================== */

@import '4-elements/animation';
@import '4-elements/base';
@import '4-elements/code';
@import '4-elements/focus';
@import '4-elements/interactive';
@import '4-elements/list';
@import '4-elements/scrollbar';
@import '4-elements/table';
@import '4-elements/typography';

/* 5. classes
        class-based selectors which define design patterns
     ========================================================================== */

/* objects - undecorated patterns */
@import '5-classes/objects/container';

/* helpers - decorated patterns */
@import '5-classes/helpers/focus';
@import '5-classes/helpers/list';
@import '5-classes/helpers/link';
@import '5-classes/helpers/plain-text';
@import '5-classes/helpers/screen-reader';
@import '5-classes/helpers/typography';

/* 6. components
        reusable modular UI components
     ========================================================================== */

@import '6-components/offcanvas';
@import '6-components/snackbar';

/* 7. templates
        reusable UI templates
     ========================================================================== */

// eg: @import '7-templates/layout';

/* 8. utilities
        utility classes with ability to override anything
     ========================================================================== */

@import '8-utilities/visibility';
@import '8-utilities/spacing';
