body {
    .ui-paginator {
        padding: $paginatorPadding;
        background-color: $primaryDarkColor;
        
        > a {
            margin-top: -1px;
            box-sizing: border-box;
            color: #ffffff;
            
            span {
                display: none;
            }
            
            &.ui-state-hover {
                background-color: $primaryLightColor;
                @include border-radius(50%);
                @include transition(background-color $transitionDuration);
            }
        }
        
        .ui-paginator-next {
            padding: 0 6px;
            vertical-align: middle;
            @include material-icon("\e409");
            
            &:before {
                position: relative;
                left: -6px;
            }
        }

        .ui-paginator-last {
            padding: 0 6px;
            vertical-align: middle;
            @include material-icon("\e5dd");
            
            &:before {
                position: relative;
                left: -6px;
            }
        }

        .ui-paginator-prev {
            padding: 0 6px;
            vertical-align: middle;
            @include material-icon("\e408");
            
            &:before {
                position: relative;
                left: -5px;
            }
        }

        .ui-paginator-first {
            padding: 0 6px;
            vertical-align: middle;
            @include material-icon("\e5dc");
            
            &:before {
                position: relative;
                left: -5px;
            }
        }
        
        .ui-paginator-pages {
            vertical-align: middle;
            margin: 0 6px 0 12px;
            padding: 0;
            
            a {
                color: $headerTextColor;
                padding: 0;
                width: 24px;
                height: 24px;
                line-height: 24px;
                @include border-radius(50%);
                @include transition(background-color $transitionDuration);
                
                &.ui-state-active {
                    color: $accentTextColor;
                }
                
                &.ui-state-hover {
                    background-color: $primaryLightColor;
                }
            }
        }
    }
    
    .ui-datagrid { 
        .ui-datagrid-header {
            padding: $headerPadding;
        }       
        
        .ui-panel {
            .ui-panel-titlebar {
                background-color: #ffffff;
                color: $textColor;
                border-color: $dividerColor;
            }
        }
    }
    
    .ui-datalist { 
        .ui-datalist-header {
            padding: $headerPadding;
        }  
    }
        
    .ui-datatable {
        .ui-datatable-header,
        .ui-datatable-footer {    
            padding: $headerPadding;
                    
            .ui-inputfield {
                color: $inputBgColor;
                
                &:focus {
                    border-color: $inputBgColor;
                }
            }  
        }
        
        .ui-paginator {
            padding: $paginatorPadding;
        }
                
        thead {
            th {
                padding: $listItemPadding;
                border: 0 none;
                border-top: 1px solid $contentBorderColor;
                background-color: #ffffff;
                
                &:first-child {
                    border-left: 1px solid $contentBorderColor;
                }
                
                &:last-child {
                    border-right: 1px solid $contentBorderColor;
                }
                
                &.ui-state-hover {
                    @include hover-element();
                }
                
                .ui-sortable-column-icon {
                    vertical-align: middle;
                    margin: -4px 0 0 0;
                    color: $textSecondaryColor;
                    
                    &.ui-icon-carat-2-n-s {
                        margin-left: 4px;   
                    }
                }
                
                .ui-column-resizer {
                    @include material-icon("\e86f");
                    font-size: $fontSize + 2;
                    color: $textSecondaryColor;
                }
                
                &.ui-state-active,&.ui-state-highlight {
                    background-color: $accentColor;
                    color: $accentTextColor;
                    border-top-color: $accentColor;
                    
                    .ui-icon {
                        color: $accentTextColor;
                    }
                    
                    .ui-inputfield {
                        color: $accentTextColor;
                        
                        &.ui-state-focus {
                            border-color: $accentTextColor;
                        }
                    }
                }
            }
            
            tr {
                th {
                    border: 1px solid $contentBorderColor;
                }
            }
        }
        
        tfoot {
            td {
                padding: $listItemPadding;
                border: 1px solid $contentBorderColor;
                background-color: $contentBgColor;
            }
        }
        
        tbody {     
            tr.ui-datatable-even {
                background-color: $dataTableRowBgColorEven;
                
                &.ui-state-hover {
                    @include hover-element();
                }
                
                &.ui-state-highlight {
                    background-color: $accentColor;
                    color: $accentTextColor;
                }
            }
                               
            tr {
                td {
                    border: 1px solid $contentBorderColor;
                    padding: $listItemPadding;
                    
                    .ui-row-toggler  {
                        display: inherit;
                    }
                    
                    &.ui-state-highlight {
                        .ui-inputfield {
                            color: $inputBgColor;
                            border-color: $inputBgColor;
                            
                            &:focus {
                                border-color: $inputBgColor;
                            }
                        }
                    }
                    
                    &.ui-state-error {
                        background-color: #e62a10;
                        border-color: #e62a10;
                        color: #ffffff;
                    }
                 }
                
                &.ui-widget-content {
                    border: 0 none;
                }
                
                &.ui-state-highlight {
                    background-color: $accentColor;
                    color: $accentTextColor;
                }
                
                .ui-cell-editor-input {
                    input {
                        color: $accentTextColor;
                    }
                }
            }
            
            tr.ui-state-hover {
                @include hover-element();
            }
            
            tr.ui-state-error {
                background-color: #e62a10;
                border-color: #e62a10;
                color: #ffffff;
                
                .ui-inputfield,
                .ui-inputfield.ui-state-error {
                    border-color: #ffffff;
                }
            }
            
            tr.ui-state-highlight {
                td {
                    border-right-color: $accentDarkColor;
                    
                    &:last-child {
                        border-right-color: $contentBorderColor;
                    }
                    
                    &.ui-selection-column {
                        .ui-radiobutton-box {
                            border-color: $accentTextColor;
                            background-color: transparent;
                            
                            .ui-radiobutton-icon {
                                background-color: $accentTextColor;
                            }
                        }
                        
                        .ui-chkbox-box {
                            border-color: $accentTextColor;
                            background-color: transparent;
                            
                            .ui-chkbox-icon {
                                color: $accentTextColor;
                                margin-left: -3px;
                            }
                        }
                    }
                }

                .ui-inputfield {
                    color: #000000;
                    border-color: $inputBgColor;
                    
                    &:focus {
                        border-color: $inputBgColor;
                    }
                }
            }
        }
        
        > .ui-icon-arrowthick-1-s {
            font-size: 18px;
            color: $accentColor;
        }
        
        > .ui-icon-arrowthick-1-n {
            display: none !important;
        }
        
        &.ui-datatable-scrollable {
            .ui-datatable-scrollable-header,  .ui-datatable-scrollable-footer {
                border: 0 none;
                background-color: transparent;
                padding: 0px;
                
                .ui-datatable-data {
                    tr {
                        &.ui-widget-content {
                            padding: 0px;
                        }
                    }
                    
                    td {
                        color: $textColor;
                    }
                }
            }
            
            thead {
                tr {
                    th {
                        color: $textColor;
                        font-size: $fontSize;
                    }
                }
            }
            
            tfoot {
                tr {
                    td {
                        color: $textColor;
                        font-size: $fontSize;
                    }
                }
            }
        }
    }
    
    .ui-draggable-dragging.ui-state-default {
        background-color: $primaryColor;
    }
    
    .ui-picklist {        
        .ui-picklist-list {
            padding: 0;
        }
        
        .ui-picklist-caption {
            padding: $headerPadding;
        }
        
        li.ui-picklist-item {
            padding: $listItemPadding;
            margin: 0;
            @include border-radius(0px);
            
            &.ui-state-hover {
                @include hover-element();
            }
        }
        
        .ui-picklist-buttons {
            width: 48px;
            
            .ui-button {
                &.ui-button-icon-only {
                    width: 32px;
                    margin-right: 0;
                    display: inline-block;
                    margin-bottom: 4px;
                }
            }        
        }
        
        .ui-picklist-buttons-cell {
            text-align: center;
        }
        
        .ui-picklist-filter-container {  
            margin-bottom: 4px;
                     
            .ui-picklist-filter {
                width: 100%;
            }
            
            .ui-icon {
                color: $textSecondaryColor;
                top: 0px;
            }
        }
        
        &.ui-picklist-responsive {
            .ui-picklist-buttons {
                width: 48px;
                
                .ui-button {
                    &.ui-button-icon-only {
                        margin: 0 auto;
                        display: block;
                        margin-bottom: 8px;
                    }
                }
            }
            
            .ui-picklist-list {
                .ui-picklist-item {
                    .ui-chkbox {
                        margin-right: 8px;
                        vertical-align: top;
                    }
                    
                    .ui-chkbox,.ui-chkbox * {
                        box-sizing: content-box;
                    }
                }
            }
            
            .ui-chkbox-box {
                width: $iconWidth - 6px;
                height: $iconHeight - 6px;
            }
        }
    }
    
    .ui-orderlist {
        .ui-orderlist-caption {
            padding: $headerPadding;
            @include border-box-sizing();
        }
        
        .ui-orderlist-list {
            padding: 0;
            box-sizing: border-box;
            
            li.ui-orderlist-item {
                padding: $listItemPadding;
                margin: 0;
                @include border-radius(0px);
                
                &.ui-state-hover {
                    @include hover-element();
                }
            }
        }
        
        .ui-orderlist-controls {
            width: 60px;
            text-align: center;
            
            .ui-button {
                &.ui-button-icon-only {
                    width: 32px;
                    margin: 0 0 8px 0;
                    display: inline-block;
                }
            }
        }
    }
    
    .ui-carousel {
        padding: 0;
        border: 0 none;
        
        .ui-carousel-header {   
            margin: 0;
                     
            .ui-icon {
                color: $headerTextColor;
            }
            
            .ui-carousel-dropdown,
            .ui-carousel-mobile-dropdown {
                margin: 5px 10px;
            }
        }
        
        .ui-carousel-footer {
            margin: 0;
            padding: $headerPadding - 2px;
            font-size: $fontSize - 2px;
        }
        
        .ui-carousel-page-links {
            margin-top: 2px;
        }
    }
    
    .ui-tree {
        padding: 4px 7px;
        
        .ui-treenode-children {
            padding-left: 28px;
        }
        
        .ui-treenode-leaf-icon {
            width: 23px;
        }
        
        .ui-tree-container {
            overflow: visible;
        }
        
        .ui-treenode-content {
            
            .ui-chkbox {
                margin: 0 4px 0 4px;
                
                .ui-icon {
                    color: #704F48;
                }   
            }
            
            .ui-tree-toggler {
                vertical-align: middle;
            }
            
            .ui-treenode-icon  {
                vertical-align: middle;
                margin: 0 4px 0 4px;
            }
            
            .ui-treenode-label {
                padding: 0 4px;
                margin: 0;
                vertical-align: middle;
            }
        }
        
        .ui-tree-droppoint.ui-state-hover {
            background-color: $accentColor;
        }
        
        &.ui-tree-horizontal {
            padding-left: 0;
            padding-right: 0;
            
            .ui-treenode-content {
                background-color: $contentBgColor;
                border: 1px solid $contentBorderColor;
                
                .ui-tree-toggler {
                    vertical-align: middle;
                }
                
                .ui-treenode-icon  {
                    vertical-align: middle;
                    margin-right: 4px;
                }
                
                &.ui-state-highlight {
                    background-color: $accentColor;
                    color: $accentTextColor;
                    
                    .ui-chkbox-box {
                        border-color: $accentTextColor;
                        
                        .ui-chkbox-icon {
                            color: $accentTextColor;
                        }
                    }
                }
            }
        }
    }
    
    .ui-tree-draghelper {
        border: 1px solid $primaryColor;
    }
    
    .fc {
        .fc-button-group {
            .ui-icon {
                margin-top: 3px;
            }
            
            .ui-state-active {
                background-color: $accentColor;
                color: $accentTextColor;
            }
        }
        
        .fc-event {
            background-color: $primaryLightColor;
            color: $primaryTextColor;
        }
    
        table {
            box-sizing: border-box;
        }
        
        div.ui-widget-content {
            padding-left: 0px;
            padding-right: 0px;
        }
    }
    
    .ui-treetable {  
        .ui-treetable-header,
        .ui-treetable-footer {
            padding: $headerPadding;
        }      
        
        thead {
            th {
                background-color: $contentBgColor;
                padding: $listItemPadding;
                border: 0 none;
                border-top: 1px solid $contentBorderColor;
                
                .ui-icon {
                    color: $textSecondaryColor;
                }
                
                &:first-child {
                    border-left: 1px solid $contentBorderColor;
                }
                
                &:last-child {
                    border-right: 1px solid $contentBorderColor;
                }
                
                &.ui-state-hover {
                    @include hover-element();
                }
                
                .ui-sortable-column-icon {
                    vertical-align: middle;
                    margin: -4px 0 0 0;
                    color: $textSecondaryColor;
                    
                    &.ui-icon-carat-2-n-s {
                        margin-left: 4px;   
                    }
                }
                
                &.ui-state-active {
                    background-color: $accentColor;
                    color: $accentTextColor;
                    
                    .ui-icon {
                        color: $accentTextColor;
                    }
                }
                
                .ui-column-resizer {
                    @include material-icon("\e86f");
                    font-size: 16px;
                    color: $textSecondaryColor;
                }
            }
        }
        
        tr {
            th {
                border: 1px solid $contentBorderColor;
            }
        }
        
        tfoot {
            td {
                border: 0 none;
                padding: 10px 14px;
            }
        }
        
        tbody {                        
            tr {
                td {
                    border: 1px solid $contentBorderColor;
                    padding: $listItemPadding;
                    
                    .ui-treetable-toggler {
                        display: inline-block;
                        vertical-align: middle;
                        margin: 0 4px;
                        float: none;
                    }
                    
                    .ui-chkbox {
                        margin-right: 8px;
                        
                        .ui-chkbox-icon {
                            color: $textSecondaryColor;
                        }
                    }
                }

                &.ui-state-hover {
                    @include hover-element();
                }
                
                &.ui-state-highlight {
                    .ui-chkbox {
                        .ui-chkbox-box {
                            border-color: $accentTextColor;
                            
                            .ui-icon {
                                color: $accentTextColor;
                            }
                        }
                    }
                }
            }
        }
        
        &.ui-treetable-scrollable {
            .ui-treetable-scrollable-header, .ui-treetable-scrollable-footer {
                background-color: transparent;
                border: 0 none;
                padding: 0px;
            }
            
            thead {
                th {
                    background-color: #ffffff;
                    color: $textColor;
                    border-bottom: 1px solid $dividerColor;
                    border-top: 1px solid $dividerColor;
                    
                    &.ui-state-active {
                        background-color: $accentColor;
                        color: $accentTextColor;
                    }
                }
                
                &.ui-treetable-scrollable-theadclone {
                    th {
                        padding-bottom: 0px;
                        padding-top: 0px;
                        line-height: 0px;
                        border-top: 0 none;
                    }
                }
            }
            
            tbody {
                &.ui-widget-content {
                    padding: 0px;
                }
                
                tr {
                    &.ui-widget-content {
                        padding: 0px;
                    }
                }
            }
        }
    }
    
    .ui-panelgrid { 
        tbody {
            tr {
                &.ui-widget-content {
                    border: 1px solid #d8d8d8;
                }
            }
        }
    }
}