/* General Styling */

html {
    height: 100%;
}

body {
    font-family: "Segoe UI lighter", Tahoma, sans-serif;
    height: 100vh;
    height: 100%;
    line-height: 1.25;
}

.container-fluid {
    height: 100%;
}

.notSupported {
    text-align: center;
    width: 100%;
}

.notSupported h4 {
    padding: 10px;
}

header {
    padding: .5em;
    color: gray;
    background-color: white;
    font-size: 20px;
    text-align: center;
}

p {
    color: #989898;
}

h4 {
    color: #696969;
}

.legalLine {
    font-size: .5em;
    left: 1em;
    bottom: 1rem;
    height: 1.5em;
    position: absolute;
    text-align: center;
    width: 99%;
}

#helpLink {
    z-index: 10;
}

#help {
    width: 30px;
    position: absolute;
    top: 20px;
    right: 30px;
}

@media (max-width: 1481px) {
    html {
        min-height: 700px;
    }

    .col-4 {
        min-width: 400px;
    }

    .hardwareInfoContainer {
        margin: 0 auto;
        transform: scale(.9);
        margin-top: -10px;
    }

    .brickViewContainer {
        transform: scale(.64);
        margin-top: -80px;
        margin-bottom: 50px;
    }

    .brickView {
        margin-left: 20%;
    }

    #legoEducation {
        width: 150px;
        position: absolute;
        top: 30px;
        left: 30px;
    }
}

@media (min-width: 1482px) {
    html {
        min-height: 920px;
    }

    .col-4 {
        min-width: 445px;
    }

    .hardwareInfoContainer {
        margin: 0 auto;
        transform: none;
    }

    .brickViewContainer {
        transform: scale(.85);
        margin-top: 20px;
        margin-bottom: 170px;
    }

    .brickView {
        margin-left: 28%;
    }

    #legoEducation {
        width: 200px;
        position: absolute;
        top: 25px;
        left: 25px;
    }
}

.hardwareInfoContainer {
    width: 415px;
}

.vertical-center-container {
    min-height: 100%;  /* Fallback for browsers do NOT support vh unit */
    min-height: 100vh; /* These two lines are counted as one :-)       */
    height: 100%;
    display: flex;
    align-items: center;
    min-width: 1217px;
    background-image: url('assets/HWPage_Hardware_Background_Education@2x.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    position: relative;
}

.progressBarContainer {
    height: 25px;
	background-color: white;
    border: 1px solid darkgray;
    padding: 2px;
}

.progressBarFill {
    width: 0%;
    height: 100%;
    background-color: #45A7DE;
}

.firmwareUpdateSuccessBarFill {
    width: 100%;
    height: 100%;
    background-color: #45A7DE;
}

#overlay {
    position: fixed; /* Sit on top of the page content */
    display: none; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0; 
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */
}

.popover {
    padding: 0px;
    min-width: 220px;
    border-radius: .75rem;
}

.popover-header {
    color: #5b5b5b;
    text-align: center;
    font-size: 1.2em;
    font-family: "Segoe UI semilight", Tahoma, sans-serif;
    border-top-left-radius: calc(.75rem - 1px);
    border-top-right-radius: calc(.75rem - 1px);
    border-bottom: 1px solid rgba(0,0,0,.2);
}

.popover-body {
    padding: 0px;
}

.popover-body .list-group-item {
    font-size: 1.1em;
    padding: .5rem .75rem;
    border-radius: 0px;
    color: #696969;
    margin: 0px;
}

.popover-body .list-group-item:last-child {
    border-bottom-left-radius: calc(.75rem - 1px);
    border-bottom-right-radius: calc(.75rem - 1px);
}

.popover-body .list-group-item:hover {
    color: white;
    background-color: #45A7DE;
}

.helperServiceErrorDialogImage {
    width: 44px;
}

.helperServiceErrorDialogText {
    display: inline-block;
    margin-left: .6em;
    margin-bottom: 0px;
    text-align: left;
    color: #696969;
    width: 85%;
}

/* Brick Information Pane */

#availableBricksButton {
    width: 100%;
    height: 50px;
    cursor: pointer;
    margin-top: 15px;
    color: white;
    font-size: 1.5em;
    border: 0px;
    background: url('assets/HWPage_AvailableBricksButtonBackground_NoBricks@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

#noBrickConnectedImage {
    height: 107px;
    width: 97px;
    margin-bottom: 10px;
    margin-left: 15px;
    margin-top: 30%;
}

