﻿
/* ======================================================================== */
/* Basic Page Structure                                                     */
/* ======================================================================== */
body {
    background-color: rgb(25, 34, 36);
    background-image: linear-gradient(to bottom, rgb(25, 34, 36) 250px, black);
    color: white;
    font-family: LatoWeb, Arial, sans-serif;
}

h1, h2, h3 {
    font-family: LatoWebLight;
}

h3 {
    font-weight: bolder;
    font-style: italic;
}

p {
    font-family: LatoWeb;
}

.RadioButtonHeading {
    font-family: LatoWebLight;
    display: inline;
    font-weight: bold;
}

.HeaderBar {
    background-color: #2d3d41;
    height: 110px;
    width: 100%;
}

.HeaderImageContainer {
    display: inline-block;
    text-align: center;
    width: 100%;
    height: 100%;
}

/* Allows vertical aligning of the logo as it resizes on smaller screens */
.vert-align {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

#SkycommandLogo {
    width: 400px;
    vertical-align: middle;
}

/* Approx. smaller than a portrait tablet. Forces the logo to the left 
    and to leave enough room for the login/account buttons
*/
@media screen and (max-width: 768px) {
    .HeaderImageContainer {
        text-align: left;
    }

    #SkycommandLogo {
        max-width: calc(100% - 150px);
    }
}

.LoginButtonContainer {
    position: absolute;
    width: 110px;
    top: 17px; /* (110px header bar - 75px height of container) / 2 */
    right: 20px;
}

    .LoginButtonContainer button {
        display: block;
        width: 100%;
    }

/* Login buttons are fixed to the top right of the screen. Once the screen
    goes beyond the size of the 1024px margin, this fixes them to the margin position instead. */
@media screen and (min-width: 1024px) {
    .LoginButtonContainer {
        right: calc(50vw - (1024px /2) + 20px);
    }
}

#CopyrightInfo {
    margin-bottom: 10px;
    font-size: small;
}

.SubheaderBar {
    font-family: LatoWebMedium;
    color: white;
    padding: 0px 20px;
}

    /* "Clearfix" fix as the subheader bar contains only floated elements.
    http://stackoverflow.com/a/1633170
*/
    .SubheaderBar::after {
        content: "";
        display: block;
        clear: both;
    }

.MarginContainer {
    width: 1024px;
    max-width: 100%;
    margin: auto;
}

.MarginContainer80p {
    width: 80%;
    max-width: 100%;
    margin: auto;
}

.MarginContainer90p {
    width: 90%;
    max-width: 100%;
    margin: auto;
}


.PageDescriptionBar {
    padding-bottom: 10px;
}

.MainContent {
    padding: 10px 20px 20px;
    background-color: rgba(0,0,0,0.4);
}

#InnerRangeFooterLogo {
    width: 200px;
    margin: 20px;
}

.SubheaderRight {
    float: right;
}

.SubheaderLeft {
    float: left;
}

.UserWelcomeText {
    padding: 10px 0px;
}

/* Approx. smaller than a portrait tablet. Hides the "Welcome, John Smith" text 
    as it will start to overlap with the page title (if any)
*/
@media screen and (max-width:768px) {
    .HideOnMobile {
        display: none;
    }
}

.FillBackgroundContainer {
    width: 100%;
    top: 279px; /*Header Overhead 160px HDR + */
    bottom: 142px; /*Footer Overhead*/
    min-height: calc(100vh - 252px); /* 100% - (Header of 110px + Footer of 142px) */
    background-color: rgba(0,0,0,0.4);
    overflow: hidden;
}

.hidden {
    display: none;
}

.ValidationErrorBox {
    background-color: #ff7455;
    padding: 5px;
    border-radius: 4px;
    text-align: center;
}

.ProgressGears {
    display: block;
    margin: auto;
    width: 75px;
}

