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

@import "variables-cxo.scss";      /* settings specific to this theme */
@import "variables-common.scss";    /* settings used by themes of this set, TODO */
 
/// contains file imports used by all theme variants 
@import "osbp-common.scss";

  /* /!\ theme-specific settings overwrite common settings */

@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-sidebar-buttonpanel;
	@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;
	@include os-grid-render-coll;
	
}
 


