﻿/**************************************************************** IMPORTS ****************************************************************/
    @import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
    /* @import url('font-awesome-4.7.0/css/font-awesome.min.css'); */
    @import url('fontawesome-free-6.7.2/css/all.min.css');

/**************************************************************** GENERAL ****************************************************************/
    * {
        --main-background: white;
        --harpo-main-color: #007bff;
        --harpo-pressed-color: #204C94;
        --harpo-main-color-semi: rgba(41, 111, 185, 0.2);
        --vp-main-color: rgb(104, 176, 34);
        --vp-main-color-semi: rgba(121, 173, 62, 0.2);
        --vp-main-color-2: rgb(69, 89, 55);
        --gt-main-color: rgb(217, 101, 45);
        --gt-main-color-semi: rgba(217, 101, 45, 0.2);
        box-sizing: border-box;
        --menu-hover: #fff;
        --category-background: #b9bec7;
    }
    .green {
        color: #28a745;
    }
    .red {
        color: #dc3545;
    }
    .yellow {
        color: #ebb000;
    }
    .blue {
        color: #007bff;
    }
    html, body {
        margin: 0;
        padding: 0;
        background-color: var(--main-background);
    }
    body * {
        transition: .25s;
    }
    main {
        margin-top: 60px;
        padding-top: 1em;
        padding-bottom: 4em;
        flex-grow: 1;
        min-width: auto;
        max-width: 100%;
    }
    body h1 {
        font-size: 2em;
        text-align: center;
        margin: 0;
    }
    body h4 {
        font-size: 1.2em;
    }
    picture {
        display: block;
    }
    .vp hr {
        border-top: 2px solid var(--vp-main-color);
    }
    .gt hr {
        border-top: 2px solid var(--gt-main-color);
    }
    .w100-percent {
        width: 100% !important;
    }
    .no-min-width {
        min-width: unset !important;
    }
    label.control-label {
        margin-bottom: 0.1rem;
    }
    div.form-group {
        margin-bottom: 0.5rem;
    }
    .col-min-width, .col-0 {
        flex-grow: 0;
        width: auto;
    }
    .regular-font-size {
        font-size: 1rem;
    }
    .btn {
        min-width: 5em;
        padding: .375rem 1rem;
    }
    .btn.btn-link {
        min-width: unset;
        padding: 0 0.5em 0 0;
        line-height: 1.2;
    }
    .btn.btn-light {
        background-color: #eee;
    }
    .btn.btn-light:hover {
        border-color: #ddd;
        background-color: #ddd;
    }
    .btn.btn-default {
        border: 1px solid #aaa;
    }
    .btn.btn-default:hover {
        background-color: #f5f5f5;
    }
    .btn.btn-link.linkinput {
        padding: .375rem .75rem;
        border: 1px solid #ced4da;
        width: 100%;
        height: calc(1.5em + .75rem + 2px);
        text-align: left;
        display: block;
        background-color: #e9ecef;
    }
    input[type=file] button {
        background-color: white;
    }
    input[type=radio] {
        vertical-align: middle;
    }
    .min-width {
        width: 1%;
    }
    .flex-box-row-center {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap;
    }
    .logo {
        text-align: center;
    }
    .logo img {
        height: 50px;
        display: block;
        margin: 0 auto;
    }
    .validation-message {
        color: red;
        font-size: 0.9em;
    }
    .spinner-container {
        display: block;
        width: 100%;
    }
    .spinner {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        width: auto;
        margin: 0 auto;
    }
    .spinner-text {
        margin-left: 0.5em;
    }
    .spinner-icon {
        color: var(--harpo-main-color);
        -webkit-animation: fa-spin 1s infinite linear;
        animation: fa-spin 1s infinite linear;
    }
    .form-control[type=checkbox] {
        width: 1.5em;
        height: 1.5em;
        margin-top: 0.4em;
        font-weight: bold;
    }
    .min-width button {
        padding: 0;
    }
    fieldset.scheduler-border {
        border-width: 1px;
        border-style: solid;
        padding: .5em 1em;
        margin: 0 0 1em 0;
        border-radius: .375rem;
        background: #fff;
    }
    fieldset.scheduler-border-top {
        border-width: 1px;
        border-style: solid none none;
        padding: 1.5em 0;
        margin: 0;
    }
    .scheduler-border legend {
        font-size: 1.2em !important;
        text-align: left !important;
        width: inherit;
        padding: 0 15px;
        margin: 0;
        float: none;
        background: #fff;
        border-radius: 50px;
        border: 1px solid;
        border-bottom: 0;
        padding-bottom: 4px;
    }
    fieldset.scheduler-border-top legend {
        margin-left: 1em;
    }
    .row-dialog {
        overflow: hidden;
    }
    .row-dialog.collapsed {
        opacity: 0;
        height: 0;
    }
    .table .height0 {
        border-top-width: 0;
        border-bottom-width: 0;
    }
    div.form-group.thin {
        width: 120px;
    }
    .transport-title {
        color: var(--vp-main-color);
        margin: 0 0 0.2em 2px;
        font-weight: bold;
    }
    .additional-charges {
        background: #7c838e;
        color: #fff;
        padding: 0.2em 0.5em;
        margin: 1em 0;
        font-size: 1.5em;
        white-space: nowrap;
        border-radius: .375rem;
        display: flex;
        justify-content: space-between;
    }
    .additional-charges.total {
        font-weight: bold;
        background-color: #4b5563;
    }
    .additional-charges p {
        margin: 0;
        padding: 0;
    }
    .font09 {
        font-size: 0.9em;
    }
    .pointer {
        cursor: pointer;
    }

    .hover-bg-light:hover {
        background-color: #f8f9fa;
    }