/* ======================================================================== */
/* Login page Styles                                                        */
/* ======================================================================== */
.LoginContainer {
    width: 250px;
    min-height: 300px;
    background-color: rgba(170,170,170,0.8);
    border-radius: 8px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.LoginContainerWrap {
    min-height: 350px; /* Based on the min-height of 300px above. Not perfect, but prevents footer from overlapping on small devices*/
}

@media screen and (max-width:260px) {
    .LoginContainer {
        width: auto;
    }
}

.LoginHeaderText {
    margin: 20px;
    font-size: large;
}

.LoginControlContainer {
    margin: 8px auto 8px auto;
    width: 80%;
    height: 35px;
    /* border-color: blue; */
    /* border-style: solid; */
    box-sizing: border-box;
}

    .LoginControlContainer label {
        background-color: #2A3D41;
        border-radius: 5px 0px 0px 5px;
        height: 100%;
        width: 15%;
        display: block;
        float: left;
        line-height: 200%;
    }

    .LoginControlContainer > input[type="text"],
    .LoginControlContainer > input[type="password"] {
        border-radius: 0px 5px 5px 0px;
        border-width: 0px;
        padding: 6px;
        display: block;
        height: 100%;
        box-sizing: border-box;
        width: 85%;
        float: right;
    }

.LoginSignInButton {
    height: 45px;
    width: 90%;
    background-color: #2A3D41;
    border-radius: 5px;
    border-style: none;
    color: white;
    font-family: LatoWebLight;
    font-size: 17pt;
    margin: 10px;
}

.SignupLink {
    display: block;
    font-family: latoweb;
    font-size: small;
    color: white;
}



/* ======================================================================== */
/* Fixed Height Sticky Footer Implementation                                */
/* ======================================================================== */
html {
    position: relative;
    min-height: 100%;
}

body {
    margin: 0 0 142px; /* equal to footer height */
}

.site-footer {
    height: 142px;
    left: 0;
    bottom: 0;
    position: absolute;
    width: 100%;
    text-align: center;
    background-color: rgb(92, 111, 119);
}



/* ======================================================================== */
/* Menu Bar Structure                                                       */
/* ======================================================================== */
.MenuBar {
    display: table;
    margin: auto;
    width: 100%;
    padding: 0px;
    max-width: 1024px;
    text-align: center;
}

#MenuContainer {
    width: 100%;
    background-color: #2d3d41;
}

.MenuBar li {
    display: table-cell;
    cursor: pointer;
}

.MenuBar > li > a {
    color: white;
    display: block;
    padding: 10px;
    text-decoration: none;
}

.MenuBar > li a:hover,
.MenuBar li.MenuSelected {
    background-color: #192224;
}

@media screen and (min-width:48em) {
    .MenuBar > li > a {
        padding: 10px 8px;
        margin: 0px 2px 2px;
    }

    .MenuBar > li a:hover,
    .MenuBar li.MenuSelected {
        border-radius: 3px 3px 0 0;
    }
}

/* The "responsive" menu button only shown on mobile devices */
.menuIcon {
    display: none;
    font-size: 25px;
    float: right;
    padding: 10px;
}

    .menuIcon > a {
        color: white;
        padding: 10px;
        text-decoration: none;
    }

.ResponsivePageTitle {
    display: none;
    position: absolute;
    padding: 0 10px;
    font-size: 20px;
    max-width: calc(100% - 75px);
}

/* ======================================================================== */
/* Device Navigation Structure                                                       */
/* ======================================================================== */
.DeviceBar {
    display: table;
    width: 100%;
    text-align: center;
}

#DeviceContainer {
    width: 100%;
    padding: 10px 0px 10px 0px; /* seems to be a bug with the way width 100% is working here */
}

.DeviceBar a {
    display: table-cell;
    cursor: pointer;
}

.DeviceBar > a {
    color: white;
    display: inline-table;
    text-decoration: none;
}

    .DeviceBar > a:hover,
    .DeviceBar a.MenuSelected {
        background-color: #192224;
    }

/* The "responsive" menu button only shown on mobile devices */
.deviceIcon {
    display: none;
    font-size: 25px;
    float: right;
    padding: 10px;
}

    .deviceIcon > a {
        color: white;
        padding: 10px;
        text-decoration: none;
    }

/* Approx. smaller than a portrait tablet. Hides the menu bar and replaces it 
    with a menu button that can "expand" to show the menu items
*/
@media screen and (max-width:48em) {
    .menuIcon,
    .ResponsivePageTitle {
        display: inline-block;
    }

        .menuIcon.responsive,
        ul.MenuBar li a {
            background-color: #233033;
        }

    ul.MenuBar li {
        display: none;
    }

    ul.MenuBar.responsive li {
        display: inline;
    }

        ul.MenuBar.responsive li a {
            text-align: left;
        }
}

@media screen and (max-width:48em) {
    .deviceIcon,
    .ResponsivePageTitle {
        display: inline-block;
    }

    .DeviceBar a {
        display: none;
    }

    .DeviceBar.responsive a {
        display: inline-table;
    }
}



/* ======================================================================== */
/* Home Page Styles                                                         */
/* ======================================================================== */
.HomePageImage {
    width: 100%;
    position: relative;
    /* height: 300px; */
    /* background-image: url('/Assets/img/homepage_image.jpg'); */
}

    .HomePageImage img {
        width: 100%;
        display: block;
    }

