.navbar-header {
    min-width: 275px;
}

.navigation li a > i {
    margin-right: 10px;
}

.navigation > li > ul > li > a {
    padding-left: 46px;
}

.navigation > li > ul > li > ul > li > a {
    padding-left: 72px;
}

.navigation > li > ul > li > ul > li > ul > li > a {
    padding-left: 98px;
}

.navigation > li > ul li:first-child {
    padding-top: 5px;
}

/* TODO: for testing purposes, might be temporary... */
.navigation > li > ul {
    font-size: 12px;
}

.panel-group .panel-heading {
    padding: 8px 10px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.panel-heading-external {
    padding: 8px 10px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.panel-group .panel-heading .bg-transparent {
    background: transparent;
}

.page-header-default {
    position: relative !important;
    margin-bottom: 10px !important;
}

.breadcrumb > .active {
    color: #2196F3;
    font-weight: bold;
}

.multi-select-full:focus {
    background-color: #f5f5f5 !important;
}

.content {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;

    padding-bottom: 90px;
}

.content-group-sm {
    margin-bottom: 10px !important;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
.col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
.col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
.col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
.col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
.col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
.col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 10px;
    padding-right: 10px;
}

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}

.panel-body {
    padding: 10px;
}

.table > thead > tr > th,
.table > thead > tr > td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > tbody > tr > td,
.table > tfoot > tr > td {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.table > tbody > tr.bg-wemake-blue {
    background-color: #2195f2;
    color: #fff;
}

.table > tbody > tr.bg-wemake-light-blue {
    background-color: #b5dfff;
    color: #000;
}

.control-label {
    margin-bottom: 0 !important;
}

.footer {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.form-wizard-actions {
    text-align: left !important;;
}

.form-wizard-actions button {
    z-index: 0;
    overflow: hidden;
}

.form-wizard-actions .btn-group + .btn {
    margin-left: 5px;
}

.form-wizard-actions > .btn-group {
    margin-left: 5px;
}

.form-wizard-actions > .btn-group > .dropdown-toggle {
    margin-left: 1px !important;
    padding-right: 8px;
    padding-left: 8px;
}

.picker__holder {
    outline: none !important;
}

.form-group-material > label.display-block {
    margin-bottom: 0;
}

.form-control:focus {
    background-color: #f5f5f5;
}

.form-control {
    height: 32px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.form-control-feedback {
    height: 32px;
    line-height: 32px;
}

.form-wizard-actions {
    margin-top: 20px !important;
}

.form-wizard-actions.inner-buttons {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding: 0 10px;
}

.form-wizard-actions.compose-buttons {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 10px;
}

.form-wizard-actions.formula-buttons {
    text-align: center !important;
}

.form-wizard-actions.formula-buttons button {
    margin-top: 15px !important;
}

.multiselect:focus {
    background-color: #f5f5f5;
}

.multiselect.btn-default:focus, .btn-group.open > .multiselect.btn-default.dropdown-toggle {
    background-color: #f5f5f5;
}

.select2-selection:focus {
    background-color: #f5f5f5;
}

.select2-container--open {
    background-color: #f5f5f5;
}

textarea {
    resize: vertical;
}

@media (max-width: 768px) {
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus {
        border-left-color: #2196F3 !important;
    }
}

@media (min-width: 769px) {
    .nav-tabs.nav-tabs-bottom > li.active > a:after {
        background-color: #2196F3 !important;
    }
}

/* -----------------------------------------
*  # Datatables
* ------------------------------------------ */

.datatable-header {
    padding-top: 0 !important;
}

.datatable-footer {
    padding-top: 10px !important;
    padding-bottom: 0 !important;
}

.modal-body .datatable-header,
.modal-body .datatable-footer {
    padding-left: 0;
    padding-right: 0;
}

.dataTables_info,
.dataTables_paginate {
    margin-bottom: 0 !important;
    font-size: 12px !important;
    color: #727272 !important;
}

.dataTables_filter, .dataTables_length, .dt-buttons {
    margin-bottom: 10px !important;
}

.breadcrumb-elements button + button {
    margin-left: 5px;
}

.dataTables_paginate .paginate_button {
    padding: 0;
}

.datatables-dropdown-menu {
    min-width: 250px !important;
}

.datatables-actions-dropdown-menu {
    min-width: 250px !important;
}


.table > thead > tr > td,
.table > thead > tr > th,
.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th {
    padding: 10px 10px;
}

.datatable-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

/* -----------------------------------------
*  # Forms
* ------------------------------------------ */

input,
textarea,
.select2-selection__placeholder,
.select2-selection__rendered,
.multiselect-selected-text {
    font-size: 12px !important;
}

.select2-selection--single {
    height: 32px;
    padding: 5px 0;
}

.form-group .select2-container {
    display: table;
    table-layout: fixed;
}

.multiselect.btn-default {
    padding: 5px 0;
}

.multi-select-full > .btn-group {
    width: 100%;
    display: table;
    table-layout: fixed;
}

/* -----------------------------------------
*  # Progress loader
* ------------------------------------------ */

.spinner {
    animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(270deg);
    }
}

.path {
    stroke-dasharray: 187;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;
}

@keyframes colors {
    0% {
        stroke: #4285F4;
    }
    25% {
        stroke: #DE3E35;
    }
    50% {
        stroke: #F7C223;
    }
    75% {
        stroke: #1B9A59;
    }
    100% {
        stroke: #4285F4;
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 187;
    }
    50% {
        stroke-dashoffset: 46.75;
        transform: rotate(135deg);
    }
    100% {
        stroke-dashoffset: 187;
        transform: rotate(450deg);
    }
}

/*
 * Progress loader
 */

.wemake-color {
    background-color: #2B6A94;
}

.wesecure-color {
    color: #2154ED;
}

.wemake-title-header {
    background-color: #2195f2;
    color: #ffffff;
}

.dropzone {
    min-height: 220px;
}

.panel-table {
    padding-top: 10px;
}

.panel-group .panel-title > a.panel-expander {
    padding-left: 26px;
    display: inline-block;
}

.panel-group .panel-title > a.panel-expander:before {
    content: '\e9b7';
    font-family: 'icomoon';
    position: absolute;
    top: 50%;
    margin-top: -8px;
    left: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.panel-group .panel-title > a.panel-expander.collapsed:before {
    content: '\e9b8';
}

.panel-body .form-wizard-actions {
    padding-right: 10px;
    padding-left: 10px;
}

.no-padding-left {
    padding-left: 0 !important;
}

.no-padding-right {
    padding-right: 0 !important;
}

.dropdown-content-heading {
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.sp-container {
    z-index: 9999;
}

.sp-replacer {
    border-radius: 0;
    display: block;
    height: 32px;
}

.sp-preview {
    height: 20px;
    width: 22px;
}

.sp-choose {
    color: #fff;
    background-color: #2196F3;
}

@media (min-width: 769px) {
    .sidebar-fixed.sidebar-default .sidebar-content {
        width: 275px;
    }

    .sidebar-xs .header-highlight .navbar-header .navbar-brand > img {
        display: none;
    }

    .sidebar-xs .header-highlight .navbar-header .navbar-brand {
        background: url(../images/wemake_slogo_bw.png) no-repeat center center;
        background-size: auto 24px;
    }

    .sidebar {
        width: 275px;
    }
}

.multiselect-item.filter > .input-group > .input-group-addon {
    padding-left: 16px;
    padding-right: 10px;
}

.multiselect-item.filter > .input-group > .input-group-btn {
    padding-left: 10px;
}

.multiselect-clear-filter {
    padding: 7px 12px;
}

.message-details-list {
    padding: 0;
    margin-top: 20px;
    list-style-type: none;
}

.timeline-footer {
    border-top: 1px solid #ddd !important;
}

.timeline-inside-panel {
    position: relative;
    z-index: 0;
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.message-replies-list {
    margin-bottom: 0 !important;
}

.input-group-btn-right {
    padding-left: 16px !important;
}

.input-group-btn-right > .btn {
    padding: 6px 9px;
}

.input-group-btn-left {
    padding-right: 16px !important;
}

.input-group-btn-left > .btn {
    padding: 6px 9px;
}

/* -----------------------------------------
*  # Tokenfield for Bootstrap (Tags)
* ------------------------------------------ */

.tokenfield {
    height: 32px !important;
    padding-top: 5px;
    padding-bottom: 5px;
    border-width: 1px;
}

.tokenfield .token .token-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 2px 35px 2px 16px;
    max-width: none !important;
}

.tokenfield .token > .close {
    margin-top: -5.5px !important;
}

.tokenfield .token-input {
    width: 180px !important;
}

/* -----------------------------------------
*  # Fancytree
* ------------------------------------------ */
.fancytree-title > input {
    border: 0;
    outline: 1px;
    padding: 0;
    background-color: transparent;
    min-width: 300px !important;
}

.fancytree-unselectable {
    background-color: #f5f5f5;
    color: #a0a0a0;
}

.fancytree-container {
    position: sticky;
}

.lowercase {
    text-transform: lowercase !important;
}

/* comma helper class */
.comma:not(:empty):not(:last-child):after {
    content: ", ";
}

.truncate {
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dropdown-menu {
    right: 0;
    min-width: 210px;
}

ux-dialog-container {
    z-index: 1050 !important;
}

ux-dialog-overlay {
    position: fixed !important;
    top: 0 !important;;
    right: 0 !important;;
    bottom: 0 !important;;
    left: 0 !important;;
    z-index: 1040 !important;
    background-color: #000;
}

ux-dialog-overlay.active {
    opacity: 0.5 !important;
    filter: alpha(opacity=50) !important;
}

/* ------------------------------------------------------------------------------
 *
 *  # Bootstrap file input
 *
 *  File input styling for Bootstrap 3.0
 *
 *  Version: 1.3
 *  Latest update: Aug 10, 2016
 *
 * ---------------------------------------------------------------------------- */
.file-input.has-error .form-control {
    border-color: #ddd;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

@media (min-width: 769px) {
    .file-input .btn > [class*=icon-],
    .file-input .btn > .glyphicon {
        margin-right: 5pt;
    }
}

.file-object {
    margin: 0 0 -8px 0;
    padding: 0;
}

.btn-file {
    position: relative;
    overflow: hidden;
}

.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    text-align: right;
    opacity: 0;
    background: none repeat scroll 0 0 transparent;
    cursor: inherit;
    display: block;
}

.file-caption-name {
    display: inline-block;
    overflow: hidden;
    word-break: break-all;
}

.file-caption-name [class*=icon-],
.file-caption-name .glyphicon {
    margin-right: 8pt;
}

.file-input-new .file-caption-name {
    color: #999999;
}

.file-input-new .file-caption-name > [class*=icon-],
.file-input-new .file-caption-name > .glyphicon {
    display: none;
}

.file-error-message {
    position: relative;
    background-color: #f2dede;
    color: #a94442;
    text-align: center;
    border-radius: 3pt;
    padding: 10pt;
    margin: 0 5px 5px 5pt;
}

.file-drop-zone .file-error-message {
    margin-top: 5pt;
}

.file-error-message .close {
    margin-top: 1pt;
    color: #a94442;
}

.file-error-message pre,
.file-error-message ul {
    margin: 8px 0;
    text-align: left;
}

.file-caption-disabled {
    cursor: not-allowed;
    border-bottom-style: dashed;
}

.file-caption-disabled:focus {
    border-bottom-color: #ddd;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.file-caption-disabled .file-caption-name {
    color: #ccc;
}

.file-preview-detail-modal {
    text-align: left;
}

.file-preview {
    border-radius: 2pt;
    border: 1px solid #ddd;
    width: 100%;
    margin-bottom: 20pt;
    position: relative;
    text-align: center;
}

.file-preview > .close {
    font-weight: 400;
    font-size: 17pt;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #fff;
    padding: 8pt;
    line-height: 0.6;
    border-radius: 3pt;
    color: #555;
    opacity: 1;
    filter: alpha(opacity=100);
}

.file-preview-frame {
    margin: 8pt 0 8pt 8pt;
    display: table-row !important;
    height: auto !important;
    float: none !important;
    vertical-align: middle;
}

.file-details-cell {
    position: relative !important;
}

.file-drop-zone .file-preview-frame {
    border: 1px solid #ddd;
    border-radius: 3pt;
}

.file-preview-image {
    height: 160pt;
    vertical-align: middle;
    border-radius: 3pt;
}

@media (max-width: 768px) {
    .file-preview-image {
        max-width: 100%;
    }
}

.file-preview-text {
    text-align: left;
    width: 160pt;
    margin-bottom: 2pt;
    color: #428bca;
    background-color: #fff;
    overflow-x: hidden;
}

.file-preview-other {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    height: auto !important;
}

.file-preview-other:after {
    content: none !important;
    font-family: "fontawesome";
    display: block;
    font-size: 0pt !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.file-preview-other .glyphicon {
    display: none;
}

.file-preview-status {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: #333333;
    background-color: rgba(250, 250, 250, 0.8);
    border-top: 1px solid #ddd;
    padding: 8px 16pt;
    font-size: 12pt;
    line-height: 1.6666667;
}

.file-preview-status:empty {
    padding: 0;
    background-color: transparent;
    border: 0;
}

.file-thumb-loading {
    min-height: 109pt;
}

.file-thumb-loading:before,
.file-uploading:before {
    content: "";
    display: inline-block;
    background-color: #263238;
    width: 32pt;
    height: 32pt;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -34.5px 0 0 -16pt;
    border-radius: 3pt;
    -webkit-box-shadow: 0 1px 5px rgba(255, 255, 255, 0.5);
    box-shadow: 0 1px 5px rgba(255, 255, 255, 0.5);
}

.file-thumb-loading:after,
.file-uploading:after {
    content: "\eb55";
    font-family: "icomoon";
    display: inline-block;
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    margin: -26.5px 0 0 -8pt;
    font-size: 16pt;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-animation: rotation 1s linear infinite;
    -o-animation: rotation 1s linear infinite;
    animation: rotation 1s linear infinite;
}

.file-upload-indicator {
    padding-top: 7pt;
    padding-bottom: 7pt;
    cursor: default;
    text-align: left;
    padding-left: 9pt;
}

.file-input-new .file-preview,
.file-input-new .close,
.file-input-new .glyphicon-file,
.file-input-new .fileinput-remove-button,
.file-input-new .fileinput-upload-button {
    display: none;
}

.file-input-new .input-group .input-group-btn > .btn-file {
    border-bottom-left-radius: 3pt;
    border-top-left-radius: 3pt;
}

.file-input-ajax-new .fileinput-remove-button,
.file-input-ajax-new .fileinput-upload-button,
.file-input-ajax-new .fileinput-remove,
.file-input-ajax-new .file-caption-name > [class*=icon-],
.file-input-ajax-new .file-caption-name > .glyphicon {
    display: none;
}

.file-actions {
    margin-top: 5pt;
    border: none;
}

.file-actions .btn > [class*=icon-],
.file-actions .btn > .glyphicon {
    margin-right: 0;
}

.file-footer-buttons {
    float: right;
}

.file-footer-caption {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 160pt;
    text-align: center;
    font-size: 11pt;
    padding: 12px 7px 7px 7pt;
    margin-left: auto;
    margin-right: auto;
}

.file-preview-error {
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.file-drop-zone {
    border: 1px dashed #ddd;
    border-radius: 3pt;
    height: 100%;
    vertical-align: middle;
    margin: 5pt;
    padding: 5pt;
}

.kv-zoom-cache {
    display: none;
}

.file-uploading {
    display: table-row !important;
    float: none !important;
}

.file-uploading:before, .file-uploading:after {
    content: none !important;
    display: none;
}

.file-drop-zone-title {
    color: #999999;
    font-size: 21pt;
    font-weight: 300;
    padding: 24px 10pt;
}

.file-highlighted {
    border-color: #ccc;
    background-color: #fafafa;
}

.file-thumb-progress {
    position: absolute;
    top: 55pt;
    left: 5pt;
    right: 5pt;
}

.file-other-icon {
    font-size: 35pt;
}

.kv-file-content {
    width: 40pt;
}

.file-actions-cell {
    width: 180px !important;
}

.file-thumb-progress .progress,
.file-thumb-progress .progress-bar {
    height: 5pt;
    border-radius: 0;
    font-size: 0;
}

.file-thumbnail-footer {
    position: relative;
}

.btn-file ::-ms-browse {
    width: 100%;
    height: 100%;
}

.file-zoom-fullscreen.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.file-zoom-fullscreen .modal-dialog {
    position: fixed;
    margin: 0;
    width: 100%;
    height: 100%;
    padding: 0;
}

.file-zoom-fullscreen .modal-content {
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.file-zoom-fullscreen .modal-body {
    overflow-y: auto;
}

.file-zoom-dialog .btn-navigate {
    position: absolute;
    top: 50%;
    margin-top: -27pt;
    padding: 0;
    border: 0;
    background: transparent;
    outline: none;
    color: #fff;
    opacity: 0.7;
    filter: alpha(opacity=70);
}

.file-zoom-dialog .btn-navigate > i {
    display: block;
    font-size: 32pt;
}

.file-zoom-dialog .btn-navigate:not([disabled]):hover,
.file-zoom-dialog .btn-navigate:not([disabled]):focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 0.5;
    filter: alpha(opacity=50);
}

.file-zoom-dialog .btn-navigate[disabled] {
    opacity: 0.3;
    filter: alpha(opacity=30);
}

.file-zoom-dialog .btn-prev {
    left: -42pt;
}

.file-zoom-dialog .btn-next {
    right: -42pt;
}

.file-zoom-dialog .floating-buttons {
    position: absolute;
    top: 20pt;
    right: 20pt;
    background-color: #fff;
    border-radius: 0 0 0 3pt;
}

.file-zoom-dialog .floating-buttons:not(:empty) {
    padding: 0 0 20px 20pt;
}

.file-zoom-dialog .floating-buttons,
.file-zoom-dialog .floating-buttons .btn {
    z-index: 3000;
}

.kv-zoom-actions {
    position: absolute;
    top: 50%;
    right: 20pt;
    margin-top: -5pt;
}

.file-zoom-content {
    height: 480pt;
    text-align: center;
}

.file-drag-handle {
    margin-right: 2pt;
    float: left;
    cursor: move;
    cursor: -webkit-grabbing;
}

.file-drag-handle:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

/*Hiding clear all button*/
.fileinput-remove {
    display: none;
    height: 0px;
}

/* custom radio button style , CSS only, ROB*/
.styled-radio:checked,
.styled-radio:not(:checked) {
    position: absolute;
    left: -9999px;
}

.styled-radio:checked + label,
.styled-radio:not(:checked) + label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    line-height: 20px;
    display: inline-block;
    color: #607D8B;
}

.styled-radio:checked + label:before,
.styled-radio:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    border: 2px solid #607D8B;
    border-radius: 100%;
    background: #fff;
}

.styled-radio:checked + label:after,
.styled-radio:not(:checked) + label:after {
    content: '';
    width: 10px;
    height: 10px;
    background: #607D8B;
    position: absolute;
    top: 4px;
    left: 4px;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.styled-radio:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}

.styled-radio:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

/* custom checkbox button style , CSS only, ROB*/
/* Base for label styling */
.styled-checkbox:not(:checked),
.styled-checkbox:checked {
    position: absolute;
    left: -9999px;
}

.styled-checkbox:not(:checked) + label,
.styled-checkbox:checked + label {
    position: relative;
    padding-left: 1.95em;
    cursor: pointer;
}

/* checkbox aspect */
.styled-checkbox:not(:checked) + label:before {
    border: 2px solid #607D8B;
}

.styled-checkbox:not(:checked) + label:before,
.styled-checkbox:checked + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 2px;
}

/* checked mark aspect */
.styled-checkbox:not(:checked) + label:after,
.styled-checkbox:checked + label:after {
    content: '\ed6e';
    font-family: icomoon;
    position: absolute;
    top: .1em;
    left: .1em;
    font-size: 1.3em;
    line-height: 0.8;
    color: #455A64;
    transition: all .2s;
}

/* checked mark aspect changes */
.styled-checkbox:not(:checked) + label:after {
    opacity: 0;
    transform: scale(0);
}

.styled-checkbox:checked + label:before {
    border: 2px solid white;
}

.styled-checkbox:checked + label:after {
    opacity: 1;
    transform: scale(1);
}

/* disabled checkbox */
.styled-checkbox:disabled:not(:checked) + label:before,
.styled-checkbox:disabled:checked + label:before {
    box-shadow: none;
    border-color: #607D8B;
    background-color: #ddd;
}

.styled-checkbox:disabled:checked + label:after {
    color: #999;
}

.styled-checkbox:disabled + label {
    color: #aaa;
}

.picker, .picker__holder {
    width: 290px !important;
}

/* SPECIAL SGI V10 CSS */
/* SURVEY MODULE */
.question-edit {
    -webkit-box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.75);
}

/*SWITCH CSS ONLY*/
.cmn-toggle {
    position: absolute;
    margin-left: -9999px;
    visibility: hidden;
}

.cmn-toggle + label {
    display: block;
    position: relative;
    cursor: pointer;
    outline: none;
    user-select: none;
}

input.cmn-toggle-round + label {
    padding: 2px;
    width: 60px;
    height: 30px;
    background-color: #dddddd;
    border-radius: 30px;
}

input.cmn-toggle-round + label:before,
input.cmn-toggle-round + label:after {
    display: block;
    position: absolute;
    top: 1px;
    left: 1px;
    bottom: 1px;
    content: "";
}

input.cmn-toggle-round + label:before {
    right: 1px;
    background-color: #f1f1f1;
    border-radius: 30px;
    transition: background 0.4s;
}

input.cmn-toggle-round + label:after {
    width: 28px;
    background-color: #fff;
    border-radius: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    transition: margin 0.4s;
}

input.cmn-toggle-round:checked + label:before {
    background-color: #8ce196;
}

input.cmn-toggle-round:checked + label:after {
    margin-left: 30px;
}

/* ROB - FANCY RESPONSIVE TABLE */
.responsive-table {
    border-collapse: collapse;
    margin: 0;
    padding: 0;
}

.responsive-table caption {
    font-size: 1.5em;
    margin: .5em 0 .75em;
}

.checkbox-td {
    width: 60px
}

@media screen and (max-width: 768px) {
    .responsive-table {
        border: 0;
    }

    .responsive-table caption {
        font-size: 1.3em;
    }

    .responsive-table tr {
        border-bottom: 3px solid #ddd;
        display: block;
        margin-bottom: .625em;
    }

    .responsive-table td, .responsive-table th {
        border-bottom: 1px solid #ddd;
        display: block;
        font-size: .8em;
        min-height: 31px;
    }

    .responsive-table td {
        text-align: right;
    }

    .responsive-table .actions-header-column {
        display: none;
    }

    .responsive-table td:before, .responsive-table th:before {
        /*
        * aria-label has no advantage, it won't be read inside a table
        content: attr(aria-label);
        */
        content: attr(data-label);
        float: left;
        font-weight: bold;
    }

    .responsive-table td:last-child, .responsive-table th:last-child {
        border-bottom: 0;
    }

    .checkbox-td {
        width: auto;
    }
}

fieldset.fieldset-border {
    margin-bottom: 20px;
    border: 1px groove;
    border-top: 2px solid #00BCD4;
    padding: 10px;
}

legend.legend-border {
    width: auto;
    padding: 0 10px;
    border-bottom: none;
    margin-bottom: 5px;
}

.form-group-material > label.display-block {
    margin-bottom: 0;
}

/*CUSTOM DATETIMEPICKER COLORS*/
body .dtp div.dtp-date, body .dtp div.dtp-time {
    background-color: #2195f2;
}

body .dtp .p10 > a {
    color: #1e72b5;
}

body .dtp > .dtp-content > .dtp-date-view > header.dtp-header {
    background-color: #1e72b5;
}

body .dtp table.dtp-picker-days tr > td > a.selected {
    background-color: #2195f2;
}

/* FANCY IFRAME */
.fancy-iframe {
    width: 100%;
    border: 0 solid white;
}

/* bootstrap-year-calendar fix */
.calendar .month-container {
    height: 215px !important;
}

.calendar .day.disabled {
    box-shadow: none !important;
}

.event-tooltip-content .event-name {
    font-size: 14px;
}

.event-tooltip-content:not(:last-child) {
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}

.event-tooltip-content:not(:first-child) {
    padding-top: 5px;
}

/* tree-node */
ul.tree-node {
    margin: 0;
    padding-left: 15px;
}

/* WEMAKE CHANGELOG STYLES */
.wemake-changelog ul {
    list-style: none;
    padding: 10px 0;
}

.wemake-changelog ul li {
    border-top: 1px solid #eee;
    padding: 4px 10px;
}

.wemake-changelog ul li:last-child {
    border-bottom: 1px solid #eee;
}

img.login-footer-image {
    width: 100%;
    max-width: 800px;
}

.maintenance-notice {
    color: rgb(73, 73, 73);
    font-size: 32px;
    font-family: 'Source Sans Pro', sans-serif;
}

.maintenance-info {
    color: rgb(170, 170, 170);
    font-size: 16px;
    font-family: 'Source Sans Pro', sans-serif;
}

.maintenance-panel .divider {
    height: 1px;
    background-color: #ddd;
    width: 60%;
    max-width: 250px;
    margin: 15px auto;
}

/* ACE EDITOR ADDITIONS */
.ace_editor {
    display: block;
    border: 1px solid lightgray;
    margin: auto;
    height: 300px;
    width: 100%;
}

.bs-searchbox {
    padding-left: 48px !important;
}

.multiselect-container {
    max-height: 300px;
}

.multiselect-item:focus {
    outline: none;
    background-color: #f5f5f5;
}

.multiselect-item-checker {
    padding-left: 16px !important;
}

.multiselect-item-checker input[type=checkbox], .multiselect-item-checker input[type=checkbox] ~ i {
    display: none;
}

.multiselect-item-checker input[type=checkbox]:checked ~ i {
    display: inline-block;
}

/* SGI ATTRIBUTES 3.0 */
.element-highlighter {
    border-style: solid;
    border-width: 1px;
    border-color: white;
    padding: 1px;
}

.element-highlighter-hover {
    border-style: dashed;
    border-width: 1px;
    border-color: #8bb3e8;
    padding: 1px;
}

/* Dragging shadow */
.dragging-shadow {
    opacity: 0.5;
}

.draggable-grip {
    content: '....';
    width: 14px;
    height: 30px;
    display: inline-block;
    overflow: hidden;
    line-height: 5px;
    padding: 3px 4px;
    cursor: move;
    vertical-align: middle;
    margin-top: -.7em;
    margin-right: .3em;
    font-size: 12px;
    font-family: sans-serif;
    letter-spacing: 2px;
    color: #cccccc;
}

.draggable-grip:hover {
    color: #888888;
    text-shadow: 0px 0 1px black;
}

.draggable-grip::after {
    content: '.. .. .. .. ..';
}

.resizable-grip {
    content: '||||';
    width: 14px;
    height: 30px;
    display: inline-block;
    overflow: hidden;
    line-height: 5px;
    padding: 3px 4px;
    cursor: move;
    vertical-align: middle;
    margin-top: -.7em;
    margin-right: .3em;
    font-size: 12px;
    font-family: sans-serif;
    letter-spacing: 2px;
    color: #cccccc;
}

.resizable-grip:hover {
    color: #888888;
    text-shadow: 1px 0 1px black;
}

.resizable-grip::after {
    content: '|| || || ||';
}

.nav-item.minified .nav-link span {
    display: none;
}

.nav-item.active.minified .nav-link span {
    display: inline;
}

/*
WEMAKE DASHBOARD WALL SYSTEM
*/

.grid {
    position: relative;
}

.grid-item {
    position: relative;
    /* float: left; */
}

.grid-item .grid-item-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 4px;
}

/* grid aspect ratio */

.grid-item-ar-1-1:before {
    content: "";
    display: block;
    padding-top: 100%; /* initial ratio of 1:1*/
}

.grid-item-ar-2-1:before {
    content: "";
    display: block;
    padding-top: 50%; /* initial ratio of 2:1*/
}

.grid-item-ar-4-1:before {
    content: "";
    display: block;
    padding-top: 25%; /* initial ratio of 4:1*/
}

.grid-item-ar-1-2:before {
    content: "";
    display: block;
    padding-top: 200%; /* initial ratio of 1:2*/
}

/* grid size */

.grid-item-size-1 {
    width: 10%;
}

.grid-item-size-2 {
    width: 20%;
}

.grid-item-size-3 {
    width: 30%;
}

.grid-item-size-4 {
    width: 40%;
}

.grid-item-size-5 {
    width: 50%;
}

.grid-item-size-10 {
    width: 100%;
}

/*
fancy scrollshadow

note: can't use both x and y at the same time
 */
.scrollbox-x {
    overflow-x: auto;
    background: /* Shadow covers */ linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), white 70%) 0 100%, /* Shadows */ radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)), radial-gradient(50% 100%, farthest-side, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
    background: /* Shadow covers */ linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), white 70%) 0 100%, /* Shadows */ radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