/**************************************************************** CONTAINERS ****************************************************************/
    .app-container {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-start;
        min-height: 100vh;
    }
    .container {
        max-width: 1600px;
        padding-bottom: 50px;
    }
    .container.thin-container {
        max-width: 400px;
    }
    .container.middle-container {
        max-width: 800px;
    }
    .normal-container {
        max-width: 1200px;
        margin: 0 auto;
    }
    .scrolling-container {
        width: 100%;
        overflow: auto;
    }
    .top-buttons-container {
        margin: 1.5em 0 1em 0;
        display: flex;
        flex-direction: row-reverse;
    }
    .top-buttons-container * + * {
        margin-right: 1em;
    }
    .bottom-buttons-container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin-top: 1.5em;
    }
    .bottom-buttons-container > * + * {
        margin-left: 1em;
    }
    .offer-btn .btn {
        margin-bottom: 10px;
    }
    .form-container {
        max-width: 400px;
        margin: 3em auto 0;
        padding: 1em 2em;
        background-color: white;
        border: 1px solid var(--harpo-main-color);
        border-radius: .375rem;
    }
    .border-danger {
        border: 1px solid red;
    }
    .flex-centered {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
    .flex-start {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }
    .flex-end {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
    }

/**************************************************************** ERROR PAGE ****************************************************************/
    #error-container {
        padding : 2em;
    }

