/*!
 * Copyright (c) 2022, 2023 Eclipse Foundation, Inc.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * Contributors:
 *   Christopher Guindon <chris.guindon@eclipse-foundation.org>
 *   Olivier Goulet <olivier.goulet@eclipse-foundation.org>
 *
 * SPDX-License-Identifier: EPL-2.0
*/

// Comments and architecture inspired by © 2022 Sass Guidelines v1.3 (CC BY 4.0)
// https://sass-guidelin.es/#architecture

// VENDORS FOLDER
//
// The vendors/ folder contains all the CSS files from external
// libraries and frameworks.

// @todo a file per vendor might not be nessasery. We should revisit this later.
@import 'vendors/_bootstrap.less';
@import 'vendors/_cookieconsent.less';
@import 'vendors/_font-awesome.less';
@import 'vendors/_owl-carousel.less';

// VENDORS-EXTENTIONS FOLDER
//
// The vendors-extensions/ folder includes files are
// named after the vendors they overwrite.
//
// For instance, vendors-extensions/_bootstrap.less is a file containing all
// CSS rules intended to re-declare some of Bootstrap’s default CSS.
//
// This is to avoid editing the vendor files themselves, which is generally not a good idea.

@import 'vendors-extensions/_bootstrap.less';

// ABSTRACT FOLDER
//
// The abstracts/ folder gathers all tools and helpers used across the project.
// Every global variable, function, mixin and placeholder should be put in here.

@import 'abstracts/_mixins.less';
@import 'abstracts/_variables.less';

// LAYOUT FOLDER
//
// The layout/ folder contains everything that takes part in laying out the site or application.
// This folder could have stylesheets for the main parts of the site.

@import 'layout/_back-to-top.less';
@import 'layout/_breadcrumbs.less';
@import 'layout/_footer.less';
@import 'layout/_header.less';
@import 'layout/_logo.less';
@import 'layout/_navigation.less';
@import 'layout/_sidebar.less';
@import 'layout/_user-toolbar.less';

// COMPONENTS FOLDER
//
// The components/ folder is meant for smaller components. While layout/ is
// macro (defining the global wireframe), components/ is more focused on widgets.

// Events Components (events.eclipse.org)
// @todo: Consider creating a separete file/directory for hugo components.
@import 'components/events/_eclipsefdn-agenda.less';
@import 'components/events/_eclipsefdn-registration.less';
@import 'components/events/_eclipsefdn-user-display.less';
@import 'components/events/_eclipsefdn-sponsors.less';

// Featured components
@import 'components/featured/_featured-centered-item.less';
@import 'components/featured/_featured-footer.less';
@import 'components/featured/_featured-jumbotron.less';
@import 'components/featured/_featured-projects.less';
@import 'components/featured/_featured-section.less';
@import 'components/featured/_featured-stats.less';
@import 'components/featured/_featured-story.less';
@import 'components/featured/_featured-testimonials.less';

// Base components
@import 'components/_ads.less';
@import 'components/_alerts.less';
@import 'components/_block-list.less';
@import 'components/_buttons.less';
@import 'components/_cards.less';
@import 'components/_coming-soon.less';
@import 'components/_content-nav-tab.less';
@import 'components/_drag-installbutton.less';
@import 'components/_event-timeline.less';
@import 'components/_header-nav.less';
@import 'components/_news-list.less';
@import 'components/_project-list.less';
@import 'components/_resources-group.less';
@import 'components/_search-bar.less';
@import 'components/_section-highlights.less';
@import 'components/_share-button.less';
@import 'components/_sidebar-block.less';
@import 'components/_toolbar-menu.less';
@import 'components/_separators.less';
@import 'components/_containers.less';

// Widget components
@import 'components/widgets/_eclipsefdn-adopters.less';
@import 'components/widgets/_eclipsefdn-members-list.less';
@import 'components/widgets/_eclipsefdn-newsroom-resources.less';
@import 'components/widgets/_eclipsefdn-video.less';
@import 'components/widgets/_eclipsefdn-video-list.less';
@import 'components/widgets/_eclipsefdn-participating-organizations.less';

// Shortcode components
@import 'components/shortcodes/_eclipsefdn-meeting-minutes.less';

// PAGES FOLDER
//
// This folder is for page-specific styles.

// @todo: Consider migrating these to eclipse.org.
@import 'pages/_downloads.less';
@import 'pages/_getting-started.less';
@import 'pages/_membership.less';
@import 'pages/_newsletter-page.less';
@import 'pages/_projects.less';

// THEMES FOLDER
//
// On large sites and applications, it is not unusual to have different themes.

@import 'themes/_dark-mode.less';
@import 'themes/_light-mode.less';

// BASE FOLDER
//
// The base/ folder holds the boilerplate code for the project.
// Adding at the end to prioritize utility classes when used.
@import 'base/_legacy.less';
@import 'base/_typography.less';
@import 'base/_utility-classes.less';

