


/* Variables */

@customColorMain: #C1D827;
@customColorAlt: #006225;
@customColorText: #FFFFFF;

@tileBackgroundColor: #FCFCFC;
@baseFontColor: #333;
@lightFontColor: #686868;
@lightestFontColor: #B5B5B5;
@lightBackgroundColor: #D5D5D5;
@lightestBackgroundColor: #F6F6F6;

@mobile: ~"(max-width: 991px)";
@tablet: ~"(min-width: 576px)";
@desktop: ~"(min-width: 992px)";

/* Mixins */

.overflow-ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.notifier {
    background: @customColorAlt;
    border-radius: 100%;
    width: 10px;
    height: 10px;
}

/* Base */

html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: 'Roboto', sans-serif;
    margin-bottom: 130px;
}

::placeholder {
    font-size: .9rem;
}

.sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    margin: -1px !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

a {
    color: @customColorAlt;
    text-decoration: underline;
    &:hover {
        text-decoration: none;
    }
    &.return-link {
        float: left;
        margin: -3px 9px 0 4px;
        i {
            font-size: 2rem;
            color: @customColorAlt;
            &:hover {
                color: darken(@customColorAlt, 10%);
            }
        }
    }
}

a.label {
    text-decoration: none;
}

.row-padding {
    padding-top: 10px;
    padding-bottom: 10px;
    @media @tablet {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    @media @desktop {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

.gutters-20 {
    margin-right: -10px;
    margin-left: -10px;

    > .col,
    > [class*="col-"] {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Navbar */

nav {
    box-shadow: 0 0 5px 0 #D1D1D1;
    background-color: @tileBackgroundColor;
    border-top: 5px solid @customColorMain;
    padding-bottom: 5px;
    padding-top: 10px;
    margin-bottom: 25px;
    min-height: 60px;
    .logo {
        text-align: center;
        margin-bottom: 8px;
        a.navi-logo img {
            max-height: 40px;
        }
    }
    .menu {
        display: table;
        table-layout: fixed;
        width: 100%;
        .menu-item {
            font-size: 1.5rem;
            display: table-cell;
            text-align: center;
            > a {
                display: inline-block;
                text-decoration: none;
                width: 40px;
                height: 40px;
                padding: 2px;
                &:hover, &:active {
                    background-color: @customColorMain;
                    border-radius: 100%;
                    i {
                        color: white;
                    }
                }
                i {
                    color: @customColorMain;
                }
            }
        }
    }

    @media @tablet {
        height: 80px;
        .logo {
            a.navi-logo {
                height: 46px;
                img {
                    max-height: 46px;
                }
            }
        }
        .menu {
            margin-top: 3px;
            .menu-item {
                display: initial;
                margin-left: 18px;
            }
        }
    }

    @media @desktop {
        height: 100px;
        margin-bottom: 35px;
        .logo {
            a.navi-logo {
                height: 64px;
                img {
                    max-height: 64px;
                }
            }
        }
        .menu {
            margin-top: 18px;
            .menu-item {
                font-size: .9rem;
                margin-left: 20px;
                height: 30px;
                line-height: 30px;;
                a {
                    display: initial;
                    width: auto;
                    height: auto;
                    color: @baseFontColor;
                    &:hover, &:active {
                        background-color: transparent;
                        color: @customColorMain;
                        text-decoration: none;
                        i {
                            color: @customColorMain;
                        }
                    }
                    i {
                        vertical-align: middle;
                        font-size: 1.5rem;
                        margin-right: 10px;
                        margin-top: -2px;
                    }
                }
            }
        }
    }

    @media @tablet, @desktop {
        padding-top: 15px;
        .logo {
            margin-bottom: 0;
            a.navi-logo {
                float: left;
                &:before {
                    content: "";
                    display: inline-block;
                    height: 100%;
                    vertical-align: middle;
                    // https://stackoverflow.com/questions/7273338/how-to-vertically-align-an-image-inside-a-div
                }
            }
        }
        .menu {
            width: auto;
            display: initial;
            float: right;
        }
    }
}

/* Aside */

aside {
    font-size: .875rem;
    border: 1px solid #d8d8d8;
    max-width: 73rem;
    padding: 1.5rem;
    margin: 0 auto 1.5rem;
    &:empty {
        display: none;
    }
    p:last-of-type {
        margin-bottom: 0;
    }
}

/* Footer */

footer {
    box-shadow: 0 0 5px 0 #D1D1D1;
    background-color: @tileBackgroundColor;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 0;
    margin-top: 20px;
    text-align: center;
    font-size: .8rem;
    .contact p:last-of-type {
        margin-bottom: 0
    }
    a {
        color: @baseFontColor !important;
        text-decoration: underline;
        &:hover {
            text-decoration: none;
        }
    }

    @media @tablet, @desktop {
        .container {
            display: flex;
            > div {
                flex-grow: 1;
                &.contact {
                    text-align: right;
                }
                &.links {
                    span {
                        display: inline-block;
                        border-right: 1px solid #333;
                        padding: 0 8px 0 3px;
                        &:last-of-type {
                            border: 0;
                        }
                        &:empty {
                            display: none;
                        }
                        p {
                            margin: 0;
                        }
                    }
                }
                &.copyright {
                    text-align: left;
                }
            }
        }
    }
}

/* Modal */

.modal {
    &.medium .modal-dialog {
        max-width: 675px;
    }
    &.modal.large .modal-dialog {
        max-width: 850px;
    }
    h5 {
        font-size: 1.25rem !important;
    }
    .modal-content {
        top: 55px;
        .modal-footer {
            display: inline-block;
            &:empty {
                display: none;
            }
        }
        .request-details {
            display: block;
        }
    }
}
.request-details {
    display: none;
}

/* Headings */

h1, h2, h3, h4, h5 {
    color: #000;
    font-weight: 400;
}

h1 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    word-break: break-word;
}

h2 {
    font-size: 1.35rem
}

h3 {
    font-size: 1.25rem;
    &.detail {
        margin: 25px 0 15px;
        padding-bottom: 7px;
        border-bottom: 1px solid #333;
        &:empty {
            padding: 0;
        }
    }
}

h4 {
    font-size: 1.1rem !important;
}

h5 {
    font-size: 1.0rem !important;
}


/* Buttons */

.btn {
    border-radius: 20px;
    text-decoration: none;
}

.btn-default {
    background-color: @lightBackgroundColor;
    color: @baseFontColor;
    &.disabled, &:focus,
    &:hover, &:active {
        color: @baseFontColor;
        background-color: darken(@lightBackgroundColor, 5%) !important;
        box-shadow: none;
    }
}

.btn-primary {
    color: contrast(@customColorMain, @baseFontColor, white, 70%) !important;
    background-color: @customColorMain;
    border-color: @customColorMain;
    &.disabled, &:focus,
    &:hover, &:active {
        background-color: darken(@customColorMain, 5%) !important;
        border-color: darken(@customColorMain, 10%) !important;
        box-shadow: none;
    }
}
.btn-secondary {
    color: @customColorText !important;
    background-color: @customColorAlt;
    border-color: fade(@customColorAlt, 90%);
    &:focus {
        background-color: fade(@customColorAlt, 80%);
        border-color: fade(@customColorAlt, 60%);
    }
    &:hover,
    &:active {
        background-color: fade(@customColorAlt, 80%);
        border-color: fade(@customColorAlt, 70%);
    }
}


.btn i.fas,
.btn i.far,
.btn i.fal {
    margin-right: 5px;
}

.btn-link {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: @customColorAlt;
}

/* Label */

label {
    &.required:after {
        content: '*' !important;
        color: #dc3545;
        font-weight: normal;
        margin-left: 2px;
    }
}

/* Alert */

.alert {
    p:last-of-type {
        margin-bottom: 0
    }
    ul {
        margin-bottom: 0
    }
}
.form-container {
    > .alert-danger {
        padding-left: 45px;
        > i {
            position: absolute;
            top: 15px;
            left: 20px;
        }
    }
}
.has-error {
    .form-control {
        border-color: #dc3545;
    }
    .checkbox label:before,
    .radio label:before {
        border-color: #dc3545;
    }
    .help-block {
        width: 100%;
        margin-top: .25rem;
        font-size: .8rem;
        color: #dc3545;
    }
}

/* Toastr */

.toast-top-full-width,
.toast-top-right {
    margin-top: 50px;
}

#toast-container .toast-error {
    background-color: #f2dede;
    color: #a94442 !important;
    opacity: 1;
}

#toast-container .toast-success {
    background-color: #dff0d8;
    color: #3c763d !important;
    opacity: 1;
}

#toast-container .toast-warning {
    background-color: #fcf8e3;
    color: #8a6d3b !important;
    opacity: 1;
}

#toast-container .toast-info {
    background-color: #d9edf7;
    color: #31708f !important;
    opacity: 1;
}