@keyframes animatedBackground {
    from {
        background-position: right 550px;
    }

    to {
        background-position: right bottom;
    }
}

.HomePageFGImage {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    background-image: url('/Assets/img/skycommand hand.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right bottom;
    animation: animatedBackground 1s ease-in-out;
    -ms-animation: animatedBackground 1s ease-in-out;
    -moz-animation: animatedBackground 1s ease-in-out;
}


/* ======================================================================== */
/* Action Page Styles                                                       */
/* ======================================================================== */
#StatusBackground {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border-width: medium;
    border-color: darkblue;
    border-style: solid;
    background-color: rgba(0,0,255,0.8);
    margin: auto;
}

.GridCommandButton {
    border-style: solid;
    border-radius: 5px;
    margin: 3px;
    color: white;
    font-size: 15px;
}

#EntityName {
    text-transform: uppercase;
    font-size: larger;
    font-weight: bold;
}

#EntityDescription {
}

#EntityStateContainer {
    text-align: center;
}

.ActionPageContainer {
    padding: 10px;
}

.ActionContainer {
    margin: 20px;
}

    .ActionContainer button {
        display: inline-block;
        padding: 6px 12px;
        margin-bottom: 0;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.42857143;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-image: none;
        border: 1px solid transparent;
        border-radius: 4px;
        border-radius: 4px;
        background-color: #2d3d41;
        color: white;
    }

.ControlItemToolbar {
    padding-bottom: 15px;
}

#SelectedDeviceName {
    color: orange;
}

.StatusIcon {
    padding: 0;
    max-width: 50px;
    width: 50px;
    text-align: center;
    font-size: 30px;
}

    .StatusIcon span {
        line-height: 50px;
    }

/* ======================================================================== */
/* Securenet Portal Styles                                                  */
/* ======================================================================== */
.snetFrame {
    width: 100%;
    height: 900px;
}

/* ======================================================================== */
/* Searchable Grid Styles                                                   */
/* ======================================================================== */

.TablePageContainer {
    padding: 10px 20px 20px;
    position: relative;
}

.GridSearchBar {
    display: table;
    width: 100%;
    height: 35px;
}

.GridSearchRow {
    display: table-row;
    height: 100%;
}

.GridSearchRowRight {
    display: table;
    width: 100%;
    text-align: right;
    margin-top: 10px;
}

.left-align-icon {
    display: table-cell;
    width: 45px;
    background-color: #2d3d41;
    border-radius: 6px 0px 0px 6px;
    font-weight: bold;
    font-size: large;
    text-align: center;
    vertical-align: middle;
}

.SearchBarInput {
    display: table-cell;
    width: 100%;
    height: 100%;
    border-width: 0px;
    border-radius: 0px 6px 6px 0px;
    box-sizing: border-box;
    padding: 0px;
    font-size: large;
    padding-left: 10px;
    vertical-align: bottom;
    min-width: 60px;
}

.SearchBarInput_Border {
    display: table-cell;
    width: 100%;
    height: 100%;
    border-radius: 0px 6px 6px 0px;
    box-sizing: border-box;
    padding: 0px;
    font-size: large;
    padding-left: 10px;
    vertical-align: bottom;
    min-width: 60px;
}

.SearchBarActions {
    display: table-cell;
    width: 1px;
}

    .SearchBarActions button {
        min-width: 100px;
        height: 35px;
        border: 0px;
        padding: 0px;
        background-color: #2d3d41;
        color: white;
        border-radius: 4px;
        vertical-align: bottom;
        margin: 0 2px;
    }

.SearchBarActions-Phone {
    margin-top: 3px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    width: auto;
}

    .SearchBarActions-Phone button {
        min-width: 31%;
    }

.SearchBarDropdown {
    display: table-cell;
    padding-left: 5px;
    width: 1px;
}

.DeviceGrid {
    width: 100%;
    border-collapse: collapse;
}

th {
    background-color: #2d3d41;
    font-weight: normal;
    padding: 8px;
    text-align: left;
    color: white;
}

tr {
    border-bottom: 2px solid #2d3d41;
}

td {
    padding: 8px 8px 2px;
}

.RowDeviceInfo {
    text-align: left;
}

.CellLinkInfo {
    text-align: left;
    /*text-decoration: underline;    */
    color: blue;
}

.linkRow {
    cursor: pointer;
}

@media screen and (max-width:768px) {
    .DeviceGrid,
    .IREditGrid {
        font-size: 13px;
    }
}

.CellDeviceStatus {
    width: 80px;
    text-align: center;
    padding: 5px;
}

