﻿body {
    /* Hide horizontal scrollbar to prevent Chart.js infinite resize judder */
    /* See: https://github.com/chartjs/Chart.js/issues/2127 */
    overflow-x: hidden;
}

.client-name {
    cursor: pointer;
    text-decoration: none;
}

    .client-name:hover {
        text-decoration: none;
    }

#chart-dialogTitle {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (min-width: 1280px) {
    .chart-div,
    .table-div {
        width: 48%;
        display: inline-block;
        vertical-align: middle;
        position: relative;
    }

    .chart-div {
        margin-right: 3%;
        width: 48%;
        /* height: 100%; */
    }
}

.grid {
    display: grid;
}

@media (max-width: 767px) {
    table .client-name {
        display: inline-block;
        max-width: 35vw;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 320px) {
    table .client-name {
        max-width: 30vw;
    }
}

/* #region welcome panel */
#panel-welcome {
    margin-bottom: 20px;
}

    #panel-welcome > .card-body {
        background-image: url('/images/welcome_panel_bkg.png');
        background-position: 0;
        background-size: auto 100%;
        background-repeat: no-repeat;
    }

        #panel-welcome > .card-body .tour-card-image {
            display: block;
            float: left;
            max-height: 150px;
            max-width: 240px;
            margin: 0 20px 10px 0;
            border: 1px solid #aaa;
            box-shadow: 1px 1px 5px rgba(0,0,0,0.35);
        }

        #panel-welcome > .card-body h4 {
            margin-bottom: .8em;
            font-weight: bold;
        }

@media (max-width: 960px) {
    #panel-welcome > .card-body .tour-card-image {
        float: none;
        margin: 0 auto 20px auto;
        max-width: 100%;
        max-height: 250px;
    }
}
/* #endregion welcome panel */

/* #region .service-card */
.service-card {
    border: 0;
}

    .service-card .card-img {
        width: 100%;
        max-width: 70px;
        filter: invert(40%) sepia(100%) saturate(350%) hue-rotate(160deg);
    }

    .service-card .card-title {
        font-weight: bold;
        margin-bottom: 5px;
        min-height: 47px;
    }

/* #region services card body */
#services-card .card-body {
    box-sizing: content-box;
    overflow-y: hidden;
}

#services-card .card-body.folding {
    transition: height .35s ease;
}
/* #endregion services card body */

/* #region services grid */
    #services-card .card-body .grid {
        grid-template-columns: repeat(10, 1fr);
        grid-column-gap: 1.25rem;
        grid-row-gap: 1.25rem;
        grid-auto-rows: min-content;
    }

        #services-card .card-body .grid:after {
            content: "";
            position: absolute;
            z-index: 1;
            bottom: 35px;
            left: 0;
            pointer-events: none;
            background-image: linear-gradient(to bottom, rgba(255,255,255, 0), rgba(255,255,255, 1) 90%);
            width: 100%;
            height: 50px;
        }

        .theme-dark #services-card .card-body .grid:after {
            background-image: linear-gradient(to bottom, rgba(36,36,38, 0), rgba(36,36,38, 1) 90%);
        }

@media (max-width: 2500px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(8, 1fr);
    }
}

@media (max-width: 1860px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 1340px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 992px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    #services-card .card-body .grid {
        grid-template-columns: repeat(1, 1fr);
    }
}
/* #endregion service grid */

/* #region services fold button */
#services-card button {
}

    #services-card button::before {
        content: "Fewer Services";
        font-weight: bold;
    }

    #services-card button.fold {
    }

        #services-card button.fold::before {
            content: "More Services...";
            font-weight: bold;
        }
/* #endregion services fold button */

/* #endregion .service-card */

/* #region tour */
#tourWizardModal .modal-dialog {
    max-width: 900px;
}

    #tourWizardModal .modal-dialog h6 {
        font-weight: bold;
        margin-bottom: 20px;
        font-size: 1.25em;
    }

    #tourWizardModal .modal-dialog .tour-slide-image {
        border: 1px solid #aaa;
        box-shadow: 2px 2px 6px rgba(0,0,0,0.35);
        margin-bottom: 10px;
        float: left;
        max-width: 450px;
        margin-right: 30px;
    }

@media (max-width: 768px) {
    #tourWizardModal .modal-dialog .tour-slide-image {
        display: block;
        float: none;
        max-width: 100%;
        max-height: 400px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 25px;
    }
}
/* #endregion tour */

/* #region loginErrorModal*/
#loginErrorModal {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

#loginErrorModal .modal-dialog {
    color: #434e65;
    width: 525px;
    max-width: 90%;
}

#loginErrorModal .icon-box {
    color: #fff;
    width: 95px;
    height: 95px;
    display: inline-block;
    border-radius: 50%;
    z-index: 9;
    border: 5px solid #fff;
    font-size: 47.5px;
    text-align: center;
    margin-left: calc(50% - 47.5px);
}

#loginErrorModal .modal-header {
    background: #e85e6c;
    border-bottom: none;
    position: relative;
    margin: -20px -20px 0px -20px;
    text-align: center;
    border-radius: 4px 4px 0 0;
    padding: 35px;
}

#loginErrorModal .modal-content {
    padding: 20px;
    font-size: 16px;
    border-radius: 4px;
    border: none;
}

#loginErrorModal .btn-danger {
    padding: 6px 20px;
}

#loginErrorModal .close {
    position: absolute;
    right: 10px;
    top: 5px;
    color: white;
}

/* #endregion loginErrorModal*/