#toast-container > div::before {
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    left: 25px;
}

#toast-container > .toast-success:before {
    content: "\f00c";
    font-size: 1.5rem;
    margin-top: -8px;
    margin-left: -8px;
}

#toast-container > .toast-error:before {
    content: "\f05e";
    font-size: 1.5rem;
    margin-top: -8px;
    margin-left: -8px;
}

#toast-container > .toast-warning:before {
    content: "\f071";
    font-size: 1.5rem;
    margin-top: -8px;
    margin-left: -8px;
}

#toast-container > .toast-info:before {
    content: "\f05a";
    font-size: 1.5rem;
    margin-top: -8px;
    margin-left: -8px;
}

.toast-error > .toast-progress {
    background-color: #a94442;
}

.toast-success > .toast-progress {
    background-color: #3c763d;
}

.toast-success > .toast-warning {
    background-color: #faebcc;
}

.toast-success > .toast-info {
    background-color: #bce8f1;
}

.toast-progress {
    opacity: 0.4;
}

.toast-close-button {
    color: inherit;
}

#toast-container > .toast-error,
#toast-container > .toast-success,
#toast-container > .toast-info,
#toast-container > .toast-warning {
    background-image: none !important;
}

/* Home Page */

.selectize-control.case-type-search {
    .selectize-input {
        border: 2px solid @customColorMain;
        border-radius: 20px;
        height: 40px;
        width: 100%;
        margin-top: 2px;
        box-shadow: none;
        padding-left: 15px;
        padding-right: 15px;
        &.dropdown-active {
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
            border-bottom: 0;
            input {
                width: 100% !important;
                padding-bottom: 7px !important;
                border-bottom: 2px solid #EEE !important;
            }
        }
        &:after {
            content: '\f002';
            font-family: 'Font Awesome 6 Pro';
            font-size: 1.4rem;
            position: absolute;
            top: 9px;
            right: 15px;
            color: @customColorMain;
        }
        .item {
            font-size: 1rem;
            margin-top: 2px;
        }
        label {
            display: none;
        }
        input {
            margin-top: 2px !important;
            font-size: 1rem;
        }
    }
    .selectize-dropdown {
        border: 2px solid @customColorMain;
        border-top: none;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
        overflow: hidden;
        font-size: 1rem;
        .selectize-dropdown-content {
            border-bottom-left-radius: 20px;
            border-bottom-right-radius: 20px;
            .optgroup-header {
                cursor: pointer;
                font-weight: 500;
                color: @customColorAlt;
                padding: 10px;
            }
            .option {
                padding: 10px;
                .highlight {
                    background-color: fade(@lightBackgroundColor, 70%)
                }
            }
        }
        .active {
            color: @baseFontColor;
            background: @tileBackgroundColor;
        }
    }
}