@media screen and (max-width:1200px) {
    .stackLgDevice:not(.hidden) {
        display: block;
    }

    .IREditGrid td.stackLgDevice {
        overflow-x: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
}

@media screen and (max-width:1024px) {
    .stackMdDevice:not(.hidden) {
        display: block;
    }

    .IREditGrid td.stackMdDevice {
        overflow-x: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
}

@media screen and (max-width:768px) {
    .stackSmDevice:not(.hidden) {
        display: block;
    }

    .IREditGrid td.stackSmDevice {
        overflow-x: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .CellDeviceNotes {
        font-style: italic;
        font-size: small;
    }
}

@media screen and (max-width:370px) {
    .stackXsDevice:not(.hidden) {
        display: block;
    }

    .IREditGrid td.stackXsDevice {
        overflow-x: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
}

@media screen and (max-width:450px) {
    .IREditGrid td.stackSmDevice {
        max-width: 100%;
    }
}

.IREditGrid th.tableSplit,
.IREditGrid td.tableSplit {
    padding: 0;
    width: 0;
    max-width: 0;
}

th.tableOption {
    display: none;
}

td.tableOption {
    display: block;
}

    td.tableOption + td.tableOption {
        padding: 2px 8px;
    }

    td.tableOption:has(+ td:not(.tableOption)) {
        margin-bottom: 1.5em;
    }

.GridDeviceName {
    text-transform: uppercase;
    font-weight: bold;
}

.DeviceGrid tr:hover {
    background: rgb(41, 61, 65) none repeat scroll 0 0;
    color: white;
}

.GridIcon {
    height: 32px;
    width: 32px;
    font-size: 32px;
    text-decoration: none;
}

/*.DeviceGrid .GridIcon {
    color: white;
}*/

/* ======================================================================== */
/* Editable Grid Styles*/
/* ======================================================================== */
.IREditGrid {
    width: 100%;
    border-collapse: collapse;
}

    .IREditGrid thead {
        background-color: #2d3d41;
        font-weight: normal;
        color: white;
    }

    .IREditGrid th {
        padding: 8px;
        text-align: left;
    }

    .IREditGrid a {
        cursor: pointer;
    }

.IREditGridBody input {
    width: 100%;
    box-sizing: content-box;
}


/* ======================================================================== */
/* Input Control Styles                                                     */
/* ======================================================================== */
.RightAlign {
    text-align: right;
}

.EditorPageContainer {
    border-radius: 5px;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1px 18px 38px 18px;
    box-sizing: border-box;
    box-shadow: 2px 2px 10px black;
    color: black;
}

.DiagnosticsPageContainer {
    width: 1024px;
    max-width: 90%;
    margin: auto;
    box-sizing: border-box;
}

.CenteredBox {
    position: relative;
    border-radius: 5px;
    width: 500px;
    max-width: 90%;
    margin: 60px auto;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1px 18px 38px 18px;
    box-sizing: border-box;
    box-shadow: 2px 2px 10px black;
    color: black;
}

.form-item {
    margin: 8px 0 8px 0;
    min-height: 40px;
    overflow: hidden;
}

.form-label {
    float: left;
    width: 30%;
    text-align: right;
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
}

.form-label-40p {
    float: left;
    width: 40%;
    text-align: right;
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
}

.form-label-left {
    float: left;
    width: 30%;
    text-align: left;
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
}

.form-control-container {
    width: 70%;
    display: inline-block;
}

.form-control-container-60p {
    width: 60%;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .form-label {
        float: none;
        text-align: left;
        padding-right: 15px;
        box-sizing: border-box;
        padding-top: 6px;
        display: block;
        width: 100%;
    }

    .form-control-container {
        width: 100%;
        display: inline-block;
        max-width: initial;
    }
}

.form-item input {
    width: 100%;
    border-radius: 5px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    padding: 6px;
    box-sizing: border-box;
}

.form-item select {
    width: 100%;
    border-radius: 5px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    padding: 6px;
    box-sizing: border-box;
}

.form-item input[type="radio"] {
    width: auto;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373;
    font-size: small;
}

.FieldValidationErrorBox {
    color: white;
    background-color: #eb3324;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    font-size: small;
    padding-top: 2px;
}

.FieldValidationGoodBox {
    color: white;
    background-color: #257306;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    font-size: small;
    padding-top: 2px;
}

.PageBannerError {
    color: white;
    background-color: #eb3324;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    padding-top: 2px;
}

.PageBannerWarning {
    color: white;
    background-color: #eb9724;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    padding: 0.5em 1em;
    margin: 10px 20px 0;
}

.RightAlignRelativeContainer {
    position: relative;
    float: right;
}

.EditDeviceProductLogo {
    width: 200px;
    margin-top: 18px;
    max-height: 100px;
}

.InfoContainer {
    /*display: inline-block; Removing this for now - although it looks good on default pages, over time our fields have gotten much wider sometimes and it looks really bad then */
    margin-right: 30px;
    vertical-align: top;
}

    .infoContainer > p {
        margin: 0px;
    }

.deviceControlButton {
    height: 100px;
    width: 100px;
    text-decoration: none;
    padding: 2px;
    margin: 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    Background-color: #2d3d41;
    color: white;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    vertical-align: middle;
}

    .deviceControlButton img {
        height: 60px;
        width: 60px;
    }

    .deviceControlButton i {
        font-size: 60px;
        margin-bottom: 6px;
    }

.deviceControlButton60 {
    height: 100px;
    width: 100px;
    text-decoration: none;
    padding: 2px;
    margin: 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    Background-color: #2d3d41;
    color: white;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    vertical-align: middle;
}

    .deviceControlButton60 i {
        font-size: 60px;
        margin-bottom: 6px;
    }

.OverlayDiv {
    background-color: white;
    opacity: 0.6;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    text-align: center;
    border-radius: 8px;
}

    .OverlayDiv > img {
        position: absolute;
        top: 0;
        bottom: 0;
        display: inline;
    }

.userProfileImg {
    display: inline-block;
    width: 30%;
    min-width: 200px;
}

.image {
    display: inline-block;
    width: 30%;
    min-width: 200px;
    position: relative;
}

    .image > div {
        position: absolute;
        bottom: 5px;
        left: 5%;
    }

        .image > div > i {
            font-size: 30px;
        }

/* ======================================================================== */
/* Enrollment Page custom styles                                            */
/* ======================================================================== */

.AddDeviceImage :hover {
    filter: none;
}

.HorizontalImageTable {
    text-align: center;
}

    .HorizontalImageTable > div {
        width: 130px;
        height: 70px;
        vertical-align: top;
        padding: 20px;
        display: inline-block;
        border-style: solid;
        border-radius: 5px;
        margin-bottom: 5px;
    }

    .HorizontalImageTable > button {
        margin-top: 5px;
        background-color: lightgrey;
        height: 100px;
        width: 200px;
        max-width: 200px;
        max-height: 100px;
    }

    .HorizontalImageTable img {
        max-width: 176px;
        max-height: 88px;
        display: inline-block;
        vertical-align: middle;
    }

    .HorizontalImageTable:after {
        content: "";
        width: 100%;
        display: inline-block;
    }

/* ======================================================================== */
/* Wizard (jquery.steps) style fixup                                        */
/* ======================================================================== */

#AddDeviceWizard > .steps .current a, #AddDeviceWizard > .steps .current a:hover, #AddDeviceWizard > .steps .current a:active,
#AddDeviceWizard > .actions a, #AddDeviceWizard > .actions a:hover, #AddDeviceWizard > .actions a:active {
    background: #2d3d41;
    color: #fff;
}

#AddDeviceWizard > .steps .done a, #AddDeviceWizard > .steps .done a:hover, #AddDeviceWizard > .steps .done a:active {
    background: #A9B9BC;
    color: #fff;
}

.wizard ul {
    display: flex;
    flex-wrap: wrap;
}

.wizard > .steps .error {
    font-size: unset;
}

.wizard > .steps a, .wizard > .steps a:hover, .wizard > .steps a:active {
    margin: 0.25em 0.5em;
}

div.steps ul {
    width: 100%;
}

.wizard .content h2 {
    margin-top: 0px;
}

#AddDeviceSummary {
    padding-left: 40px;
}

#CompleteEnrolment {
    padding-top: 20px;
}

