﻿
/* Additional Styles for Nanotime Portal*/

/* Body Div Style for Portal */
.portalBodyDiv {
    margin: auto;
    width: 70%;
    height:100%
}

@media only screen and (max-width: 1800px) {
    .portalBodyDiv {
        width: 90%;
    }
}

@media only screen and (min-width: 768px) {
    .mainPinned .portalBodyDiv {
        margin: auto;
        width: calc(70% + 250px);
        max-width:100%;
    }
}

@media only screen and (max-width: 1018px) {
    .portalBodyDiv .col-md-6 {
        width: 100%;
    }
}

/* Layout Modal */
.modal-dialog {
    min-height: calc(100vh - 30%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: auto;
}

/* Menu edit/delete hover */
.menu-hover {
    width: 2rem;
    overflow-x: hidden;
    transition: width 0.5s;
    float: right;
    direction: rtl;
    display: flex;
    justify-content: right;
    background-color:white;
    position:relative;
    z-index:1000;
}

    .menu-hover:hover {
        box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
        padding: 5px;
        background: #f3f3f3;
        top: -5px;
        right: -5px;
    }

    .menu-hover.with-2-elements:hover {
        width: 4rem;
    }

    .menu-hover.with-3-elements:hover {
        width: 5rem;
    }

.menu-hover-right {
    width: 2rem;
    margin-left:0.5rem;
    overflow-x: hidden;
    transition: width 0.5s;
    float: right;
    direction: ltr;
    display: flex;
    justify-content: left;
    background-color: white;
    position: relative;
}

    .menu-hover-right:hover {
        box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
        padding: 5px;
        background: #f3f3f3;
        top: -5px;
        left: -5px;
    }

    .menu-hover-right.with-2-elements:hover {
        width: 4rem;
    }

    .menu-hover-right.with-3-elements:hover {
        width: 5rem;
    }

/* Value needs attention ex. DueDate passed */
.ValueAttention {
    color: red;
}

/* adjust switch for portal */
.input-group .switchSettings {
    margin-right: 0;
}

/* change Color when disabled */
.switchSettings .switch-input:disabled + .switch-label::before {
    background-color: #ff9800;
    opacity:0.6;
    cursor:initial;
}

/* Flex table layout */

/* Style für text "keine Daten vorhanden" bei Tabellen */
.no-data {
    width: 100%;
    text-align: center;
    margin-top: 2rem;
}

.clickable{
    cursor:pointer;
}

/* surround layout with div and this class*/
.boderbox * {
    box-sizing: border-box;
}

.flex-container {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}

    .flex-container.flex-card:nth-child(even) {
        background-color: #F3F3F3;
    }
    .flex-container.flex-footer.flex-card:nth-child(even) {
        background-color: white;
    }

.flex-header {
    border-bottom: 2px solid #dee2e6;
    /*border-top: 1px solid #dee2e6;*/
    font-weight: bold;
}

.flex-container.flex-footer {
    border-top: 2px solid #dee2e6;
    display: flow-root;
}

.flex-footer-header {
    display: none;
}

.footer-row {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.header-inline {
    font-weight: bold;
    display: none;
}

.footer-row .header-footer {
    font-weight: bold;
    text-align: right;
    border-top: none;
}

.footer-row .flex-item-6 {
    border-top: none;
}

.footer-row .flex-item-4 {
    border-top: none;
}

.flex-item-8 {
    padding: 10px;
    flex: 12.5%;
    border-top: 1px solid #dee2e6;
    min-width:152px;
}

.flex-item-6 {
    padding: 10px;
    flex: 16.666%;
    border-top: 1px solid #dee2e6;
    min-width: 152px;
}

.flex-item-4 {
    padding: 10px;
    flex: 25%;
    border-top: 1px solid #dee2e6;
    min-width: 152px;
}

.flex-item-2 {
    padding: 10px;
    flex: 50%;
    border-top: 1px solid #dee2e6;
    min-width: 152px;
}

.flex-item-4.item-4-half {
    flex: 12.5%;
    min-width: 76px;
}

.flex-item-8.item-8-half {
    flex: 6.25%;
    min-width: 76px;
}

.flex-item-img {
    top: 25%;
    position: relative;
}

.flex-item-right {
    text-align: right;
}

.flex-item-left {
    text-align: left;
}

/* Flexlayout for Accordion */
.portalBodyDiv .accordion {
    row-gap: 10px;
    display: grid;
}

.portalBodyDiv .accordion-button {
    box-shadow: none;
    background-color: #f3f3f3;
}

    .portalBodyDiv .accordion-button.license-expired {
        background: repeating-linear-gradient( 135deg, #f3f3f3, #f3f3f3, 5px, white 5px, white 10px);
    }

    .portalBodyDiv .accordion-button:focus {
        box-shadow: none;
        background-color: #f3f3f3;
    }

    .portalBodyDiv .accordion-button:not(.collapsed) {
        color:initial;
    }
        .portalBodyDiv .accordion-button:not(.collapsed)::after {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
        }

.accordion .flex-container {
    text-align: left;
    column-gap: 20px;
    flex-grow: 1;
}

.accordion .flex-container .flex-item {
}

    .accordion .flex-container .accordion-flex-header {
        font-weight: bold;
        text-align: left;
        width: 100%
    }

.accordion .flex-item .accordion-flex-name {
    font-size: smaller;
}

.accordion .flex-item .accordion-flex-value {
    white-space: nowrap
}


.accordion .flex-item.accordion-flex-toolbar {
    margin-right:20px;
}

.accordion-body .flex-container{
    cursor:pointer;
}

.accordion-body.flex-body {
    gap: 10px;
    display: grid;
    margin-left: 10px;
}

.accordion .no-data {
    text-align: left;
    margin-top: 1rem;
}

/* Layout License */
#license-item, .license-item {
    box-shadow: none;
    background-color: #f3f3f3;
    padding: 1rem 1.25rem;
    border-bottom-right-radius: calc(.25rem - 1px);
    border-bottom-left-radius: calc(.25rem - 1px);
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
    border: 1px solid rgba(0,0,0,.125);
    column-gap: 20px;
}
    #license-item .license-header, .license-item .license-header {
        font-weight: bold;
        text-align: left;
        width: 100%
    }


/* Responsive layout - makes a two row-layout instead of a one-row layout */
@media (max-width: 1700px) {
    .flex-container.flex-card:nth-child(even) {
        /*background-color: white;*/
    }

    .flex-container.flex-card.flex-4-col:nth-child(even) {
        background-color: #F3F3F3;
    }

    .flex-container.flex-card .item-bottom,
    .flex-container.flex-header .header-bottom{
        /*background-color: #F3F3F3;*/
    }
    .flex-container.flex-card.flex-footer .item-bottom {
        background-color: white;
    }
    .flex-container.flex-card.flex-4-col .item-bottom,
    .flex-container.flex-header.flex-4-col .header-bottom {
        background-color: inherit;
    }

    .flex-header.header-top {
        border-bottom: none;
    }

    .flex-footer .item-top {
        display: none;
    }

    .flex-header.header-bottom {
        border-top: none;
    }

    /* Platzhalter der nur bei mir als 1700 sichtbar ist*/
    .flex-item-space {
        display:none;
    }

    .flex-item-8 {
        flex: 25%;
    }

        .flex-item-8.item-bottom {
            border-top: none;
        }

    .flex-item-6 {
        flex: 33.33%;
    }

        .flex-item-6.item-bottom {
            border-top: none;
        }

        .flex-item-4.item-bottom {
            border-top: none;
        }
}

/* Responsive layout - makes a card with two column-layout */
@media (max-width: 1000px) {

    .flex-container {
        display: inline-flex; /* dann wird die Card nicht weiter verkleinert als der Inhalt */
    }
        .flex-container.flex-card:nth-child(even) {
            background-color: white;
        }

        .flex-container.flex-card:nth-child(odd) {
            background-color: #fff;
        }

        .flex-container.flex-card .item-bottom, .flex-container.flex-header .header-bottom {
            background-color: white;
        }

        .flex-container.flex-card.flex-4-col .item-bottom {
            background-color: white;
        }

    .flex-header {
        display:none;
    }

    .flex-footer-header {
        display: block;
        font-weight: bold;
    }

    .flex-footer .footer-row .flex-item-6.item-bottom:nth-child(4) {
        display: none;
    }

    .flex-footer .footer-row .flex-item-4.item-bottom:nth-child(2) {
        display: none;
    }

    .header-inline, 
    .header-footer {
        display: flex;
    }

    .flex-item-hide-on-card {
        display: none;
    }

    .flex-item-8, 
    .flex-item-6, 
    .flex-item-4 {
        flex: 50%;
        border-top: none;
        text-align: right;
    }

        .flex-item-8:first-child, .flex-item-8:nth-child(2),
        .flex-item-6:first-child, .flex-item-6:nth-child(2),
        .flex-item-4:first-child, .flex-item-4:nth-child(2) {
            border-top: 1px solid #dee2e6;
        }

        .flex-item-4.item-4-half {
            flex: 25%;
        }

        .flex-item-8.item-8-half {
            flex: 25%;
        }

    .flex-item-img {
        top: 0;
        position: initial;
    }

    .flex-item-right{
    }

    .flex-item-left {
        text-align: right;
    }

    .flex-card {
        box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
        transition: 0.3s;
        margin-bottom: 10px;
    }
    .header-inline:first-child {
        display: none;
    }
    /* card header */
    .item-top:nth-child(2),
    .flex-footer-header {
        flex: 100%;
        text-align: center;
        padding: .5rem 1rem;
        margin-bottom: 0;
        background-color: #f3f3f3;
        border-bottom: 1px solid rgba(0,0,0,.125);
    }
}

/* Responsive layout - makes a card with one column-layout */
@media (max-width: 600px) {

    .portalBodyDiv {
        width: 90%;
    }

    .flex-item-8,
    .flex-item-6,
    .flex-item-4 {
        flex: 100%;
        padding-top: 5px;
        overflow-wrap: anywhere;
    }

        .flex-item-8.header-inline,
        .flex-item-6.header-inline,
        .flex-item-4.header-inline {
            flex: 100%;
            padding-top: 5px;
            padding-bottom: 5px;
        }


        .flex-item-8:first-child, .flex-item-8:nth-child(2),
        .flex-item-6:first-child, .flex-item-6:nth-child(2),
        .flex-item-4:first-child, .flex-item-4:nth-child(2) {
            border-top: none;
        }
}


/* Setting Layout */
.portal-list-container{

}

    .portal-list-container .switchSettings {
        margin-right: 0;
    }

    .portal-list-container.settings h2{
        margin-left:0;
        padding-left:0;
    }

    .portal-list-container.ui.divided.list > .item {
        margin-left: 0;
        padding-left: 0;
    }


/* Change Card-Layout for Licenses */

.card {
    text-align: center;
    width: 260px;
}

    .card > a > img {
        max-width:200px;
    }

/* Change address Layout for Order */

.order-address {
    display: inline-block;
}

/* Change Card-Layout for OrganizationAddress */


.address.col-md-6
{
    height:100%;
}

.card.address {
    text-align: left;
    white-space: nowrap;
    width: auto;
    min-width: 260px;
    max-width: 400px;
}

@media (max-width: 600px) {
    .card.address {
        min-width: 200px;
    }
}

.card-edit {
    margin-left:0.5rem;
}

.card-text {
    overflow-x: hidden;
}

/* Layout Changes Adresse change im titel */

.title-edit {
    margin-left: 1rem;
}
/* diese klassen gibt es nicht mehr in bootstrap 5 müsste umgabaut werden */
.form-control {
    appearance: auto;
}

.form-group {
    margin-bottom: 1rem;
}

.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

    .form-row > .col {
        padding-left: 5px;
        padding-right: 5px;
    }

.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}

    .form-check .form-check-input {
        float: left;
        margin-left: -1.5em;
    }