.popular-case-types {
    text-align: center;
    padding: 0
}

.popular-case-type {
    display: block;
    background-color: @customColorMain;
    color: white;
    border-radius: 20px;
    height: 40px;
    margin-top: 10px;
    text-align: center;
    line-height: 40px;
    padding-left: 15px;
    padding-right: 15px;
    text-decoration: none;
    .overflow-ellipsis();
    &:hover, &:focus {
        background-color: darken(@customColorMain, 5%);
        color: @customColorText;
        text-decoration: none;
    }
    @media @tablet, @desktop {
        display: inline-block;
        margin-left: 5px;
        margin-right: 5px;
    }
}

.eloket-category-row {
    margin-top: 10px;
    > div {
        margin-bottom: 20px;
    }
    .eloket-category {
    
        background-color: @tileBackgroundColor;
        box-shadow: 0 0 5px 0 #D1D1D1;
        padding-bottom: 100%;
        border-radius: 10px;
        position: relative;
        text-align: center;
        height: 0;
        &:active,&:hover {
            background-color: darken(@tileBackgroundColor, 5%);
        }
        a {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            i {
                position: absolute;
                display: block;
                bottom: 52%;
                width: 100%;
                font-size: 10vw;
                color: @customColorAlt;
                @media @tablet, @desktop {
                    font-size: 2.5rem;
                }
            }
            span {
                position: absolute;
                display: block;
                top: 55%;
                bottom: 5%;
                left: 10px;
                right: 10px;
                text-align: center;
                font-size: 1rem;
                line-height: 1.2rem;
                color: @customColorAlt;
                padding: 0 10px;
            }
        }
    }
}

/* Category Page */

.category-case-types ul {
    list-style-type: none;
    padding: 0;
    margin: 15px 10px 0 10px;
    li {
        border-bottom: 2px solid #EAEAEA;
        position: relative;
        a {
            color: @lightFontColor;
            text-decoration: none;
            display: block;
            padding: 8px 0 8px 15px;
        }
        &:before {
            font-family: "Font Awesome 6 Pro";
            font-weight: 400;
            content: "\f054";
            color: @customColorMain;
            position: absolute;
            left: 0;
            top: 8px;
        }
        &:hover {
            background: @tileBackgroundColor;
            a {
                color: @baseFontColor;
            }
        }
    }
}

/* Authentication buttons */

.authentication-tile {
    display: block;
    box-shadow: 0 0 5px 0 #D1D1D1;
    background-color: @tileBackgroundColor;
    border-radius: 10px;
    margin-bottom: 30px;
    min-height: 10rem;
    position: relative;
    &:hover {
        a {
            text-decoration: none;
        }
        background-color: darken(@tileBackgroundColor, 5%);
    }
    i.logo,
    img.logo {
        position: absolute;
        height: 4rem;
        margin-top: -2rem;
        top: 50%;
        right: 70%;
    }
    i.logo {
        font-size: 3rem;
        margin-top: -1.5rem;
        color: @lightestFontColor;
    }
    a.label {
        position: absolute;
        left: 36%;
        top: 50%;
        height: 60px;
        font-weight: bold;
        margin-top: -30px;
        .title {
            font-size: 1.3rem;
            text-transform: uppercase;
            display: block;
            color: @customColorMain;
        }
        .subtitle {
            font-size: 1rem;
            display: block;
            padding-right: 15px;
            color: @baseFontColor;
        }
    }
    a.help {
        position: absolute;
        top: 5px;
        right: 10px;
        color: @lightFontColor;
        font-size: 1.5rem;
        &:hover {
            color: darken(@lightFontColor, 20%);
        }
        span {
            display: none;
        }
    }
}

/* Forms */

