@import url(../../libs/font-awesome/css/font-awesome.css); @import url(../../libs/glyphicons/styles/glyphicons.css); @import "iziToast.min.css"; .modal { min-width: 500px; height: 400px; box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4); z-index: 1000; background-color: #fff; position: absolute; } .modal header { border-bottom: 2px solid #bbbcbc; height: 64px; line-height: 64px; position: relative; box-sizing: content-box; } .modal header button.close { position: absolute; width: 28px; height: 28px; border-radius: 50%; border: none; background-color: #fff; color: #002680; top: calc(30%); right: 14px; font-size: 16px; cursor: pointer; } .modal footer { align-self: flex-end; height: 64px; line-height: 64px; border-top: 2px solid #bbbcbc; } .modal.login, .modal.user-info { width: 600px; height: 560px; top: calc(50% - 280px); left: calc(50% - 300px); } .modal.login header, .modal.user-info header { background-color: #002680; color: #fff; font-family: 'Work Sans', sans-serif; font-weight: 600; font-size: 24px; text-align: left; padding: 0px 23px; } .modal.machine-info { width: 600px; height: 700px; top: calc(50% - 350px); left: calc(50% - 300px); } .modal.machine-info header { background-color: #002680; color: #fff; font-family: 'Work Sans', sans-serif; font-weight: 600; font-size: 24px; text-align: left; padding: 0px 23px; } .modal.machine-info img { display: block; width: 88px; height: 88px; margin: auto; margin-top: 48px; margin-bottom: 40px; } .modal.loader { width: 896px; height: 392px; top: calc(50% - 196px); left: calc(50% - 448px); } .modal.loader header { background-color: #002680; color: #fff; font-family: 'Work Sans', sans-serif; font-weight: 600; font-size: 24px; text-align: left; padding: 0px 23px; } .modal.loader h2 { font-size: 18px; text-align: left; color: #4b4b4b; width: 592px; margin: auto; margin-top: 76px; margin-bottom: 76px; } .modal.loader .progress-line { height: 30px; width: 592px; margin: auto; } .modal.loader .progress-line i { font-size: 25px; margin-right: 15px; display: block; float: left; color: #1791ff; } .modal.loader .progress-line progress { width: 552px; height: 24px; font-size: 14px; float: left; background-color: white; position: relative; } .modal.loader .progress-line progress:after { display: block; content: attr(value) " %"; position: absolute; height: 24px; top: 0; left: 10px; line-height: 24px; color: #fff; font-weight: bold; } .modal.loader .progress-line progress[value]::-webkit-progress-value { color: #fff; background-color: #1791ff; border-radius: 12px; } .modal.loader .progress-line progress[value]::-webkit-progress-bar { background-color: #fff; border-radius: 12px; box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); } .backdrop { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; overflow: hidden; -webkit-backdrop-filter: blur(10px); background-color: rgba(217, 217, 217, 0.5); z-index: 900; } .row { display: flex; width: 100%; flex-direction: row; } .col { display: flex; flex-direction: column; } .relative { position: relative; } .absolute { position: absolute; } .full-height { height: 100%; } .full-width { width: 100%; } .pull-right { float: right; } .pull-left { float: left; } .form-group { display: block; margin-bottom: 33px; } .form-group label { display: block; color: #979797; font-size: 18px; line-height: 1; font-family: 'Work Sans', sans-serif; text-align: left; margin-bottom: 13px; } .form-group input, .form-group select { display: block; border-radius: 2px; border: solid 1px #dfdfdf; height: 48px; line-height: 1.1; font-family: 'Work Sans', sans-serif; color: #4b4b4b; font-size: 18px; background-color: #f8f8f8; margin: 0 0px; padding-right: 0; padding-left: 20px; width: calc(100% - 20px); } .form-group select { padding: 0; width: 100%; } .form-group input.invalid { border-color: #d0021b; } .form-group small.error { text-align: left; display: block; color: #d0021b; font-size: 14px; font-family: 'Work Sans', sans-serif; line-height: 1; padding-left: 16px; margin: 2px 0; } .text-center { text-align: center; } .block { display: block; } .block-center { margin: auto !important; } button:focus { outline: none; } button.btn[disabled] { border-radius: 2px; background-color: #dddddd; background-image: none; box-shadow: none; color: #878787; } button.btn { height: 48px; border-radius: 2px; margin: 0 8px; text-align: center; font-size: 18px; font-weight: bold; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); padding: 0 20px; border: none; background-image: linear-gradient(to bottom, #f1f1f1, #bbbcbc); color: #002680; } button.btn:active { background-image: linear-gradient(to bottom, #bbbcbc, #f1f1f1); } button.btn.btn-success { background-image: linear-gradient(to bottom, #1756ad, #002680); color: white; } button.btn.btn-success:active { background-image: linear-gradient(to bottom, #002680, #1756ad); box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.4); } button.btn.btn-success:hover { background-image: linear-gradient(to bottom, #1756ad, #1756ad); } button.under { width: 208px; height: 45px; object-fit: contain; border-radius: 100px; background-image: linear-gradient(to bottom, #657178, #404040); box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); border: none; display: flex; justify-content: center; align-items: center; } button.under img { max-width: 178px; max-height: 45px; } button.under:active, button.under.pressed { background-image: linear-gradient(to bottom, #404040, #657178); box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.4); } button.square { border-radius: 2px !important; } @font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 400; src: local('Work Sans'), local('WorkSans-Regular'), url(../fonts/WorkSans-Regular.ttf) format('ttf'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; } /* latin-ext */ @font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 500; src: local('Work Sans Medium'), local('WorkSans-Medium'), url(../fonts/WorkSans-Medium.ttf) format('ttf'); } /* latin-ext */ @font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 600; src: local('Work Sans SemiBold'), local('WorkSans-SemiBold'), url(../fonts/WorkSans-SemiBold.ttf) format('ttf'); } /* latin-ext */ @font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 700; src: local('Work Sans Bold'), local('WorkSans-Bold'), url(../fonts/WorkSans-Bold.ttf) format('ttf'); unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; } #app > header { display: flex; flex-direction: row nowrap; align-items: center; height: 80px; width: 100%; position: absolute; z-index: 200; top: 0; right: 0; left: 0; } #app > header button { font-size: 28px; justify-content: center; display: flex; margin: 0 9px; background-color: #ffffff; box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4); border-radius: 22px; border: none; height: 44px; min-width: 44px; cursor: pointer; color: #002680; } #app > header button > img { height: 22px; margin: auto; display: block; } #app > header button > img.h-20 { height: 20px; } #app > header button > img.h-24 { height: 24px; } #app > header button .machine-info small { display: block; text-align: left; margin-left: 5px; font-family: 'Work Sans', sans-serif; font-size: 11px; } #app > header button.red { background-color: #d0021b; color: white; box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4), inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); } #app > header button.blue { background-color: #1791ff; color: white; } #app > header button.dark-blue { background-color: #002680; color: white; } #app > header button.gray { background-color: #4b4b4b; color: white; } #app > header button.profile { width: 44px; background-image: url(../profile.png); background-size: cover; } #app > header.turn-up .user-info time { color: #fff; } #app > header .user-info { display: flex; position: absolute; right: 12px; font-size: 25px; color: #4b4b4b; } #app > header .user-info .window-buttons, #app > header .user-info time { transition: color 200ms ease-in-out; margin-left: 10px; padding: 0 18px; border-left: 2px solid #bbbcbc; display: flex; justify-content: center; align-items: center; } #app > header .user-info .window-buttons i, #app > header .user-info time i { margin-right: 10px; } #app > header .window-buttons { position: relative; padding-right: 8px !important; } #app > header .window-buttons i { margin: auto !important; font-size: 16px; font-weight: normal; } #app > header .window-buttons .close { font-size: 32px; } .ribbon-container { height: 100%; float: left; position: relative; display: flex; flex-flow: row nowrap; background-image: linear-gradient(to bottom, #ffffff, #eeeeee); box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4); border-top-right-radius: 40px; border-bottom-right-radius: 40px; margin-right: 5px; } .ribbon-container .app-ribbon { justify-content: space-between; background-image: linear-gradient(to bottom, #ffffff, #eeeeee); box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4); min-width: 88px; width: 88px; transition: width 200ms ease-in-out; border-top-right-radius: 40px; border-bottom-right-radius: 40px; display: flex; align-items: center; height: 100%; color: #1791ff; } .ribbon-container .app-ribbon .status-icon { margin-left: 16px; margin-right: 8px; display: flex; color: #fff; align-items: center; min-width: 64px; width: 64px; height: 64px; border-radius: 32px; background-color: #1791ff; } .ribbon-container .app-ribbon .status-content { overflow: hidden; display: flex; align-items: center; flex-flow: row; flex-grow: 2; height: 100%; width: 100%; margin: 0px; } .ribbon-container .app-ribbon .status-content .content { display: flex; flex-flow: column; } .ribbon-container .app-ribbon .status-content .content strong { font-size: 20px; font-weight: 800; } .ribbon-container .app-ribbon .status-content .content .processes { display: flex; flex-flow: row; } .ribbon-container .app-ribbon .status-content .content .processes span { font-size: 14px; padding: 0 5px; border: 1px solid #fff; float: left; display: block; margin: 0 3px; } .ribbon-container .app-ribbon .status-icon * { width: 100%; margin: auto; text-align: center; font-size: 32px; } .ribbon-container .service-ribbon { justify-content: space-between; display: flex; align-items: center; color: #d0021b; width: 122px; transition: width 200ms ease-in-out; } .ribbon-container .service-ribbon .service-icon { width: 64px; min-width: 64px; height: 64px; border-radius: 32px; display: flex; align-items: center; background-color: #d0021b; margin: auto; text-align: center; margin-left: 16px; margin-right: 8px; } .ribbon-container .service-ribbon .service-icon img { display: block; margin: auto; } .ribbon-container .service-ribbon .service-content { overflow: hidden; display: flex; align-items: center; flex-flow: row; flex-grow: 2; height: 100%; width: 100%; margin: 0px; } .ribbon-container .service-ribbon .service-content .content { display: flex; flex-flow: column; } .ribbon-container .service-ribbon .service-content .content strong { font-size: 20px; font-weight: 800; } .ribbon-container .service-ribbon .service-content .content span { font-size: 14px; } .ribbon-container .app-ribbon > *, .ribbon-container .service-ribbon > * { margin: 8px; } .ribbon-container .app-ribbon i, .ribbon-container .service-ribbon i { font-size: 32px; cursor: pointer; } .app-ribbon.expander { width: 122px; } .app-ribbon.big, .app-ribbon.expander.big, .service-ribbon.big { width: 496px; } .app-ribbon.working { color: #7ed321; } .app-ribbon.working .status-icon { background-color: #7ed321; } .app-ribbon.working .status-icon i { margin-left: 5px; } .app-ribbon.alarm { background-image: linear-gradient(to bottom, #ff4d63, #a10518); color: #fff; } .app-ribbon.alarm .status-icon { background-color: #fff; color: #d0021b; } .app-ribbon.alarm.big.opened { background-image: linear-gradient(to bottom, #ffffff, #eeeeee); color: #d0021b; } .app-ribbon.alarm.big.opened .status-icon { background-color: #d0021b; color: #fff; } .app-ribbon.alarm.big.opened .processes span { border: 1px solid #878787 !important; color: #4b4b4b; font-weight: 600; } .app-ribbon.warning { background-image: linear-gradient(to bottom, #f6a623, #dc8c09); color: #fff; } .app-ribbon.warning .status-icon { background-color: #fff; color: #f5a623; } .app-ribbon.warning.opened { background-image: linear-gradient(to bottom, #ffffff, #eeeeee); color: #f5a623; } .app-ribbon.warning.opened .status-icon { background-color: #f5a623; color: #fff; } .app-ribbon.warning.opened .processes span { border: 1px solid #878787 !important; color: #4b4b4b; font-weight: 600; } .app-ribbon.open { background-image: linear-gradient(to bottom, #ffffff, #eeeeee) !important; } footer { position: absolute; z-index: 300; bottom: 0; left: 0; right: 0; } footer .machine-area { position: absolute; bottom: 0; right: 0; width: 300px; height: 80px; display: flex; align-items: center; justify-content: center; } footer .container { display: flex; flex-direction: row; align-items: flex-end; background-image: linear-gradient(to bottom, #1791ff, #005e94); box-shadow: 3px 2px 3px 0 rgba(0, 0, 0, 0.4); right: 300px; margin: 0; border-top-right-radius: 40px; border-bottom-right-radius: 40px; line-height: 80px; padding: 0 0 9px 8px; height: 80px; position: absolute; bottom: 0; left: 0; box-sizing: border-box; } footer .container button { cursor: pointer; display: flex; margin-left: 19px; margin-right: 19px; border: none; width: 63px; height: 63px; border-radius: 31.5px; background-image: linear-gradient(to bottom, #cce8f8, #93cbfc); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.7); } footer .container button.main-production { background-image: url(../icons/png/main-production-96x96.png); background-size: cover; } footer .container button.tools-manager { background-image: url(../icons/png/main-tooling-96x96.png); background-size: cover; } footer .container button.report-manager { background-image: url(../icons/png/main-reports-96x96.png); background-size: cover; } footer .container button.alarms-manager { background-image: url(../icons/png/main-alarms-96x96.png); background-size: cover; } footer .container button.maintenance-manager { background-image: url(../icons/png/main-maintenance-96x96.png); background-size: cover; } footer .container button.utilities { background-image: url(../icons/png/utilities-96x96.png); background-size: cover; } footer .container button.scada { background-image: url(../icons/png/scada-96x96.png); background-size: cover; } footer .container button.big { position: relative; height: 82px; width: 82px; border-radius: 41px; } footer .container button.big:after { content: " "; background-color: white; width: 10px; height: 10px; display: block; border-radius: 50%; -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; position: absolute; left: -5px; top: calc(50% - 5px); transform-origin: 46px 5px; } footer .container button.big::before { content: " "; background-color: white; width: 16px; height: 4px; display: block; position: absolute; bottom: -8px; left: calc(42%); border-radius: 13px; } .turn-up .process-info { display: none; } .process-info { background-color: #fff; width: 280px; min-width: 280px; max-width: 280px; height: 64px; overflow: hidden; position: relative; display: flex; justify-content: space-between; margin: 0 9px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); } .process-info .counter { width: 72px; height: 64px; background-color: #e5f1f9; color: black; display: flex; align-items: center; justify-content: center; font-size: 18px; } .process-info .content { display: flex; color: #f5a623; align-items: center; max-width: 140px; width: 140px; overflow: hidden; } .process-info .status { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; font-size: 32px; color: #f5a623; } .process-info .content.running, .process-info .status.running { color: #7ed321; } #alarm-list, #service-list { position: absolute; left: 0; width: 0; height: 0; top: 40px; background-color: #fff; padding: 0 0; transition: width 200ms ease-in-out, height 200ms ease-in-out, padding 200ms ease-in-out; z-index: 150; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5); box-sizing: border-box; } #alarm-list.expanded, #service-list.expanded { width: 494px; padding: 0 24px; } #alarm-list.expanded.opened, #service-list.expanded.opened { padding: 72px 24px 24px 24px; height: calc(100vh - 120px); } #alarm-list.alarm, #service-list.alarm { background-color: #d84b5c; color: #4b4b4b; } #alarm-list.warning, #service-list.warning { background-color: #f3d39d; color: #4b4b4b; } #alarm-list .content, #service-list .content { height: 100%; padding-right: 24px; } #alarm-list .alarm-item, #service-list .alarm-item { width: 100%; background-color: #fff; display: flex; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); border-radius: 2px; flex-flow: row; margin-bottom: 8px; } #alarm-list .alarm-item.warning .content h2, #service-list .alarm-item.warning .content h2, #alarm-list .alarm-item.warning .content .summary, #service-list .alarm-item.warning .content .summary { color: #f5a623; } #alarm-list .alarm-item.alarm .content h2, #service-list .alarm-item.alarm .content h2, #alarm-list .alarm-item.alarm .content .summary, #service-list .alarm-item.alarm .content .summary { color: #d0021b; } #alarm-list .alarm-item .content, #service-list .alarm-item .content { width: 240px; margin: 8px; margin-left: 24px; display: flex; flex-flow: column; justify-content: space-between; align-content: space-between; } #alarm-list .alarm-item .content h2, #service-list .alarm-item .content h2 { font-size: 18px; line-height: 21px; margin: 0; } #alarm-list .alarm-item .content .summary, #service-list .alarm-item .content .summary { font-size: 16px; line-height: 22px; margin: 0; display: flex; flex-flow: row; justify-content: space-between; } #alarm-list .alarm-item .content span, #service-list .alarm-item .content span { font-size: 14px; padding: 0 5px; float: left; display: block; margin: 0 3px; border: 1px solid #878787 !important; color: #4b4b4b; font-weight: 600; } #alarm-list .alarm-item button, #service-list .alarm-item button { cursor: pointer; border-radius: 2px; font-size: 18px; border: 1px solid #ccc; margin: 8px; width: 120px; color: #002680; height: 48px; background-image: linear-gradient(to bottom, #f1f1f1, #bbbcbc); } #alarm-list .alarm-item button:active, #service-list .alarm-item button:active { background-image: linear-gradient(to bottom, #bbbcbc, #f1f1f1); } #service-list { width: 584px; height: 0; padding: 0 24px; } #service-list.expanded { width: 618px; } #service-list.opened { padding: 72px 24px 24px 24px; height: calc(100vh - 120px); } .persona { height: 88px; width: 88px; border-radius: 44px; } .scrollable { overflow-y: scroll; } .scrollable::-webkit-scrollbar { border-radius: 15px; width: 16px; background-color: rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); } .scrollable::-webkit-scrollbar-thumb { border-radius: 20px; width: 8px; background-color: rgba(0, 0, 0, 0.3); box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); } body { font-family: 'Work Sans', sans-serif; background-color: #657178; margin: 0; padding: 0; height: 100vh; width: 100vw; overflow: hidden; } #app { margin: 0; padding: 0; height: 100vh; width: 100vw; position: relative; } #app.blur { filter: blur(10px); } #main-view { position: absolute; top: 0; left: 0; right: 0; bottom: 80px; box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, 0.2); height: calc(100vh - 80px); background-color: #d8d8d8; z-index: 100; transition: 0.5s ease-out; } #main-view .handle { display: none; } #main-view.turn-up, #main-view-handler.turn-up { transform: translateY(calc(-100vh + 84px)); } #main-view-handler { position: absolute; bottom: 80px; left: 0; width: 100vw; box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, 0.4); z-index: 250; transition: 0.5s ease-out; } #main-view-handler .handle { background-color: #d8d8d8; display: block; position: absolute; top: 0; left: calc(50vw - 24px); text-align: center; width: 48px; height: 32px; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, 0.4); font-size: 26px; color: #002680; line-height: 32px; cursor: pointer; } #back-view { position: absolute; top: 0; left: 0; right: 0; bottom: 80px; height: calc(100vh - 80px); z-index: 1; } .tester { margin: auto; width: 60vw; height: 60vh; top: calc(20%); position: absolute; left: calc(20%); background-color: white; padding: 10px; } .tester .row { display: flex; } .tester button { height: 50px; margin: 0 10px; } body { font-family: 'Work Sans', sans-serif; } .iziToast-wrapper-bottomRight, .iziToast-wrapper-bottomLeft { bottom: 80px; } .iziToast-wrapper-topRight, .iziToast-wrapper-topLeft { top: 80px; } .iziToast-capsule { max-height: 0; transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), max-height 1s cubic-bezier(0.25, 0.8, 0.25, 1); } .iziToast-capsule[style*="auto;"] { max-height: 200px; } .iziToast { background-color: #f1f1f1; border-color: #f1f1f1; border-radius: 2px; } .iziToast::after { box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.4); } .iziToast.iziToast-theme-dark { background-color: #4b4b4b; } .iziToast.iziToast-color-orange { background-color: #f5a623; } .iziToast.iziToast-color-red { background-color: #d0021b; } .iziToast > .iziToast-progressbar { background-color: rgba(255, 255, 255, 0.6); }