label {
    margin-bottom: 0.5rem;
}


/* Fix alert Bootrstrap 5 */
.main .alert {
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

.main .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.5rem 1.25rem;
    color: inherit;
}


.main .close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
}

/* Styles Login Provider */

.provider-button {
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color .218s,border-color .218s;
    transition: background-color .218s,border-color .218s;
    -webkit-user-select: none;
    -webkit-appearance: none;
    background-color: #fff;
    background-image: none;
    border: 1px solid #dadce0;
    color: #3c4043;
    cursor: pointer;
    font-family: "Google Sans",arial,sans-serif;
    font-size: 14px;
    height: 40px;
    letter-spacing: 0.25px;
    outline: none;
    overflow: hidden;
    padding: 0 12px;
    position: relative;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
}

.provider-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-direction: row;
    flex-direction: row;
    justify-content: center;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100%;
    position: relative;
    width: 100%;
}

.provider-logo {
    height: 18px;
    margin-right: 8px;
    min-width: 18px;
    width: 18px;
}

.provider-text {
    -webkit-flex-grow: 0;
    flex-grow: 0;
    font-family: "Google Sans",arial,sans-serif;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
    width: 165px;
    text-align: left;
}


/* Help Modal */

#helpModal {
    max-height: calc(100% - 5rem);
}

    #helpModal .modal-dialog {
        height: calc(100% - 5rem);
        max-width: 1000px;
        margin: 2rem auto;
    }

    #helpModal .modal-content {
        height: calc(100% - 2rem);
    }

    #helpModal .modal-header {
        height: 3rem;
        background-color: #2c3e50;
        padding-top: 0.75rem
    }

    #helpModal .modal-body {
        overflow: hidden;
    }