/**************************************************************** FILTERS ****************************************************************/
    #filters {
        margin-bottom: 1em;
    }
    #filters .form-group {
        padding: 0.5em 1em;
        margin-bottom: 0;
    }
    #filters .last-col .btn {
        margin-right: 15px;
    }
    #no-data-message {
        text-align: center;
    }
    .form-inline label.control-label {
        margin-bottom: 0;
    }
    .form-inline label+.form-control {
        margin-left: 0.5em;
    }
    .form-inline label+input[type=checkbox] {
        margin-left: 0.5em;
    }
    .editable-select-group {
        position: relative;
    }
    .editable-select-group input {
        width: 100%;
    }
    .editable-select-group ul {
        position: absolute;
        left: 0;
        width: 100%;
        list-style: none;
        margin: 0;
        padding-right: 15px;
        padding-left: 15px;
        z-index: 2;
        cursor: pointer;
    }
    .editable-select-group ul li {
        border: 1px solid #ccc;
        padding: 0.5em 1em;
        margin: 0;
        background-color: white;
        margin-top: -1px;
    }
    .editable-select-group ul li:hover {
        background-color: #eee;
    }
    .editable-select-group i {
        position: absolute;
        top: 11px;
        right: 25px;
        z-index: 1;
    }
    .editable-select-group .fa {
        color: var(--harpo-main-color);
    }
    .editable-select-group .reset {
        cursor: pointer;
    }
    .editable-select-group.with-label i {
        top: 37px;
    }
    #reset-filters-button {
        border: 1px solid var(--bs-border-color);
        background-color: white;
        color: red;
        min-width: auto;
    }
    #reset-filters-button:hover {
        background-color: #f1f1f1;
    }
    @media (max-width: 767px) {
        #filters {
            flex-direction: column;
        }
        #filters .form-group {
            max-width: 100%;
        }
        #reset-filters-button {
            float: right;
        }
    }

/**************************************************************** DIALOG ****************************************************************/
    #dialog-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(128, 128, 128, 0.5);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        z-index: 10;
    }

    #dialog {
        min-width: 400px;
        max-width: 600px;
        padding: 2em;
        border: 1px solid var(--harpo-main-color);
        background-color: white;
        font-size: 1rem;
        z-index: 11;
        border-radius: .375rem;
    }

    #dialog p {
        text-justify: inter-word;
    }

/**************************************************************** TABLE ****************************************************************/
    table.table {
        background-color: white;
        border: 1px solid #dee2e6;
        margin: 0;
    }
    table.table button {
        font-size: 0.9em;
    }
    table.table button.btn-link {
        font-size: 1em;
    }
    table.table th {
        border-bottom-width: 1px;
        background-color: #eee;
        vertical-align: middle;
        white-space: nowrap;
    }
    table.table td {
        vertical-align: middle;
        white-space: nowrap;
    }
    tbody tr {
        border-top: 1px solid #eee;
    }
    tr + tr {
        border-top: 0;
    }
    td {
        border-left: 1px solid #eee;
    }
    td + td {
        border-left: 0;
    }
    table.table td, table.table th {
        padding: 0.25em 0.5em;
    }
    table.table.compact td, table.table.compact th {
        padding: 0.2em 0.4em;
    }
    .row-disabled {
        background-color: #f5f5f5;
        color: #888;
    }

    .dashboard-section table.table tbody tr:hover td {
        background-color: rgba(41, 111, 185, 0.05);
        cursor: pointer;
    }

/**************************************************************** LIST TABLE ****************************************************************/
    .list-table:hover {
        cursor: pointer;
    }
    .vp .list-table th:hover {
        background-color: var(--vp-main-color-semi);
    }
    .gt .list-table th:hover {
        background-color: var(--gt-main-color-semi);
    }
    .list-table tbody tr:hover td {
        background-color: rgba(41, 111, 185, 0.05);
    }
    .list-table th.orderby i {
        display: inline-block;
        vertical-align: middle;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid transparent;
        margin-right: 0.5em;
    }
    .list-table th.orderby.asc i {
        border-bottom: 5px solid black;
    }
    .list-table th.orderby.desc i {
        border-top: 5px solid black;
    }
    .download-table tbody tr:hover {
        background-color: #eee;
        cursor: pointer;
    }
    .btn .caret {
        margin-left: 0.3em;
    }
    #logo {
        margin-bottom: 2em;
    }