.form-container {
    margin-top: 20px;
    > h2:empty {
        margin: 0;
    }
    form > .form-row > .form-group {
        margin-bottom: 25px !important;
    }
    .form-row {
        display: initial;
        margin-left: initial;
        margin-right: initial;
        &.one-column {
            label:empty {
                display: none;
            }
        }
        &.two-columns .form-group,
        &.three-columns .form-group,
        &.four-columns .form-group,
        .period-field {
            float: none;
            margin-right: 0;
            width: 100%;
            &:first-child {
                margin-bottom: 15px;
            }
            label:empty:before {
                content: ".";
                color: #fff;
            }
        }
        .radio, .checkbox {
            padding-bottom: 5px;
            &.extra{
                padding-bottom: 0;
                position: relative;
                top: -4px;
                .form-control {
                    display: inline-block;
                    width: auto;
                }
            }
        }
        .control-label {
            display: inline;
            &:after {
                content: '\00a0';
                display: inline-block;
                margin-bottom: .5rem;
            }
            &+ .form-hint {
                padding: 0;
                border: 0;
                background: none;
                color: #337ab7;
                cursor: pointer;
                &:hover {
                    color: #23527c;
                }
          }
        }
        .form-control {
            color: lighten(@lightFontColor, 10%) !important;
            &:focus {
                border-color: #333;
                box-shadow: none;
                transition-duration: .5s;
                outline: 0
            }
            &:disabled,
            &[readonly] {
                background-color: #eee;
                cursor: not-allowed;
            }
        }
        .input-group-addon {
            width: auto !important;
            height: auto !important;
            .input-group-text {
                background-color: #eee;
                >i {
                    margin: 0
                }
            }
        }
        .form-row-inline {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            margin-right: -5px;
            margin-left: -5px;
            > .col,
            > [class*=col-] {
                padding-right: 5px;
                padding-left: 5px
            }
        }
        .form-row-inline-list {
            .form-row-inline {
                margin-bottom: 5px;
            }
            > .form-row-inline:first-of-type {
                margin-top: 0;
                padding-top: 5px;
                border-top: 1px solid #ddd;
            }
        }
        @media @tablet, @desktop {
            &.two-columns .form-group,
            &.three-columns .form-group,
            &.four-columns .form-group {
                margin-right: 3% !important;
                &:last-of-type {
                    margin: 0!important
                }
            }
            &.two-columns .form-group {
                width: 48.5% !important;
            }
            &.three-columns .form-group {
                width: 31.333% !important;
            }
            &.four-columns .form-group {
                width: 22.75% !important;
            }
        }
    }
    .form-row-inline label,
    .radio label,
    .checkbox label,
    .parent-period-field label,
    .price .table-row div,
    .total-amount .table-row div,
    .label-grey {
        color: lighten(@lightFontColor, 10%);
        font-size: .9rem;
    }
    .comment {
        > div {
            color: lighten(@lightFontColor, 10%);
            h4 {
                padding-top: 15px;
            }
        }
    }
    .separator {
        padding: 0 !important;
        border: 0 !important;
        label {
            font-size: 1.25rem;
            text-transform: none;
        }
    }
    .section {
        margin-bottom: 10px;
        .section-container {
            .remove-section {
                font-size: .9rem;
                position: relative;
                top: -2px;
            }
            h4.section-container-title {
                font-size: .9rem;
                &:empty {
                    display: none
                }
            }
            &:last-of-type {
                margin-bottom: 0
            }
        }
        .add-section {
            margin-bottom: 0
        }
    }
    .submit-buttons {
        margin-top: 25px;
        .btn {
            margin-right: 5px;
        }
    }
    .action-feedback {
        .suffix-text {
            margin-top: 1rem;
        }
        .prefix-text:empty,
        .suffix-text:empty {
            display: none;
        }
    }
    @media @tablet, @desktop {
        .form-row {
            display: block;
        }
    }
    .show-request-details,
    .show-case-details {
        margin: 30px 0 20px 0;
        display: block;
    }
}

/* Price + total amount */

div.table {
    display: table;
    width: 100%;
    .table-header-row,
    .table-row {
        display: table-row;
        > div {
            display: table-cell;
            padding: .75rem;
            &:not(:first-of-type) {
                width: 30%;
            }
            @media @desktop {
                &:not(:first-of-type) {
                    width: 15%;
                }
            }
            label {
                margin: 0
            }
        }
    }
    .table-row {
        > div {
            border-top: 1px solid @lightBackgroundColor;
            label {
                float: left;
            }
            .display-name {
                display: flex;
            }
        }
    }
    &.total-amount {
        .table-header-row:last-of-type div {
            border-top: 1px solid @baseFontColor;
        }
    }
    @media @mobile {
        &.type-quantitylist,
        &.total-amount,
        &.payment-overview {
            display: block;
            div {
                display: block;
                border: 0;
            }
            .table-header-row {
                overflow: hidden;
                &:first-of-type > div:nth-of-type(2),
                &:first-of-type > div:nth-of-type(3),
                &:last-of-type > div:empty,
                &:last-of-type > div.quantity-exists {
                    display: none !important;
                }
                > div {
                    float: left;
                    width: 70%;
                    &:last-of-type {
                        width: 30%;
                    }
                }
            }
            .table-row {
                border-top: 1px solid @lightBackgroundColor;
                overflow: hidden;
                > div {
                    display: inline-block;
                    &:first-of-type {
                        width: 100% !important;
                        padding-bottom: 5px;
                    }
                    &:not(:first-of-type) {
                        float: left;
                        width: 35%;
                    }
                    &:last-of-type {
                        width: 30%;
                    }
                }
            }
        }
        &.type-quantitylist .table-row > div:nth-of-type(3) {
            padding-top: 3px
        }
    }
}

/* Map */