#helpGlobalModal {
    max-height: calc(100% - 5rem);
}

    #helpGlobalModal .modal-dialog {
        height: calc(100% - 5rem);
        max-width: 1000px;
        margin: 2rem auto;
    }

    #helpGlobalModal .modal-content {
        height: calc(100% - 2rem);
    }

    #helpGlobalModal .modal-header {
        height: 3rem;
        background-color: #2c3e50;
        padding-top: 0.75rem
    }

    #helpGlobalModal .modal-body {
        overflow: hidden;
    }

/* Help Modal abgestimmt auf Sichtbarkeit loginPart */
@media (max-width: 640px) {

    #helpModal {
        max-height: 100%;
    }

        #helpModal .modal-dialog {
            height: 100%;
            max-width: 100%;
            margin: 0rem;
        }

        #helpModal .modal-content {
            height: 100%;
            max-height: 100vh;
        }

        #helpModal .modal-header {
            height: 3rem;
            background-color: #2c3e50;
            padding-top: 0.75rem
        }

        #helpModal .modal-body {
            padding: 0rem;
        }

    #helpGlobalModal {
        max-height: 100%;
    }

        #helpGlobalModal .modal-dialog {
            height: 100%;
            max-width: 100%;
            margin: 0rem;
        }

        #helpGlobalModal .modal-content {
            height: 100%;
            max-height: 100vh;
        }

        #helpGlobalModal .modal-header {
            height: 3rem;
            background-color: #2c3e50;
            padding-top: 0.75rem
        }

        #helpGlobalModal .modal-body {
            padding: 0rem;
        }
}