.hardwareInfo {
    padding: 1.75em;
    background-color: white;
	border: 2px solid lightgray;
    height: 580px;
}

#hardwareInfoDisconnected {
    text-align: center;
}

.hardwareInfoConnectedHeader {
    padding-bottom: 1em;
    border-bottom: 1px solid darkgray;
}

.hardwareInfoConnectedHeader h3 {
    color: #45A7DE;
    float: left;
    width: 70%;
}

#usbIcon {
    margin-right: 1em;
    height: 2.25em;
}

#brickBatteryLevel {
    height: 1.5em;
}

.memoryHeader {
    margin-top: 1em;
}

#memoryUsage {
    margin-top: .75em;
    margin-bottom: 1em;
}

#memoryUsedLegend {
    width: 1.25em;
    height: 1.25em;
    background-color: #45A7DE;
    margin-right: .25em;
}

#memoryUsed {
    margin-right: 2em;
    margin-bottom: 0px;
}

#memoryAvailableLegend {
    width: 1.25em;
    height: 1.25em;
    background-color: white;
    border: 1px solid darkgray;
    margin-right: .25em;
}

#memoryAvailable {
    margin-bottom: 0px;
}

.vertical-center-content {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

#brickFirmwareVersion {
    margin-top: 1.5em;
    margin-bottom: .5em;
}

#firmwareText {
    width: 75%;
    margin-bottom: 0px;
    margin-left: .5em;
}

#updateFirmwareButton {
    width: 100%;
    height: 54px;
    cursor: pointer;
    color: white;
    font-size: 1.5em;
    border: 0px;
    background: url('assets/HWPage_AvailableBricksButtonBackground_NoBricks@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    margin-top: 1em;
}

#disconnectButton {
    width: 100%;
    height: 54px;
    cursor: pointer;
    color: #696969;
    font-size: 1.5em;
    border: 0px;
    background: url('assets/HWPage_AvailableBricksButtonBackground@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    margin-top: 1em;
}

/* Brick View */