.gv-input .controls {
    .amount {
        display: block;
        margin-bottom: 10px;
    }
    label {
        margin: 0 10px 0 0 !important;
    }
    .slider {
        margin: 10px 0 0 0 !important;
    }
    @media @tablet, @desktop {
        .amount {
            display: inline;
            margin-bottom: 0;
        }
        label {
            margin: 0 0 0 10px !important;
        }
        .slider {
            margin: 0 0 0 25px !important;;
        }
    }
}
.gv-map-actions a {
    border-radius: 20px !important;
    padding: 6px 11px !important;
}
.gv-map-hindrance {
    font-size: .9rem;
    padding-left: 45px;
    > i {
        position: absolute;
        top: 15px;
        left: 20px;
    }
}
.geofield .text-danger {
    font-size: .8rem;
}

/* Family members */

.family-members {
    max-width: 480px;
    width: 100% !important;
    .member {
        color: lighten(@lightFontColor, 10%);
        padding: 5px;
        cursor: pointer;
        border-bottom: 1px solid #ced4da;
        &:hover {
            background-color: #f5f5f5;
        }
        &:last-of-type {
            border: 0;
        }
        .rrn {
            margin-left: 25px;
            font-size: .85rem;
        }
        @media @tablet, @desktop {
            .rrn {
                float: right;
                position: relative;
                top: 3px
            }
        }
    }
}

/* Text editor */
table.mceLayout {
    border-radius: .25rem;
    border-color: #ced4da !important;
    td.mceToolbar {
        padding: 7px;
        background: #eee;
        td:nth-of-type(6),
        td:nth-of-type(7),
        td:nth-of-type(8),
        td:nth-of-type(9),
        td:nth-of-type(10),
        td:nth-of-type(n+13),
        .mceToolbarRow2 {
            display: none;
        }
        .mceButton {
            width: 25px;
            height: 25px;
            text-align: center;
            margin: 0;
            border: 0;
            cursor: pointer;
            &:before {
                font-family: "Font Awesome 6 Pro";
            }
            &.mceButtonActive,
            &:hover {
                border: 0;
                background: darken(#e9ecef, 10%);
            }
            span {
                display: none;
            }
            &.mce_bold:before { content: "\f032"; }
            &.mce_italic:before { content: "\f033"; }
            &.mce_underline:before { content: "\f0cd"; }
            &.mce_bullist:before { content: "\f03a"; }
            &.mce_numlist:before { content: "\f0cb"; }
        }
        .mceSeparator {
            margin: 0 10px;
        }
    }
    .mceIframeContainer {
        padding: 10px 6px;
    }
}

/* Detail */

table.detail {
    tr {
        border-top: 1px solid #ddd;
        &:first-of-type {
            border: 0;
        }
        &.section th,
        &.section-container-title th {
            padding-bottom: .75rem;
        }
        &.has-title > * {
            padding-left: 25px;
        }
    }
    th, td {
        padding-left: 0;
        padding-right: 0;
        display: block;
        border: 0;
        width: 100% !important;
    }
    th {
        font-weight: 400;
        padding-bottom: 0;
        label {
            margin: 0;
            color: lighten(@lightFontColor, 10%);
            &:empty {
                display: none;
            }
        }
    }
    .table {
        margin-bottom: 0;
        .table-header-row {
            color: lighten(@lightFontColor, 10%);
        }
        .table-row:last-of-type > div {
            padding-bottom: 0
        }
    }
    .gv-map {
        height: 200px;
    }
    .section {
        th:empty {
            display: none;
        }
    }
    @media @tablet, @desktop {
        th, td {
            display: table-cell;
            padding-bottom: .75rem;
        }
        th {
            width: 300px !important;
            padding-right: .75rem;
        }
        td {
            width: inherit !important;
        }
        .has-title td {
            padding-left: 0;
        }
        .gv-map {
            height: 400px;
        }
    }
}

/* PIP */

.fa-stack {
    .fa-circle {
        color: #ccc;
    }
    .notifier {
        .notifier();
        display: block;
        position: absolute;
        right: 2px;
    }
}

.pip-blocks {
    > div {
        margin-bottom: 20px;
    }
    .pip-block,
    .pip-block-concept {
        background-color: @tileBackgroundColor;
        box-shadow: 0 0 5px 0 #D1D1D1;
        border-radius: 10px;
        position: relative;
        padding: 20px;
        height: 135px;
        cursor: pointer;
        &:active, &:hover {
            background-color: darken(@tileBackgroundColor, 5%);
        }
        a {
            color: #333;
            &.dropdown-item {
                font-size: .85rem;
                &.expired {
                    opacity: 0.45;
                    cursor: default;
                }
            }
        }
        .title {
            font-weight: bold;
            line-height: 20px;
            color: @customColorMain;
        }
        .title-concept {
          font-weight: bold;
          line-height: 20px;
          color: #777;
        }
        .reference {
            font-weight: bold;
            font-size: .8rem;
            color: #777;
        }
        .date {
            font-size: .75rem;
            color: #aaa;
            position: absolute;
            bottom: 20px;
            left: 20px;
        }
        .actions {
            position: absolute;
            bottom: 15px;
            right: 15px;
            .fa-stack {
                width: 2.1em;
                em {
                    display: none;
                }
            }
            a {
                display: inline-block;
                &.expired {
                    opacity: 0.45;
                    cursor: default;
                }
            }
        }
    }
}
.pip-detail {
    .actions {
        a {
            color: #333;
            margin-right: 10px;
            display: inline-block;
            text-decoration: none;
            &.btn-task,
            &.dropdown-item,
            .text {
                font-size: .85rem;
            }
            &:active, &:hover {
                text-decoration: none;
            }
            &.expired {
                opacity: 0.45;
                cursor: default;
            }
        }
    }
}
.info {
    margin: 20px 0;
    overflow: hidden;
    .date {
        float: right;
        font-size: .75rem;
        color: #aaa;
        margin-top: 8px;
    }
    .state {
        display: inline-block;
        padding: 5px 12px;
        border-radius: 30px;
        margin-left: 4px;
        .text {
            font-size: .9rem;
            margin-left: 2px
        }
    }
}

/* Case message */

.message-thread {
    margin-top: 20px;
    .message {
        border-bottom: 1px solid #eee;
        &:first-child {
            border-top: 1px solid #eee;
        }
        span.sender {
            font-weight: 500;
            margin-right: 10px;
        }
        span.timestamp {
            text-align: center;
            color: #aaa;
            font-size: .75rem;
            padding-top: 3px
        }
        span.attachment {
            flex: 0 0 20px;
            text-align: right;
        }
        span.summary,
        span.receiver {
            display: block;
            color: #888;
            font-size: .8rem;
            .overflow-ellipsis();
        }
        span.summary p,
        span.summary pre {
            display: inline !important;
            border: none;
            background: none;
        }
        .header {
            padding: 10px;
            cursor: pointer;
            background-color: #fafafa;
        }
        .body {
            padding: 10px;
            .attachments {
                margin-top: 10px;
            }
            p:last-of-type {
                margin-bottom: 0
            }
            .btn-reply {
                margin: 1rem 0 10px 0;
            }
        }
        /* Collapsed Message */
        &.collapsed {
            .body,
            span.receiver {
                display: none;
            }
        }
        /* Expanded Message */
        &.expanded {
            span.summary {
                display: none;
            }
            div.body div.attachments {
                overflow: hidden;
                div.counter {
                    font-weight: bold;
                    margin: 10px 0;
                }
                div.attachment {
                    float: left;
                    border: 1px solid #eee;
                    width: 200px;
                    margin: 0 10px 10px 0;
                    a {
                        text-decoration: none;
                        span.icon {
                            display: block;
                            text-align: center;
                            font-size: 65px;
                            color: #666;
                            padding: 20px 10px;
                        }
                        span.name {
                            display: block;
                            padding: 10px;
                            background: #f4f4f4;
                            font-size: .85rem;
                            color: #333;
                            word-break: break-all;
                        }
                        &:hover {
                            span.name {
                                color: @customColorMain;
                            }
                        }
                    }

                }
            }
            div.gmail_extra,
            div.gmail_quote,
            div.gmail_signature {
                display: none;
            }
        }
    }
}

.unread .sender:before {
    content: " ";
    .notifier();
    display: inline-block;
    margin-right: 5px;
}

.case-messages {
    .message-thread {
        cursor: pointer;
        margin: 0;
        .message {
            padding: 10px;
            border-top: 0;
        }
    }
    .message-thread:first-of-type {
        margin-top: 20px;
    }
}


/* -- COMMON PAGE TITLE -- */
div#pagetitle.btn-toolbar.btn-group {
    top: 10px;
    position: relative;
    bottom: 10px;
}