/* manual background like modal */

.manual-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
}

/* Invoice Cancelled */
.IsCancelled {
    background: repeating-linear-gradient( 135deg, #ffcccc, #ffcccc, 5px, white 5px, white 10px)
}


/* Layout Dashboard */

.dashboard-appcard {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    margin-bottom: 10px;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
    text-align: center;
    padding: 10px;
    font-size: smaller;
}

.appcard .row {
    justify-content: space-between;
}

.dashboard-appcard img {
    padding-bottom: 5px;
}

.dashboard-appcard-content-scroll {
    overflow-y: auto;
    max-height: 83px;
    height: 83px;
    text-align: left;
    padding-left: 0px;
    padding-right: 10px;
    font-size: smaller;
    width: 300px;
}

.dashboard-card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    margin-bottom: 10px;
    width: 300px;
    height: calc(100% - 1rem);
    min-height: 220px;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
    text-align: center;
}

.dashbaord-card-body {
    flex: 1 1 auto;
    padding: 1rem 1rem;
    text-align: left;
}

.dashboard-card-header {
    flex: 100%;
    text-align: center;
    padding: .5rem 1rem;
    margin-bottom: 0;
    background-color: #f3f3f3;
    border-bottom: 1px solid rgba(0,0,0,.125);
}

.dashboard-card-titel {
    text-align: left;
    font-weight: bold;
    border-top: 1px solid #dee2e6;
    padding: 10px;
}

.dashboard-card-value {
    text-align: left;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

.dashboard-card-list {
    text-align: left;
}

.dashboard-content {
    overflow-y: auto;
    max-height: 176px;
    height: 100%;
    text-align: left;
    padding: 10px;
    font-size: smaller;
}

.dashboard-content-scroll {
    overflow-y: auto;
    max-height: 176px;
    height: 100%;
    text-align:left;
    padding:10px;
    font-size:smaller;
}

.dashboard-content-row{
    margin-bottom:4px;
}

.dashboard-group {
    border: 1px solid #dee2e6;
    padding: 15px;
    border-radius: .25rem;
    padding-bottom: 6px;
}

.dashboard-group .row>*{
    width:inherit;
}

    .dashboard-group .col {
        flex: inherit;
    }

.dashboard-group-name {
    background: white;
    top: 10px;
    position: relative;
    z-index: 10;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: 10px;
}


/* Bei 380 muss das Dahboard kleiner werden */
@media only screen and (max-width: 380px) {
    .portalBodyDiv {
        width: 99%;
    }

    .dashboard-group {
        padding-left: 5px;
        padding-right: 5px;
    }

        .dashboard-group.organizationCard .row > * {
            width: 100%;
        }

    .dashboard-card {
        width: 100%;
    }

    .dashboard-appcard-content-scroll {
        width:100%;
    }
}