/*Stop the more "specific" selector in the JQuery Library from ruining our global style*/
.wizard > .content > .body input {
    border: 2px solid grey;
}

/*#DeviceTypesPanel :hover {
    filter: drop-shadow(5px 5px 5px #222);
}*/

/* ======================================================================== */
/* Diagnostic Page custom styles                                            */
/* ======================================================================== */

#PathInfoSummary {
    width: 100%;
    display: inline-block;
}

.PathStatus {
    background-color: #2d3d41;
    margin-top: 0px;
    margin: -5px -5px 0px -5px;
    padding: 10px 10px 0px 10px;
    height: 40px;
}

.PathStatusContainer {
    background-color: #2d3d41;
    padding: 5px;
    margin-bottom: 15px;
    color: white;
}

.PathStatusIcon {
    float: right;
    display: inline-block;
    font-size: xx-large;
}

#EthernetStatusFlags input {
    width: initial;
}

#SIMCardSummary {
    width: 70%;
    display: inline-block;
}

.ProgressBar {
    position: relative;
    width: 100%;
    height: 30px;
    background-color: #2d3d41;
    border-style: solid;
    box-sizing: border-box;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}

.ProgressIndicator {
    position: absolute;
    width: 1%;
    height: 100%;
    background-color: green;
}

/* ======================================================================== */
/* Modal Window Styles                                                      */
/* ======================================================================== */