.no-gutter > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.eloket-list h1 {
    padding: 0 0 10px 0;
}

.eloket-list ul {
    list-style: none;
    padding: 0;
    overflow: hidden;
    line-height: 25px;
    align-items: center;
}

.eloket-list .list-group-item {
    border-color: #333;
}

.eloket-list a {
    color: @customColorMain;
    &:hover, &:focus {
        color: @customColorMain;
        text-decoration: underline;
    }
    i {
        color: @customColorAlt;
    }
}

.eloket-blocks h1 {
    padding: 15px 0 10px 5px;
}

.eloket-blocks .item-block ul {
    list-style: none;
    padding: 0;
    overflow: hidden;
    margin-bottom: 10px;
    li {
        float: left;
        width: 100%;
        a {
            position: relative;
            display: flex;
            height: 80px;
            width: 100%;
            padding: 10px 15px 10px 35px;
            border: 1px solid #333;
            border-radius: 5px;
            align-items: center;
            line-height: 15px;
            font-weight: bold;
            color: @customColorMain;
            i {
                position: absolute;
                top: calc(50% - 15px);
                left: 10px;
                font-size: 1.85rem;
                color: @customColorAlt;
            }
        }
    }
}

.dropdown-toggle::after {
    display: none;
    @media @desktop {
        display: inline-block;
    }
}

.dropdown-menu > li > a:hover {
    background-color: transparent !important;
}

.bootstrap-datetimepicker-widget {
    z-index: 1001;
    table {
        td.today {
            background-color: #fff
        }
        td.active {
            color: #fff;
            &:hover {
                color: #fff;
            }
        }
        span.active {
            color: #333 !important;
            text-shadow: none !important
        }
    }
}
.period-timefield .bootstrap-datetimepicker-widget,
.timefield .bootstrap-datetimepicker-widget {
    width: 10em;
    table {
        td, a, span, i {
            padding: 0 !important;
        }
        td {
            width: 40%;
            height: auto;
            line-height: 30px;
            &.separator {
                width: 20%;
            }
            span, i {
                width: 30px;
                height: 30px;
                line-height: 30px;
            }
        }
    }
    .timepicker-hours td,
    .timepicker-minutes td {
        width: 25%
    }
}