.scrollbox-y {
    overflow-y: auto;

    background-image: /* Shadows */ linear-gradient(to right, white, white),
    linear-gradient(to right, white, white),
        /* Shadow covers */ linear-gradient(to right, rgba(0, 0, 0, .25), rgba(255, 255, 255, 0)),
    linear-gradient(to left, rgba(0, 0, 0, .25), rgba(255, 255, 255, 0));

    background-position: left center, right center, left center, right center;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;

    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

/* WEFLOW EDITOR */
.dock-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    width: 100%;
    -webkit-transform: scale(.6);
    transform: scale(.6);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: .5s;
    transition: .5s;
}

.dock-menu .dock-item {
    margin: 1em;
    width: 200px;
}

.socket.integer-value {
    background: #4e92ca !important;
}

.socket.float-value {
    background: #815ec4 !important;
}

.socket.decimal-value {
    background: #7f6f9c !important;
}

.socket.string-value {
    background: #921eb5 !important;
}

.socket.boolean-value {
    background: #b51e9c !important;
}

.socket.boolean-option-value {
    background: #ca49b9 !important;
}

.socket.boolean-status-value {
    background: #f388e5 !important;
}

.socket.group-value {
    background: #d99fff !important;
}

.socket.company-organization-value {
    background: #7cabff !important;
}