/* The Modal (background) */

.blocker {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal {
    width: 600px;
}

@media screen and (min-width: 768px) {
    .modal {
        background-color: rgba(255, 255, 255, 0.9);
        color: black;
        box-shadow: 2px 2px 10px black;
        padding: 0px;
        max-width: 90%;
        position: fixed;
    }
}

@media screen and (max-width: 767px) {
    .modal {
        background-color: rgba(255, 255, 255, 0.9);
        color: black;
        box-shadow: 2px 2px 10px black;
        padding: 0px;
        max-width: 90%;
        position: fixed;
    }
}

.modal-content {
    padding: 15px 30px;
}

.image-modal {
    background-color: rgba(255, 255, 255, 0.9);
    color: black;
    box-shadow: 2px 2px 10px black;
    padding: 0px;
    position: fixed;
    width: 600px;
    top: 10%;
    left: 20%;
}

.image-Editing {
    padding: 1px 1px;
    /*  height: 600px;*/
    position: fixed;
    top: 10%;
    left: 10%;
}

.image-modal-footer {
    text-align: center;
    bottom: 50px;
}
/* ======================================================================== */
/* Button Styles                                                            */
/* ======================================================================== */
.btn-glyph-r {
    background-color: #2d3d41;
    color: white;
    border-style: solid;
    border-width: 2px;
    font-family: LatoWebMedium;
    margin: 5px;
    text-align: left;
    /*border-radius: 5px;*/
    cursor: pointer;
    height: 30px;
}

    .btn-glyph-r > span {
        float: right;
    }

.btn-container {
    margin-top: 40px;
    text-align: right;
}

.btn {
    display: inline-block;
    padding: 6px 6px;
    margin: 6px 0px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    /*white-space: nowrap; This breaks text wrapping in buttons and doesn't seem to be necessary*/
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    background-color: #2d3d41;
    color: white;
}

    .btn:disabled {
        background-color: #abb1b3
    }

.btn-fullwidth {
    width: 100%;
    font-size: large;
    font-family: LatoWeb;
}

.btn-margin {
    margin-top: 18px;
}

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
}

.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236;
}

.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a;
}

.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.btn-width {
    width: 100px;
}

.btn-width160 {
    width: 160px;
}

/* ======================================================================== */
/* Test Window Shit                                                         */
/* ======================================================================== */

#DevicesPanel {
    display: table;
    width: 100%;
}

.DeviceListPanel {
    display: table-cell;
    border-top: solid transparent 6px;
    border-right: solid transparent 3px;
    width: 33%;
}

.ItemSelectionList {
    width: 100%;
    height: 100%;
}

F #TestWindow {
}


#EntityStatusResults {
    width: 100%;
    height: 200px;
}

#ActionURL {
    display: block;
    width: 100%;
    margin-top: 30px;
}

#ResultsList {
    display: table;
}

    #ResultsList li {
        display: table-row;
    }


.GSMStatus {
    float: right;
}

#ModemStatus {
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
    margin: 0;
}

/* Disable the upload button on the slim plugin, it doesn't work and we use our own submit button*/
.slim-btn-upload {
    visibility: hidden;
}

/* ======================================================================== */
/* Misc                                                                     */
/* ======================================================================== */

.password-status {
    margin-left: 3px;
}

/* ======================================================================== */
/* Stripe                                                                   */
/* ======================================================================== */

.StripeElement {
    box-sizing: border-box;
    height: 40px;
    padding: 10px 12px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
    background-color: white;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}

/* ======================================================================== */
/* Business Tabs                                                            */
/* ======================================================================== */

.tabs {
    width: 100%;
    display: table;
}

@media screen and (max-width: 768px) {
    .tabs {
        width: 100%;
        display: contents;
    }
}

.tab-links {
    margin-bottom: 0;
    padding-left: 0;
}

    .tab-links:after {
        display: table;
        clear: both;
        content: '';
        text-align: center;
    }

    .tab-links li {
        margin: 0 5px;
        float: left;
        list-style: none;
        /*  width:150px;*/
        text-align: center;
    }

    .tab-links a {
        padding: 9px 15px;
        display: inline-block;
        border-radius: 3px 3px 0px 0px;
        background: #2d3d41;
        font-size: 16px;
        color: white;
        transition: all linear 0.15s;
        width: 120px;
    }

        .tab-links a:hover {
            background: rgb(92, 111, 119);
            text-decoration: none;
        }