.datefield {
    width: 100px;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    color: #777;
    background-color: #eee;
    border-color: #ccc;
}

.nowrap {
    white-space: nowrap;
}

.sub-label {
    font-weight: normal !important;
}


.tile {
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    background: #fff;
    padding-top: 25px;
    padding-bottom: 25px;
    margin-top: 15px;
    margin-bottom: 15px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;

}

.tile:hover {
    cursor: hand;
}

.tile .title {
    margin-top: 0;
}

.has-error .select2-selection {
    border-color: rgb(185, 74, 72) !important;
}

.row.actionButtons {
    margin-bottom: 20px;
}

/* GEGEVENS DETAIL   */
/*********************/
table#tblContactgegevens {
    width: 60%;
}

.tooltip-inner {
    max-width: none;
}

#cases tr {
    cursor: pointer;
}

#cases #btn-filters {
    min-width: 720px;
}

/* ProgressBar */

.mobile-progressbar {
    .percircle {
        font-size: 70px;
        margin-top: 15px;
        margin-bottom: 25px;
    }
    .text-status {
        position: relative;
        height: 70px;
        margin: 15px 0 25px 5px;
        line-height: 1.4rem;
        .current-text {
            position: absolute;
            bottom: 55%;
            font-size: 1.2rem;
            margin-bottom: 0;
        }
        .next-text {
            position: absolute;
            top: 45%;
            font-size: .9rem;
            margin-bottom: 0;
            color: @lightFontColor;
        }
    }
}

.progress-steps {
    padding-left: 0;
    list-style: none;
    > li {
        font-size: .9rem;
        border-bottom: 2px solid @lightestFontColor;
        color: @lightestFontColor;
        text-align: center;
        margin-bottom: 20px;
        &.handled {
            color: @customColorAlt;
            border-color: @customColorAlt;
        }
        &.handled[data-form-action]:hover {
            color: darken(@customColorAlt, 10%);
            border-color: darken(@customColorAlt, 10%);
            cursor: pointer;
        }
        &.current {
            border-color: @customColorAlt;
        }
        span {
            display: block;
            margin-bottom: 10px;
        }
        i {
            font-size: 0.6rem;
            display: block;
            margin-bottom: 15px;
        }
    }
}

.progress-bar {
    background-color: @customColorMain;
}

/* OTHER   */
/*********************/

div#continue-without-loging {
    margin-top: 10px;
}

.ajax-file-upload-white {
    margin-bottom: 15px;
}

div.dataTables_processing {
    z-index: 2;
}

@media (min-width: 1000px) {
    #cases .search {
        position: relative;
        bottom: 38px;
    }

    #cases .dataTables_wrapper {
        position: relative;
        bottom: 15px;
    }
}

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

.advanced-attachment-dragover {
    border-style: dashed;
    border-width: 1px;
}

#login .loginoption {
    padding: 0px 0px 30px 0px;
}

#login .logindetails {
    box-sizing: border-box;
    border: 1px solid black;
    border-radius: 10px;
    overflow: auto;
}

#login img {
    width: 50px;
    padding-top: 33px;
}

#login .image {
    box-sizing: border-box;
    height: 120px;
    width: 80px;
    border-right: 1px solid grey;
    display: inline-block;
    background-size: 35px auto;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: -5px;
    max-height: 8rem;
    max-width: 6rem;
}

#login .image a {
    display: block;
    height: 100%;
}

#login .text {
    padding-top: 31px;
    box-sizing: border-box;
    padding-left: 5px;
    width: calc(98% - 80px);
    display: inline-block;
    vertical-align: top;
}

#login .text p {
    font-family: "Roboto", Arial, sans-serif;
    margin: 0px;
    font-weight: bold;
}

#login .text p:nth-child(1) {
    color: #871642;
}


/***************************************/
/*  TODO: SUITE-5539 - Integrate into styles above  */
/***************************************/

/******************/
/*     LINKS    */
/******************/

a, a:hover, a:focus {
    color: @customColorAlt;
}

/* BREADCRUMB */
.breadcrumb > li + li:before {
    content: "\f0da";
    font-family: "Font Awesome 6 Pro";
    color: @customColorAlt;
}

.breadcrumb > .breadcrumb-item > a:hover {
    text-decoration: underline;
}

/******************/
/*     BUTTONS    */
/******************/

/* Primary buttons*/

.btn-sq-lg {
    width: 150px !important;
    height: 150px !important;
}

.tile a i {
    padding-top: 25px;
}

.linkIcon {
    color: @customColorMain !important;
}

.tile.background {
    color: @customColorText !important;
    background-color: @customColorMain;
    border-color: fade(@customColorMain, 90%);
}

.tile.background:hover {
    background-color: fade(@customColorMain, 80%);
}

.select2-container {
    width: auto !important;
    .select2-dropdown,
    .select2-dropdown--above {
        box-shadow: none;
        border-color: @baseFontColor;
    }
    .select2-selection--single {
        height: 38px;
        padding-top: 9px;
        .select2-selection__rendered {
            color: lighten(@lightFontColor, 10%) !important;
        }
    }
    .select2-selection--multiple {
        .select2-search--inline .select2-search__field {
            height: 36px
        }
        .select2-selection__choice {
            padding: 2px 6px;
        }
    }
    .select2-results__option {
        font-size: 14px;
    }
    .select2-results__option--highlighted[aria-selected] {
        color: @baseFontColor;
        background: @lightBackgroundColor;
    }
    &.select2-container--focus .select2-selection,
    &.select2-container--open .select2-selection {
        box-shadow: none;
        border-color: @baseFontColor;
    }
    .select2-container--bootstrap.select2-container--disabled {
        .select2-selection,
        .select2-selection--multiple .select2-selection__choice {
            cursor: not-allowed;
            background-color: #eee;
        }
    }
}