/**************************************************************** TABS ****************************************************************/
    .tabs-header {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        background: #ebf4e2;
        border-radius: 0.375em;
    }
    .tab-header {
        margin: 0.25em;
        padding: 0.5em 1.2em;
        cursor: pointer;
        font-size: 1em;
        border-width: 0 0 2px 0;
        border-style: solid;
        border-radius: 0.375em;
        text-align: center;
    }
    .tab-header:hover {
        background-color: #f7f7f7;
    }
    .tab-header.division-border:hover {
        border-color: var(--category-background) !important;
    }
    .tab-header:not(.active) {
        border-color: transparent !important;
    }
    .tab-header.active {
        background-color: white;
    }
    .tab-header p {
        margin-bottom: 0.1em;
    }
    .tabs-body {
        margin-top: -1px;
        padding-top: 1em;
        z-index: 1;
    }
    @media (max-width: 767px) {
        .tabs-header {
            flex-direction: column;
        }
    }

/**************************************************************** DIVISIONS ****************************************************************/
    .divisions-container {
        display: flex;
        flex-direction: row;
        justify-content: center;
        margin: 0 auto;
        padding: 1.5em;
        max-width: 700px;
    }
    .app-division {
        padding: 2em;
        width: 260px;
        height: 120px;
        cursor: pointer;
        background-color: white;
        border-radius: 0.375em;
        box-shadow: 0 4px 5px 0 rgba(50, 50, 50, 0.14), 0 1px 10px 0 rgba(50, 50, 50, 0.12), 0 2px 4px -1px rgba(50, 50, 50, 0.2);
    }
    .divisions-container div + div {
        margin-left: 2em;
    }
    @media (max-width: 767px) {
        .app-division {
            width: auto;
            margin-bottom: 30px;
        }
        .divisions-container {
            flex-direction: column;
        }
        .divisions-container div + div {
            margin: 0;
        }
    }

/**************************************************************** UPPER MENU ****************************************************************/
    .navbar {
        height: 60px;
    }    
    .dropdown-menu li {
        cursor: pointer;
        border-radius: .375rem;
        padding: .5em .5em;
    }
    .dropdown-menu li:hover {
        background: rgb(var(--bs-light-rgb));
    }
    .navbar-brand {
        margin: 0;
    }
    .navbar-brand img {
        max-height: 40px;
        display: block;
    }
    @media (max-width: 767px) {
        .navbar-brand img {
            max-height: 30px;
        }
    }
    #hamburger {
        padding: 0.25em 15px;
        font-size: 1.5em;
    }
    @media (min-width: 1200px) {
        #hamburger {
            display: none;
        }
    }

/**************************************************************** SIDE MENU ****************************************************************/
    #side-menu {
        flex-grow: 0;
        margin-top: 60px;
        width: 200px;
        min-width: 200px;
        height: 100%;
        overflow: hidden;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1040;
    }
    @media screen and (min-width: 1200px) {
        #side-menu {
            display: block;
        }
        .main {
            padding-left: 200px;
        }
    }
    #side-menu-list {
        padding: 0.75em .5em;
        margin: 0;
        list-style-type: none;
        overflow-y: auto;
        height: calc(100vh - 50px);
    }
    .menu-item {
        margin: 0;
        padding: 0.4em .5em;
        cursor: pointer;
        border-radius: .375rem;
        border-width: 0 2px 0 0;
        border-style: solid;
        border-color: #fff;
        z-index: 2;
        position: relative;
    }
    .vp .menu-item:hover {
        border-color: var(--vp-main-color);
        background: var(--vp-main-color-semi);
    }
    .gt .menu-item:hover {
        border-color: var(--gt-main-color);
        background: var(--gt-main-color-semi);
    }
    .menu-item a {
        text-decoration: none !important;
        color: unset !important;
    }
    .divider {
        height: 1px;
        margin: 1.5em 0 1em;
        position: relative;
        background-color: var(--bs-border-color);
    }
    .divider i {
        position: absolute;
        left: 0;
        top: -10px;
        background: #fff;
        width: 30px;
        height: 30px;
        align-content: center;
        text-align: center;
        border-radius: 10px;
        border-top: 2px solid var(--category-background);
        color: var(--category-background);
    }

    .menu-item.disabled, .menu-item.disabled:hover, .menu-item.disabled:focus, .menu-item.disabled:active {
        color: #999;
        pointer-events: none;
    }

    @media (max-width: 1199px) {
        #side-menu {
            transition: .5s;
        }
        #side-menu:not(.show-side) {
            transform: translateX(-200px);
        }
    }