.socket.user-value {
    background: #ff343e !important;
}

.socket.table-value {
    background: #ff34e4 !important;
}

.socket.tree-value {
    background: #ae34ff !important;
}

.socket.entity-value {
    background: #f1ff34 !important;
}

.socket.date-value {
    background: #d1b01c !important;
}

.socket.date-time-value {
    background: #927c19 !important;
}

.socket.time-value {
    background: #f5db6a !important;
}

.socket.worker-value {
    background: #ffa734 !important;
}

.socket.file-value {
    background: #218614 !important;
}

.socket.document-value {
    background: #888dd6 !important;
}

.socket.function-group {
    background: #a78b4f !important;
}

.socket.time-interval {
    background: #a04fa7 !important;
}

.socket.periodicity {
    background: #c581e0 !important;
}

.socket.var-relation-value {
    background: #fdbbbb !important;
}

.rete-node {
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #4e58bf;
    border-radius: 10px;
    cursor: pointer;
    min-width: 180px;
    height: auto;
    padding-bottom: 6px;
    box-sizing: content-box;
    position: relative;
    user-select: none;
}

.rete-node:hover {
    background: lighten(rgba(110, 136, 255, 0.8), 4%);
}

.rete-node .selected {
    background: #ffd92c;
    border-color: #e3c000;
}