.bootstrap-datetimepicker-widget table {
    td.active,
    td.active:hover {
        background-color: @lightestFontColor;
    }
}

.tableLink {
    color: @customColorMain !important;
    text-decoration: underline;
}

.icon::before {
    display: inline-block;
    margin-right: .5em;
    font: normal normal normal 14px/1 "Font Awesome 6 Pro";
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

.icon-l {
    margin-right: 5px;
}
.icon-r {
    margin-left: 5px;
}

#accordion .list-group-item.active {
    background-color: @customColorMain;
    border-color: @customColorMain;
}

/******************/
/*  PROGRESSBAR   */
/******************/

#progressbar .handled,
#progressbar .current {
    background-color: @customColorAlt;
}

/*****************/
/*  BREADCRUMB   */
/*****************/

.breadcrumb > li + li:before {
    content: "\f0da";
    font-family: "Font Awesome 6 Pro";
    color: @customColorAlt;
}

.breadcrumb > .breadcrumb-item > a:hover {
    text-decoration: underline;
}

/**********************/
/*  CHECKBOX + RADIO  */
/**********************/

input[type=radio].magic-radio,
input[type=checkbox].magic-checkbox {
    position: fixed;
    z-index: -50;
    top: -2000px
}

.magic-radio[disabled],
.magic-checkbox[disabled] {
    cursor: not-allowed
}

.input-group-addon>.magic-radio+label,
.input-group-addon>.magic-checkbox+label {
    vertical-align: text-top
}

.input-group-addon>.magic-radio+label:before,
.input-group-addon>.magic-checkbox+label:before {
    left: 0
}

.magic-radio+label,
.magic-checkbox+label {
    cursor: pointer;
    display: inline-block;
    margin: 0;
    min-width: 1.34em;
    padding: 0;
    position: relative;
    vertical-align: middle
}

.magic-radio+label:hover:before,
.magic-checkbox+label:hover:before {
    border-color: @baseFontColor;
    transition: all 0.3s
}

.magic-radio+label:before,
.magic-checkbox+label:before {
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.07);
    content: '';
    display: block;
    height: 17px;
    left: 0;
    position: absolute;
    top: 2px;
    width: 17px;
    transition: all 0.3s
}

.magic-radio+label:after,
.magic-checkbox+label:after {
    content: '';
    display: none;
    position: absolute
}

.magic-radio+label:not(:empty),
.magic-checkbox+label:not(:empty) {
    margin: 0 5px 0 0;
    padding-left: 25px;
}

.magic-checkbox+label {
    min-height: 17px;
    min-width: 17px
}

.btn-group .magic-radio+label,
.btn-group .magic-checkbox+label {
    min-height: 1em;
    vertical-align: baseline
}

.magic-radio[disabled]+label,
.magic-checkbox[disabled]+label {
    cursor: not-allowed;
    opacity: .5
}

.magic-radio[disabled]+label:hover,
.magic-radio[disabled]+label:before,
.magic-radio[disabled]+label:after,
.magic-checkbox[disabled]+label:hover,
.magic-checkbox[disabled]+label:before,
.magic-checkbox[disabled]+label:after {
    cursor: not-allowed
}

.magic-radio[disabled]+label:hover:before,
.magic-checkbox[disabled]+label:hover:before {
    animation-name: none
}

.magic-radio:checked+label:before,
.magic-checkbox:checked+label:before {
    animation-name: none
}

.magic-radio:checked+label:after,
.magic-checkbox:checked+label:after {
    display: block
}

.magic-checkbox+label:before {
    border-radius: 2px
}

.magic-checkbox+label:after {
    border-color: #fff;
    border-style: solid;
    border-width: 0 2px 2px 0;
    box-sizing: border-box;
    height: 13px;
    left: 6px;
    top: 2px;
    transform: rotate(48deg);
    width: 6px
}

.magic-checkbox:focus+label:before {
    transition: all 0.3s
}

.magic-checkbox:checked+label:before {
    background: @baseFontColor;
    border-color: @baseFontColor
}

.magic-radio+label:before {
    border-radius: 50%
}

.magic-radio+label:after {
    background: @baseFontColor;
    border-radius: 50%;
    height: 9px;
    left: 4px;
    top: 6px;
    width: 9px
}

.magic-radio:checked+label:before {
    border: 1px solid #25476a;
}

.fr-box .fr-wrapper {
    border-bottom: none !important;
}
.fr-box .second-toolbar {
    height: 12px;
}
.fr-box [data-cmd="spellChecker"] path {
    fill: #0098f7 !important;
}
ol {
    counter-reset: item;
}
ol > li {
    counter-increment: item;
}
ol ol > li {
    display: block;
}
ol ol > li:before {
    content: counters(item, ".") ". ";
    margin-left: -20px;
}

/*****************/
/*  CUSTOM CSS   */
/*****************/

