////
/// @group root/osbp-cxo
////

@import "variables-cxo.scss";      /* settings specific to this theme */
@import "variables-common.scss";    /* settings used by themes of this set, 
	    /!\ theme-specific settings overwrite common settings */
@import "../valo/valo.scss";

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)

@import "external/reset.scss"
*/

@import "external/dragdrop.scss";
@import "external/charts.scss";	//os-charts

/* style definitions derived from vaadin addons 
*/
@import "addons/designer.scss";			//os-designer
@import "addons/absolutelayout.scss";	//os-absolute-layout

/* variables used in components related to POS/cash register 
*/
@import "common/cash-variables.scss";   //POS

/* style definitions under /layout reference these mixins. 
*  components are not included directly in @mixin <mainStyleName>
*/ 
@import "components/color-palette.scss";
@import "components/textfield.scss";
@import "components/button.scss";
@import "components/typeface.scss";
@import "components/focus.scss";
@import "components/checkbox.scss";
@import "components/bits.scss";
@import "components/popup.scss";
@import "addons/suggesttext.scss";		//os-suggesttext


/* scss under /layout have to be encased in a @mixin to be used below 
*  @mixin <mainStyleName>
*  else, the prefix .mainStyleName will not be included in the resulting 
*  css file. 

*  also, valo has to be included before adding custom styles.
*/ 
@import "layout/login.scss";	//os-login, os-login-basic, os-login-bgimage
@import "layout/pageframe.scss";		//os-pageframe
@import "layout/header.scss";	//os-heaeder
@import "layout/dialog.scss";    //os-dialog
@import "layout/table.scss";	//os-table
@import "layout/tabsheet.scss"; //os-tabsheet
@import "layout/user.scss";		//os-user, os-user-accordion
@import "layout/responsive.scss";	//os-responsive
@import "layout/sidebar.scss";  //os-sidebar, os-sidebar-table-variant
@import "layout/iconfont.scss"; 	//os-icons
@import "layout/gridview.scss"; 	//os-gridview
@import "layout/oconfigdialog.scss"; 	//os-configdialog
@import "layout/gridutil.scss";		//os-grid-util (displays certain elements within grids)
@import "layout/cash-register.scss"; 	//os-cash-register


@mixin osbp-cxo {
	@include valo;
	
	//@include os-base;
	@include os-pageframe;
	@include os-header($variant: cxo);
	@include os-login;
	@include os-table;
	@include os-tabsheet;
	@include os-dialog;
	@include os-user;
	@include os-user-accordion;
	//@include os-birt-report;
	@include os-icons;
	//@include os-sidebar;
	@include os-sidebar-table-variant;
	@include os-responsive;
	@include os-gridview;
	@include os-grid-util;
	 
	@include os-charts;
	@include os-configdialog;
	
	@include os-suggesttext; /* before cash-register */
	@include os-cash-register;
	
	//bits
	@include os-progress-login;
	@include os-popup-notification;
			
	//external
	@include ex-drag-drop-layout;
	
	//addons
	@include os-absolutelayout;
	@include os-designer;
}
 