.rete-node .title {
    color: black;
    position: relative;
    font-family: sans-serif;
    font-size: 18px;
    padding: 8px;
}

.rete-node .title .title-buttons {
    position: absolute;
    top: 0px;
    right: 0px;
}

.rete-node .title .title-node-type-icon {
    position: absolute;
    top: -21px;
    left: -12px;
    font-size: 28pt;
}

.rete-node .output {
    text-align: right;
}

.rete-node .input {
    text-align: left;
}

.rete-node .input-title, .rete-node .output-title {
    vertical-align: middle;
    color: black;
    display: inline-block;
    font-family: sans-serif;
    font-size: 14px;
    margin: 6px;
    line-height: 24px;
}

.rete-node .socket {
    display: inline-block;
    cursor: pointer;
    border: 1px solid white;
    border-radius: 12px;
    width: 24px;
    height: 24px;
    margin: 6px;
    vertical-align: middle;
    background: #96b38a;
    z-index: 2;
    box-sizing: border-box;
}

.rete-node .socket i {
    font-size: 10pt;
    margin: 6px 5px;
}

.rete-node .socket:hover {
    border-width: 4px;
}

.rete-node .socket.multiple {
    border-color: yellow;
}

.rete-node .socket.output {
    margin-right: -12px;
}

.rete-node .socket.input {
    margin-left: -12px;
}

