@font-face {
    font-family: 'Segoe';
    src: url('../fonts/Segoe.ttf');
}
@font-face {
    font-family: 'SegoeSL';
    src: url('../fonts/SegoeSL.ttf');
}
@font-face {
    font-family: 'SegoeSB';
    src: url('../fonts/SegoeSB.ttf');
}
@font-face {
    font-family: 'SegoeB';
    src: url('../fonts/SegoeB.ttf');
}
@font-face {
    font-family: 'SegoeBL';
    src: url('../fonts/SegoeBL.ttf');
}

.webbpm a {
    color: var(--color-link);    
    &:hover,
    &:focus,
    &:active {
        color: var(--color-link-hover);
        text-decoration: none;
    }
}

body.webbpm {
    display: flex;
    flex-direction: column;
    color: var(--color-text-primary);
    font-family: 'Segoe';
    background-color: var(--white);
}

.webbpm .container {
    padding: 70px 0 0;
}

body.webbpm [id="page"],
.webbpm .container .container-inside {
    font-family: 'Segoe';
    font-size: var(--size-text-primary);
}

.webbpm .logo {
    height: auto;
    width: auto;
}

.webbpm .header-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-left: 40px;
    
    .logo a {
        background: url('../../../src/resources/img/logo-full.png') no-repeat 0 50%;
    }
}

.webbpm .header-menu {
    display: flex;
    flex-direction: row;
    margin-left: auto;
    margin-right: 40px;
    & > * {
        margin-right: 20px;
        &:last-child {
            margin-right: 0;
        }
    }
    .nav-link {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--white);
        font-size: var(--size-text-primary);
        width: 30px;
        height: 30px;
        padding: 0;
        border: 0;
        border-radius: 15px;
        background-color: var(--color-text-primary);
        outline: transparent;

        &::after {
            display: none; 
        }

        &:hover,
        &:focus,
        &:active {
            background-color: var(--color-link);
        }
    }
    .logout .user-info {
        display: flex;
        flex-direction: column;    
        color: var(--black);
        padding: 4px 20px;
        background: transparent;
        cursor: default;

        & > * {
            display: flex;
            padding-bottom: 10px;
            margin: 0 0 10px 0;
            border-bottom: 1px solid #f1f5f9;
            &:last-child {
                margin-bottom: 0;
            }
        }

        .user-fio {
            padding-bottom: 0;
            margin-bottom: 0;
            border-bottom: 0;
        }

        .user-department {
            color: #a0b1bc;
            line-height: 1.2;
        }
    }
}

.webbpm .header {
    display: flex;
    font-family: 'Segoe';
    width: 100%;
    height: auto;
    min-height: 70px;
    border-bottom: 1px solid var(--bg-light);
    background: var(--white);
    box-shadow: 0px 15px 20px 0px rgb(0 0 0 / 4%);

    & > div > * {
        position: relative;
        display: flex;
        align-items: center;
    }

    .dropdown-menu.show {
        top: 69px !important;
        right: 0px !important;
        left: auto !important;
        transform: none !important;
        margin: 0;    
        border: 0;
        border-radius: 0 0 10px 10px;
        background-color: var(--white);
        box-shadow: 0 8px 12px rgb(77 72 91 / 5%), 0 6px 10px rgb(77 72 91 / 0%);

        .dropdown-menu-inner {
            max-height: calc(100vh - 140px);
            overflow-y: auto;
        }
    }

    :is(process, admin-menu) .dropdown-menu.show {
        top: 49px !important;
    }

    .logout .dropdown-menu.show {
        width: 300px;
    }
}

.webbpm .dropdown-menu-inner:hover {
    background-color: transparent;
}

.webbpm .dropdown-item {
    padding: 4px 20px;
    &:hover,
    &:focus,
    &:active {
        color: var(--color-link);
        background-color: transparent;
        outline: transparent;
    }
}

.webbpm footer {
    color: var(--color-text-primary);
    font-size: var(--size-text-secondary);
    left: 0;
    right: 0;
    padding: 15px 40px;
    border-top: 1px solid var(--border-light);
    a {
        color: var(--color-text-primary);
        &:hover {
            color: var(--color-link);
        }
    }
}

/*-------------- Menu tasks -------------- */
.webbpm .task-list-tree-panel {
    padding: 0 40px;
    .task-list-filter {
        font-family: 'Segoe';
        box-shadow: none;

        li:first-of-type {
            font-family: 'SegoeSB';
            font-weight: normal;
            padding-left: 0;
        }

        li.ontime label div {
            background-color: #31c980;
        }

        li.overdue label div {
            background-color: var(--color-link);
        }        
    }
}

.webbpm .task-list-workplace {
    padding: 20px 40px 0 40px;
}

.webbpm .task-tbl :is(.tr.task-ontime, .tr.task-overdue) > .td.task::before {
    top: 24px;
    background-color: #31c980;
}

.webbpm .task-tbl .tr.task-overdue > .td.task::before {
    background-color: var(--color-link);
}

.webbpm .task-tbl .thead {
    display: table-header-group;
    border: 0;
    background: transparent;
}

.webbpm .task-tbl .th {
    color: var(--color-text-primary);
    font-family: 'SegoeSB';
    font-size: var(--size-text-secondary);
    font-weight: normal;
    padding: 9px 12px;
    border: 0;
    background: var(--bg-light);
}
.webbpm .task-tbl .th:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.webbpm .task-tbl .th:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.webbpm .task-tbl .td {
    color: var(--color-text-primary);
    font-size: var(--size-text-primary);    
    padding: 16px 12px;
    border: 0;
}

.webbpm .task-tbl .thead ~ .tr {
    border-color: var(--border-light);
    border-width: 1px 0 0 0;
    border-style: solid;
}
.webbpm .task-tbl .thead + .tr {
    border-top-color: transparent;
}

.webbpm .task-tbl .thead ~ .tr:hover {
    border-top-color: transparent;
    border-bottom-color: transparent;
}
.webbpm .task-tbl .thead ~ .tr:hover +.tr {
    border-top-color: transparent;
}

.webbpm .task-tbl .thead ~ .tr:hover .td {
    background-color: #f9f9f9;
}
.webbpm .task-tbl .thead ~ .tr:hover .td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.webbpm .task-tbl .thead ~ .tr:hover .td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}
/*------------- end Menu tasks ----------- */

/*----------------- Login ---------------- */
.webbpm :is(.form-signin, .form-signup, .confirm) {
    color: var(--color-text-primary);
    width: 560px;
    padding: 60px 80px;
    margin: 30px auto;
    border: 0;
    border-radius: 15px;
    box-shadow: 0px 0px 30px 2px rgb(77 72 91 / 12%);
    background-color: var(--white);
}

.webbpm :is(.form-signin, .form-signup) .row.title {
    position: relative;
    padding: 0;
}

.webbpm .form-signin h1,
.webbpm .form-signin h2,
.webbpm .form-signup h2,
.webbpm .confirm h2 {
    font-family: 'SegoeB';
    font-size: 32px;
    text-align: left;
    margin-bottom: 20px;
}

.webbpm :is(.form-signin, .form-signup, .confirm) .logo {
    position: absolute;
    top: -10px; 
    right: 0;
    width: 145px;
    height: 40px;
    background: none;
}

.webbpm .form-signin .row.registration > * + *,
.webbpm .form-signin .login-btn-box .password,
.webbpm .form-signin .login-btn-box .btn + .btn {
    margin-left: 20px;
}
/*--------------- end Login -------------- */