@media screen and (max-width: 768px) {
    .tab-links li {
        margin: 5px;
        float: none;
    }

    .tab-links a {
        display: block;
        border-radius: 3px;
        width: auto;
    }
}

li.active a, li.active a:hover {
    background: #fff;
    color: #4c4c4c;
}

a:link {
    text-decoration: none;
}
/*----- Content of Tabs -----*/
.tab-content {
    padding: 70px;
    border-radius: 3px;
    box-shadow: -1px 1px 1px rgba(0,0,0,0.15);
    background: #fff;
    color: black;
    padding-top: 20px;
    min-height: calc(100vh - 300px);
}

@media screen and (max-width: 768px) {
    .tab-content {
        padding: 10px;
        border-radius: 3px;
        box-shadow: -1px 1px 1px rgba(0,0,0,0.15);
        background: #fff;
        color: black;
        padding-top: 20px;
        min-height: calc(100vh - 300px);
    }
}

.tab {
    display: none;
}

    .tab.active {
        display: block;
    }

.position-absolute {
    position: absolute;
}

.position-center {
    position: fixed;
    top: 40%;
    left: 40%;
}


.padding-bottom-Signup {
    padding-bottom: 12px;
}

.padding-bottom4 {
    padding-bottom: 4px;
}

.padding-top0 {
    padding-top: 0;
}

.padding-top15 {
    padding-top: 15px;
}

.padding-left30 {
    padding-left: 30px;
}

.padding-left50 {
    padding-left: 50px;
}

.padding-right10 {
    padding-right: 10px;
}

.margin0 {
    margin: 0px;
}

.margin3_0 {
    margin: 3px 0px;
}

.margin-top5 {
    margin-top: 5px;
}

.margin-top8 {
    margin-top: 8px;
}

.margin-top10 {
    margin-top: 10px;
}

.margin-top20 {
    margin-top: 20px;
}

.margin-top30 {
    margin-top: 30px;
}

.margin-top100 {
    margin-top: 100px;
}

.margin-left10p {
    margin-left: 10%;
}

.margin-left30p {
    margin-left: 30%;
}

.margin-left12 {
    margin-left: 12px;
}

.margin-left13 {
    margin-left: 13px;
}

.margin-left14 {
    margin-left: 14px;
}

.margin-left15 {
    margin-left: 15px;
}

.margin-left20 {
    margin-left: 20px;
}

.margin-left100 {
    margin-left: 100px;
}

.margin-left30 {
    margin-left: 30px;
}

.margin-right10 {
    margin-right: 10px;
}

.margin-block-start-home {
    margin-block-start: .1em;
}

.text-align-center {
    text-align: center;
}

.text-align-right {
    text-align: right;
}

.text-align-left {
    text-align: left;
}

.font-size-large {
    font-size: large;
}

.font-size60 {
    font-size: 60px;
}

.font-style-italic {
    font-style: italic;
}

.font-bold {
    font-weight: bold;
}

.label-selectbusiness {
    padding-left: 10px;
    text-align: left;
    padding-top: 10px;
}

.dropdown-selectbusiness {
    width: 90%;
    margin-left: 10px;
}

.display-inline {
    display: inline;
}

.display-table {
    display: inline-block;
}

.display-display {
    display: block;
}

.display-table70p {
    display: inline-block;
    width: 70%;
    text-align: left;
}

.divheight10 {
    height: 10px;
}

.divheight30 {
    height: 30px;
}

.error-margin-bottom {
    margin-bottom: 30px;
}

.height5 {
    height: 5px;
}

.height300 {
    height: 300px;
}

.height90p {
    height: 90%;
}

.min-height20p {
    min-height: 20%;
}

.min-height30p {
    min-height: 30%;
}

.min-height40p {
    min-height: 40%;
}

.min-height800 {
    min-height: 800px;
}

.min-height500 {
    min-height: 500px;
}

.min-width150 {
    min-width: 150px;
}

.min-width300 {
    min-width: 300px;
}

.min-width400 {
    min-width: 400px;
}

.min-width650 {
    min-width: 650px;
}

.width20p {
    width: 20%;
}

.width30p {
    width: 30%;
}

.width50p {
    width: 50%;
}

.width60p {
    width: 60%;
}

.width80p {
    width: 80%;
}

.width90p {
    width: 90%;
}

.width93p {
    width: 93%;
}

.width100p {
    width: 100%;
}