.portViewTop {
    width: 160px;
    height: 40px;
    text-align: center;
    position: absolute;
    top: 35px;
    display: inline-block;
    background: url('assets/PortSelectorBackground_NotConfigured@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.portViewConfiguredTop {
    width: 160px;
    height: 130px;
    text-align: center;
    position: absolute;
    top: -55px;
    display: inline-block;
    background: url('assets/PortSelectorBackground_Configured_Action@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding-top: 12px;
}

.portViewA {
    margin-left: -297px;
}

.portViewB {
    margin-left: -12px;
}

.portViewC {
    margin-left: 272px;
}

.portViewD {
    margin-left: 549px;
}

.portViewGearImage {
    height: 22px;
    width: 22px;
    margin-top: 9px;
}

.topWire {
    position: absolute;
    margin-top: 75px;
    height: inherit;
    width: inherit;
    padding: 0px;
}

.wireA {
    margin-left: -219px;
}

.wireB {
    margin-left: 67px;
}

.wireC {
    margin-left: 243px;
}

.wireD {
    margin-left: 290px;
}

.brickViewTopLabels {
    position: absolute;
    top:155px;
    margin-left: 112.5px;
}

.brickViewTopLabelImage {
    height: inherit;
    width: inherit;
    padding: 0px;
    margin-left: 10px;
    margin-right: 10px;
}

.brickViewBottomLabels {
    position: absolute;
    margin-top: 678px;
    margin-left: 115px;
}

.brickViewBottomLabelImage {
    height: inherit;
    width: inherit;
    padding: 0px;
    margin-left: 15px;
    margin-right: 10px;
}

.brickViewTopPorts {
    position: absolute;
    top:190px;
    margin-left: 115px;
}

.brickViewTopPortImage {
    height: inherit;
    width: inherit;
    padding: 0px;
    margin-left: 10px;
    margin-right: 10px;
}

.brickViewBottomPorts {
    position: absolute;
    margin-top: 650px;
    margin-left: 115px;
}

.brickViewBottomPortImage {
    height: inherit;
    width: inherit;
    padding: 0px;
    margin-left: 10px;
    margin-right: 10px;
}

.portViewBottom {
    width: 160px;
    height: 40px;
    text-align: center;
    position: absolute;
    margin-top: 787px;
    display: inline-block;
    background: url('assets/PortSelectorBackground_NotConfigured@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.portViewConfiguredBottom {
    width: 160px;
    height: 130px;
    text-align: center;
    position: absolute;
    margin-top: 787px;
    display: inline-block;
    background: url('assets/PortSelectorBackground_Configured_Sensor@2x.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding-top: 12px;
}

.portView1 {
    margin-left: -291px;
}

.portView2 {
    margin-left: -12px;
}

.portView3 {
    margin-left: 272px;
}

.portView4 {
    margin-left: 560px;
}

.brickImage {
    height: 700px;
}

.bottomWire {
    position: absolute;
    height: inherit;
    width: inherit;
    padding: 0px;
    margin-top: 715px;
}

.wire1 {
    margin-left: -213px;
}

.wire2 {
    margin-left: 67px;
}

.wire3 {
    margin-left: 243px;
}

.wire4 {
    margin-left: 296px;
}

.portImages {
    text-align: left;
    margin-left: 12px;
    margin-top: 16px;
}

.portTypeImage {
    height: 80px;
}

.portModeImage {
    height: 35px;
}

/* UI Dialog */

.ui-dialog-titlebar-close {
    visibility: hidden;
}

.ui-corner-all {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}

.ui-dialog {
    padding: 0px;
}

.ui-dialog-title {
    width: 100% !important;
}

.ui-dialog-titlebar {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    padding: .6em !important;
    text-align: center;
    border: 0px;
    background: none;
    background-color: #E0E0E0;
    color: #696969;
}

.ui-dialog-content {
    padding-left: 3em !important;
    padding-right: 3em !important;
    padding-top: 2em !important;
    padding-bottom: 2em !important;
}

.ui-dialog-buttonpane {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    margin-top: 0px !important;
    padding: 0px !important;
    border: 0px;
}

.ui-dialog-buttonset {
    /*border-top: 1px solid #989898;*/
    float: left !important;
    width: 100%;
}

.ui-dialog-button {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    margin: 0px !important;
    width: 50%;
    background-color: #E0E0E0;
    color: #696969;
    border: 1px solid #989898;
}

.ui-dialog-fullButton {
    width: 100%;
}

.ui-dialog-leftButton {
    border-right: 1px solid #989898;
    border-bottom-right-radius: 0px;
}

.ui-dialog-rightButton {
    border-left: 1px solid #989898;
    border-bottom-left-radius: 0px;
}

/* Firmware Update */

.firmwareUpdateDialogText {
    display: inline-block;
    margin-left: .6em;
    margin-bottom: 0px;
    text-align: left;
}

.firmwareUpdateDialogTextHeader {
    color: #696969;
}

.firmwareUpdateBodyCentered {
    text-align: center;
}

.firmwareUpdateTopContainer {
    margin-bottom: 20px;
}

.firmwareUpdateAvailableDialogImage {
    width: 44px;
}

.firmwareUpdateAvailableDialogText {
    width: 85%;
}

.firmwareUpdateUpdatingDialogImage {
    width: 70px;
}

.firmwareUpdateUpdatingDialogText {
    width: 65%;
}

.firmwareUpdateSuccessDialogImage {
    width: 75px;
}

.firmwareUpdateSuccessDialogText {
    width: 80%;
}

.firmwareUpdateSuccessDialogText p {
    margin-bottom: .5em;
}

.firmwareUpdateSuccessProgressBarContainer {
    margin-top: 20px;
}

.firmwareUpdateErrorDialogImage {
    width: 75px;
}

.firmwareUpdateErrorDialogText {
    width: 80%;
}

.firmwareUpdateErrorDialogText p {
    margin-bottom: .5em;
}

.firmwareUpdateErrorDialogBrickImage {
    width: 450px;
    margin-top: 2em;
    margin-bottom: .5em;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.firmwareUpdateErrorDialogBrickText {
    font-size: .75em;
    width: 30%;
    vertical-align: top;
    padding: 0px;
    margin-left: 0px;
    margin-right: 10px;
}

.versionButton {
    border: 0px;
    border-radius: 0 !important;
    width: 100%;
    height: 50px;
    cursor: pointer;
    margin-top: 1em;
    color: white;
    font-size: 1.5em;
    background: url('assets/HWPage_AvailableBricksButtonBackground_Option@2x.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.versionButton:active {
    background: url('assets/HWPage_AvailableBricksButtonBackground_NoBricks@2x.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.versionButton.active {
    background: url('assets/HWPage_AvailableBricksButtonBackground_NoBricks@2x.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.versionButton.focus {
    box-shadow: none;
}