.has-changes {
    background-color: #f9d7dc !important;
}

/* -----------------------------------------
 *  # Letter Spacing
 * ------------------------------------------ */
.tracking-tighter {
    letter-spacing: -0.05em;
}

.tracking-tight {
    letter-spacing: -0.025em;
}

.tracking-normal {
    letter-spacing: 0;
}

.tracking-wide {
    letter-spacing: 0.025em;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.tracking-widest {
    letter-spacing: 0.1em;
}

/* Quill */
.ql-toolbar {
    margin-top: 8px;
}

.quill {
    margin-bottom: 10px;
}

.quill p {
    margin: 0;
    padding: 0;
}

.quill span.text-small {
    font-size: 0.75em;
}

.quill span.text-large {
    font-size: 1.5em;
}

.quill span.text-huge {
    font-size: 2.5em;
}

.risk-level-label {
    width: 30px;
    height: 30px;
    line-height: 2.5;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
}

td.truncated {
    max-width: 250px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.text-size-smallest {
    font-size: 10px;
}

.list-inline-separate-arrows > li {
    padding-right: 20px;
    position: relative;
}

.list-inline-separate-arrows > li:before {
    content: '»';
    position: absolute;
    right: 8px;
    color: #ccc;
    top: 1px;
}

.list-inline-separate-arrows > li:last-child:before {
    content: none;
}

.list-inline-separate-bullets > li {
    padding-right: 20px;
    position: relative;
}

.list-inline-separate-bullets > li:before {
    content: '\2022';
    position: absolute;
    right: 8px;
    color: #ccc;
    top: 1px;
}

.list-inline-separate-bullets > li:last-child:before {
    content: none;
}

/* ------------------------------------------------------------------------------
 *
 *  # Ripple effect
 *
 *  Styles for material design ripple click effect
 *
 * ---------------------------------------------------------------------------- */
.ripple-effect {
    width: 0;
    height: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 50%;
    -webkit-animation: ripple-drop 0.5s cubic-bezier(0, 0, 0.3, 1);
    animation: ripple-drop 0.5s cubic-bezier(0, 0, 0.3, 1);
}

.ripple-container {
    overflow: hidden;
    position: relative;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.ripple-only-child.dropdown-toggle:after {
    margin-left: 0;
}

@-webkit-keyframes ripple-drop {
    100% {
        -webkit-transform: scale(2);
        transform: scale(2);
        opacity: 0;
    }
}

@keyframes ripple-drop {
    100% {
        -webkit-transform: scale(2);
        transform: scale(2);
        opacity: 0;
    }
}

.btn:not(.btn-light):not(.btn-link):not(.bg-transparent):not([class*="-100"]):not(.btn-white):not(.btn-yellow):not(.btn-outline-light):not(.btn-outline-white) .ripple-effect,
.ripple-light .ripple-effect,
.sidebar-dark .btn-light-100 .ripple-effect,
.sidebar-dark .btn-outline-light-100 .ripple-effect,
.navbar-dark .btn-light-100 .ripple-effect,
.navbar-dark .btn-outline-light-100 .ripple-effect,
.nav-tabs-solid-custom .nav-link .ripple-effect,
.list-group-custom .list-group-item-action .ripple-effect,
.sidebar-dark .nav-link .ripple-effect,
.sidebar-user-material-footer > a .ripple-effect,
.sp-replacer[class*=bg-] .ripple-effect,
.pagination-pager-linked .page-link .ripple-effect,
.page-item.active .page-link .ripple-effect,
.list-group-item-action.active .ripple-effect,
.navbar-dark .navbar-nav-link .ripple-effect,
.select2-results__option[aria-selected=true] .ripple-effect {
    background-color: rgba(255, 255, 255, 0.5);
}

.nav-tabs > li > a {
    margin-bottom: -1px;
}

.sidebar-xs .sidebar-content {
    overflow: hidden;
}

/* Summernote adjustments */
.note-popover .popover-content > .note-btn-group,
.note-toolbar > .note-btn-group {
    margin-top: 2px;
    margin-right: 15px;
}

.note-toolbar.panel-heading {
    padding: 8px 10px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.note-editor .note-editable {
    padding-top: 10px;
}

/* STAGGERED NUMBERING OL*/
.staggered-numbering {
    counter-reset: item;
}

.staggered-numbering li {
    display: block
}

.staggered-numbering li:before {
    content: counters(item, ".") " ";
    counter-increment: item
}

.input-group-btn.open > .multiselect.btn-default.dropdown-toggle {
    background-color: #f5f5f5;
}

/* WEFLOW FORM DROPZONE */
.weflow-form-drop-zone {
    display: block;
    border: 1px dashed #b9b9b9;
    border-radius: 3pt;
    min-height: 150px;
    margin: 5pt;
    padding: 5pt;
    background-color: #c5c5c5;
}

.weflow-form-drop-zone::after {
    content: " ";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}