.width10 {
    width: 10px;
}

.width40 {
    width: 40px;
}

.width50 {
    width: 50px;
}

.width60 {
    width: 60px;
}

.width100 {
    width: 100px;
}

.width110 {
    width: 110px;
}

.width120 {
    width: 120px;
}

.width150 {
    width: 150px;
}

.width170 {
    width: 170px;
}

.width180 {
    width: 180px;
}

.width220 {
    width: 220px;
}

.width230 {
    width: 230px;
}

.width600 {
    width: 600px;
}

.width-auto {
    width: auto;
}

.height28 {
    height: 28px;
}

.height25 {
    height: 25px;
}

.left30p {
    left: 30%;
}

.top5 {
    top: 5px;
}

.color-black {
    color: black;
}

.color-red {
    color: red;
}

.background-color-white {
    background-color: white;
}

.card-background-color {
    background-color: rgba(0,0,0,0.4);
}

.styleImage {
    margin-top: 10px;
    border-radius: 10px;
}

.activationEmail[data-value="Verified"] {
    display: none;
}

.btnWidth {
    width: 100px;
}

.dealersignup {
    border-radius: 5px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    padding: 6px;
    box-sizing: border-box;
    width: 100%;
}

.dealersignup-label {
    color: #737373;
    font-size: small;
}

.rowborder {
    border-top: 1px solid;
    border-bottom: none;
}

.table-tr {
    border: none;
    font-style: oblique;
}

.font-weight-bold {
    font-weight: bold;
}

/*Alert*/
.check {
    color: forestgreen;
    font-size: 40px;
}

.error {
    color: brown;
    font-size: 20px;
}

.footer {
    text-align: right;
    margin-right: 10px;
}

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    background-color: darkslategray;
    color: white;
}

/*Dealer Signup*/
.ap-input-icon.ap-icon-pin {
    display: none;
}

/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear,
input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

/* clears the 'X' from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.Monitor-Blue {
    background-color: #006E9F;
}

.Monitor-Green {
    background-color: #0D8F3B;
}

.Monitor-Grey {
    background-color: #555555;
}

.Monitor-Yellow {
    background-color: #ffc466;
}

.Monitor-Red {
    background-color: #dd5252;
}

/*slim.kickstart.js*/
.opacityZero {
    opacity: 0;
}

.imageCanvas {
    width: 600px;
    /* height: 600px;
border: 1px solid black;*/
}

#boxEula {
    width: 98%;
    margin-right: auto;
    margin-top: 20px;
    background-color: white;
    box-shadow: #254C58 1px 0px;
    border: #3C7D91 2px solid;
    padding: 10px 10px 10px 10px;
    overflow-y: scroll;
    max-height: 400px;
}

#SkyCommandEula {
    width: 80%;
    max-height: 80%;
    top: 10%;
    left: 10%;
    overflow: auto;
}

#headerEULA {
    /*  font-size: 18px;
font-weight: bold;*/
    padding: 5px;
    background-color: #2A3D41;
    color: white;
}

.unenrolllink {
    text-decoration: underline;
    color: lightskyblue;
}

.TransferredDevices {
    padding-top: 15px;
    width: 100%;
    padding-top: 10px;
    text-align-last: right;
}

.pinglink {
    text-decoration: underline;
    color: lightskyblue;
}

.SkyGuardLogoText {
    font-size: 23px;
    color: black;
    font-weight: bold;
    font-family: auto;
}

/*inception - control inputs*/
.advancedIcon.btnColumn > i {
    background-color: rgba(255,255,255,.1);
    border: 2px solid white;
    border-radius: 100%;
    box-shadow: 2px 2px black;
    cursor: pointer !important;
}

#InputControlGrid [class^="fa-"], #InputControlGrid [class*=" fa-"] {
    font-size: 25px;
    line-height: 43px;
    min-height: 40px;
    min-width: 40px;
    color: white;
    max-width: 40px;
    max-height: 0px;
    cursor: default;
    text-align: center;
}

#btnIsolate {
    background-color: rgb(0, 110, 159);
    width: 49%;
}

#btnDeIsolate {
    background-color: rgb(13, 143, 59);
    width: 49%;
}

.overflow-auto {
    overflow: auto;
}

.vertical-top {
    vertical-align: top;
}

@media (min-width: 768px) {

    .desktop-hidden {
        display: none;
    }
}

@media (max-width: 767px) {

    .mobile-hidden {
        display: none;
    }
}


select#CategorySelect {
    clip: rect(auto auto auto 42rem);
    width: 43.2rem;
    height: 1.95rem;
    z-index: 101;
    position: absolute;
}