/**************************************************************** DASHBOARD ****************************************************************/
    .dashboard-section {
        margin-bottom: 1.5rem;
        background: #fff;
        padding: 0 1rem 1rem;
        border-radius: .357rem;
        border: 1px solid var(--category-background);
        border-top-width: 0;
    }
    .vp .dashboard-section {
        border-color: var(--vp-main-color);
    }
    .gt .dashboard-section {
        border-color: var(--gt-main-color);
    }

    .dashboard-section-title {
        text-align: center;
        color: #fff;
        font-size: 1.5em;
        margin: 0 -1rem 1rem;
        padding: 0.5em 1.2em;
        background: var(--category-background);
        border-radius: .357rem .357rem 0 0;
    }
    .vp .dashboard-section-title {
        background: var(--vp-main-color);
    }
    .gt .dashboard-section-title {
        background: var(--gt-main-color);
    }

    .dashboard-section-content {
        overflow-x: auto;
    }

/**************************************************************** CATALOGUE ****************************************************************/
    .category-container {
        margin-bottom: 1.5rem;
        background: #fff;
        padding: 0 1em 1em;
        border-radius: .357rem;
        border: 1px solid var(--category-background);
        border-top-width: 0;
    }
    .category-header {
        margin: 0 -1em;
        padding: 0.5em 1.2em;
        background: var(--category-background);
        border-radius: .357rem .357rem 0 0;
    }
    .category-header.has-product {
        background-color: #2c5763;
    }
    .category-header h3 {
        color: #fff;
        font-weight: normal;
        font-size: 1.5em;
        margin-bottom: 0;
    }
    .category-header p {
        color: #fff;
        margin-bottom: 0;
    }
    .category-header button.btn {
        border: solid 1px #fff;
        margin: 0 0 0 0.5em;
        padding: 0.6em 0.9em 0.5em;
        border-radius: 2px;
    }
    .category-header button.btn.btn-primary:hover, .category-header button.btn.btn-primary:active, .category-header button.btn.btn-primary:focus {
        border: solid 1px #fff;
    }
    .category-header button.btn span {
        margin: 0;
        padding: 0;
    }
    .products-container {
        margin: 0.5em 0 0;
        overflow-x: auto;
    }
    .products-container .product-title {
        font-size: 1.25rem;
        margin: 1.5rem 0 1rem;
        text-align: center;
        white-space: normal;
    }
    .products-container h4 {
        color: var(--vp-main-color);
        margin: 0 0 0.2em 2px;
        font-weight: bold;
    }
    .products-container table.table {
        margin-top: 0;
    }
    .products-input-type {
        border: 1px solid var(--vp-main-color);
        border-radius: 100px;
        width: 50%;
        margin: auto;
        margin-bottom: 1em;
    }
    .products-input-type .form-check {
        padding: 0;
        position: relative;
        margin: 0;
    }
    .products-input-type .form-check-input {
        width: 100%;
        position: absolute;
        left: 0;
        height: 100%;
        top: 0;
        margin: 0;
        border-radius: 50px;
        --bs-form-check-bg-image: none !important;
        cursor: pointer;
        border: none;
    }
    .products-input-type .form-check-input:checked {
        background-color: var(--vp-main-color);
    }
    .products-input-type .form-check-label {
        z-index: 9;
        position: relative;
        pointer-events: none;
    }
    .products-input-type .form-check-input:checked + label {
        color: #fff;
    }

    .accessory-container {
        padding: 2em 0;
    }
    .accessory-container + .accessory-container {
        border-top: 1px solid var(--vp-main-color);
    }
    .accessory-container section {
        margin: 0 1px;
    }
    .accessory-title-container {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
    .accessory-title-container h4 {
        margin: 0 0 0 2rem;
        font-size: 1.8em;
        color: var(--vp-main-color-2);
        font-weight: bold;
    }
    .accessory-title-container picture {
        height: 103px;
        width: 103px;
        border: 1px solid #ccc;
        display: flex;
        align-items: center;
    }
    .accessory-title-container img {
        max-height: 100px;
        max-width: 100px;
        overflow: hidden;
    }
    .accessory-tables-container {
        margin-left: 0px;
        padding-left: 0;
        margin-bottom: 0px;
    }
    .accessory-tables-container div {
        overflow-x: auto;
    }
    .accessory-tables-container h5 {
        margin-top: 1em;
        color: var(--vp-main-color);
    }
    .accessory-tables-container .table {
        margin: 0;
    }

/**************************************************************** PROJECTS ****************************************************************/
    .log-card {
        margin-top: 1em;
    }
    .log-card h4 {
        font-size: 1em;
        margin-bottom: 5px;
        color: #666;
    }
    .log-card hr {
        margin: 1em 0;
    }
    .tab-header.button {
        background-color: transparent;
        border: unset;
        padding: 0;
    }
    .plus-button {
        cursor: pointer;
        color: var(--harpo-main-color);
        font-size: 1.5em;
        margin-left: 0.2em;
    }
    .minus-button {
        cursor: pointer;
        color: red;
        font-size: 1.2em;
        margin-left: 0.2em;
        margin-top: 0.2em;
    }


/**************************************************************** OFFERS ****************************************************************/
    .row-centered {
        justify-content: center;
    }
    .card-container {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 5px;
    }
    .card {
        cursor: pointer;
        margin: 10px;
        box-sizing: content-box;
        width: 189px;
        display: inline-block;
    }
    .card:hover {
        background-color: #f5f5f5;
    }
    .card .image-container {
        height: 190px;
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        border-bottom: #ccc 1px solid;
        box-sizing: border-box;
    }
    .card-img-top {
        max-width: 100%;
        max-height: 204px;
        box-sizing: border-box;
    }
    .card-body {
        padding: 0.5em;
    }
    .flex-container {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        flex-wrap: wrap;
    }
    .bordered {
        border: #ccc 1px solid;
    }
    .card-container {
        margin-right: -15px;
        margin-left: -15px;
        width: calc(100% + 30px);
    }
    .product-title-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }
    .accessory-choice-row {
        cursor: pointer;
    }
    .accessory-choice-row:hover {
        background-color: #f5f5f5;
    }
    table.table.transport-table {
        border: 0;
        border-top: 1px solid #888;
    }
    table.table.transport-table > thead > tr, table.table.transport-table > tbody > tr {
        border: 0;
        border-bottom: 1px solid #888;
    }

    table.table.transport-table table.table th, table.table.transport-table table.table td {
        background-color: #fff;
    }
    table.table.transport-table > tbody > tr > td.transport-border-right {
        border-right: 1px solid #ccc;
    }
    table.table.no-border-right {
        border-right: 0;
    }
    table.table .transport-header {
        font-size: 1.2em;
        background-color: #d9d9d9;
    }


    /* MOBILE OFFER BUTTON*/
    @media (max-width: 991px) {
        .offer-btn {
            background: #b9bec7;
            border-radius: .375rem;
            gap: 0 !important;
        }
        .offer-btn .btn {
            background: transparent;
            padding: 10px 15px;
            min-width: 0;
            border: none;
            margin: auto;
            color: var(--bs-btn-bg);
        }
        .offer-btn .dropdown {
            margin: auto;
        }
        .offer-btn .btn:not(.dropdown-item) span {
            display: none;
        }
        .offer-btn .btn i {
            margin: 0 !important;
            font-size: 1.5em;
        }
        .offer-btn .btn-primary {color: #007bff;}
        .offer-btn .btn-seconday {color: #fff;}
        .offer-btn .btn-success {color: #28a745;}
        .offer-btn .btn-danger {color: #dc3545;}


        .offer-btn .dropdown-toggle:after {
            display: none;
        }
        #create-order-button, #see-order-button {
            background: var(--bs-btn-bg);
            color: #fff;
            padding: 4px 6px 6px;
            line-height: 1em;
            font-size: 1em;
        }
        #create-order-button span, #see-order-button span {display: inline;}
        #create-order-button i, #see-order-button i {display: none;}
    } 

/**************************************************************** COLORS ****************************************************************/
    .vp .division-text {
        color: var(--vp-main-color);
    }
    .gt .division-text {
        color: var(--gt-main-color);
    }
    .vp .division-background {
        background-color: var(--vp-main-color);
    }
    .vp .division-background-semi {
        background-color: var(--vp-main-color-semi);
    }
    .gt .division-background {
        background-color: var(--gt-main-color);
    }
    .gt .division-background-semi {
        background-color: var(--gt-main-color-semi);
    }
    .vp .division-border {
        border-color: var(--vp-main-color);
    }
    .gt .division-border {
        border-color: var(--gt-main-color);
    }
    .vp .division-shadow, .vp .division-shadow-hover:hover, .vp-shadow-border:hover {
        box-shadow: 0 4px 5px 0 var(--vp-main-color-semi), 0 1px 10px 0 var(--vp-main-color-semi), 0 2px 4px -1px var(--vp-main-color-semi);
    }
    .gt .division-shadow, .gt .division-shadow-hover:hover, .gt-shadow-border:hover {
        box-shadow: 0 4px 5px 0 var(--gt-main-color-semi), 0 1px 10px 0 var(--gt-main-color-semi), 0 2px 4px -1px var(--gt-main-color-semi);
    }
    .vp .scheduler-border legend {
        color: var(--vp-main-color);
        border-color: var(--vp-main-color);
    }
    .vp fieldset.scheduler-border {
        border-color: var(--vp-main-color);
    }
    .vp fieldset.scheduler-border-top {
        border-color: var(--vp-main-color);
    }
    .gt .scheduler-border legend {
        color: var(--gt-main-color);
        border-color: var(--gt-main-color);
    }
    .gt fieldset.scheduler-border {
        border-color: var(--gt-main-color);
    }
    .gt fieldset.scheduler-border-top {
        border-color: var(--gt-main-color);
    }

    /**************************************************************** BLOCKS ****************************************************************/
    .blocks-tree {
        position: relative;
    }
    .blocks-tree .row {
        transition: .25s;
        margin-left: 0;
        margin-right: 0;
    }
    .blocks-tree .category:not(.child-0) {
        margin-bottom: 0.5em;
        font-weight: bold;
        border-radius: .375rem;
        padding: .25em .5em;
        background: var(--bs-border-color);
        border: 1px solid var(--bs-border-color);
    }
    .blocks-tree .category.child-0 {
        background: transparent !important;
    }
    .blocks-tree .category:hover {
        border-color: var(--category-background);
    }
    .blocks-tree .category.child-1 {
        background: var(--category-background);
    }
    .blocks-tree .category .col, .blocks-tree i {
        cursor: pointer;
    }
    .blocks-tree .row.category .fa-chevron-down {
        transition: .25s;
        margin-left: -5px;
    }
    .blocks-tree .row.category .fa-chevron-down:not(.open) {
        transform: rotate(-90deg);
    }

    .blocks-tree .block {
        margin-bottom: 0.5em;
        border: 1px solid var(--bs-border-color);
        border-radius: .375rem;
        padding: .25em .5em;
        border-left-width: 5px;
        background: #fff;
        border-left-color: var(--harpo-main-color);
    }
    .blocks-tree .block.template {
        border-left-color: var(--vp-main-color);
    }
    .blocks-tree .block:hover {
        border-right-color: var(--category-background);
        border-top-color: var(--category-background);
        border-bottom-color: var(--category-background);
    }
    .blocks-tree .block:before {
        content: "\f1c2";
        font: normal normal normal 14px/1.5 FontAwesome;
        margin-left: 5px;
        color: var(--harpo-main-color);
    }
    .blocks-tree .block.template:before {
        content: "\f25c";
        color: var(--vp-main-color);
    }
    .blocks-tree .block:not(:hover)::before  {
        color: #666 !important;
    }

    .blocks-tree .action-btn .btn-sm {
        padding: 0rem .5em;
    }
    .blocks-tree .row:not(:hover) .action-btn .btn, .blocks-tree .row:not(:hover) .action-btn i {
        color: #212529 !important;
    }

    @media (min-width: 768px) {
        .blocks-tree #filters {
            margin-top: 1em;
            position: absolute;
            width: calc(100% - 150px);
            z-index: 9;
        }
    }

    /**************************************************************** TECH REP ****************************************************************/
    .tech-rep-list table td:last-child, .tech-rep-list table th:last-child {
        text-align: right;
    }

    .addable-blocks {
        position: relative;
        border: 2px solid var(--vp-main-color);
        padding: .5em 1em;
        min-height: 400px;
        border-radius: .375rem;
    }
    .addable-blocks:after {
        content: "\f054";
        font-family: FontAwesome;
        color: var(--vp-main-color);
        position: absolute;
        right: -0.35em;
        top: 50%;
        background: rgb(var(--bs-light-rgb));
        font-size: 2em;
        transform: translateY(-50%);
    }
    @media (max-width: 768px) {
        .addable-blocks:after {
            top: unset;
            bottom: -20px;
            right: 50%;
            transform: translateX(50%);
            content: "\f078";
            padding: 0 10px;
        }
    }
    .addable-blocks .category.child-0 {
        margin-left: 0 !important;
    }
    .addable-blocks .block:hover {
        cursor: pointer;
    }
    .addable-blocks .block:after {
        content: "\f067";
        font-family: FontAwesome;
        opacity: 0;
        transition: .25s;
    }
    .addable-blocks .block:hover:after {
        opacity: 1;
    }
    
    
    .added-blocks .block {
        border: 1px solid var(--category-background);
        margin: 0 0 .5em;
        animation: blockShow .5s;
        padding-top: 5px;
        padding-bottom: 5px;
        border-radius: .375rem;
        background: #fff;
        border-left: 5px solid var(--harpo-main-color);
    }
    @keyframes blockShow {
        0% {opacity: 0; transform: translateY(-10px);}
        100% {opacity: 1; transform: translateY(0px);}
    }

    .added-blocks .block .description {
        display: block;
    }
    .added-blocks .block-action {
        padding: 0;
    }
    .added-blocks .block-action i {
        cursor: pointer;
    }
    .added-blocks .block-action i:hover {
        color: #007bff;
    }

/**************************************************************** BROADCAST BANNER ****************************************************************/
.broadcast-banner {
    position: sticky;
    top: 60px;               /* stessa altezza della navbar */
    z-index: 999;           /* sotto la navbar fixed-top (~1030), sopra il contenuto */
    width: 100%;
    background-color: #ffc107; /* warning */
    color: #212529;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 1rem;
}

/* Desktop: quando il side menu è visibile (200px a sinistra), 
   il banner parte dove inizia il contenuto */
@media (min-width: 1200px) {
    .broadcast-banner {
        margin-left: 200px;           /* sposta a destra di 200px */
        width: calc(100% - 200px);    /* evita di stare sotto il side menu */
    }
}
