:root { --accent: #ffbb00; --error: red; --subtleAccent: silver; --quietText: #ffffff; --quietHeader: #828885; --defaultText: #000000; --subtleText: #c0c0c0; --mutedText: #616161; --linkText: #2e2ebb; --boxBackground: #ffffff; --alternativeBackground: #f9f9f9; --sideBackground: #ffffff; --ledAccent: #adadad; --ledBackground: #e9e9e9; --gimbalBackground: #eee; --gimbalCrosshair: var(--subtleAccent); --switcherysecond: #c4c4c4; --pushedButton-background: #c4c4c4; --pushedButton-fontColor: #000000; --hoverButton-background: #ffcc3e; --superSubtleAccent: #CCCCCC; --accentBorder: #ffbb00; } * { margin: 0; padding: 0; border: 0; list-style: none; outline: none; user-select: none; -webkit-user-drag: none; -webkit-app-region: no-drag; } *[draggable="true"] { -webkit-user-drag: element; } html, body { height: 100%; } body { font-family: 'Open Sans', 'Segoe UI', Tahoma, sans-serif; font-size: 12px; color: #303030; background-color: #3d3f3e; margin: 0; padding: 0; overflow: hidden; } ::backdrop { background-image: none; background-color: rgba(1, 1, 1, 0.5); } a { text-decoration: none; color: var(--linkText); font-weight: bold; } a:hover { text-decoration: none; } a.disabled { pointer-events: none; cursor: default; color: #999; } .background_paper { background-size: 100%; background-image: url(../images/paper.png); background-position: center; } .standard_input { padding-left: 3px; height: 20px; line-height: 20px; text-align: left; border-radius: 3px; font-size: 12px; font-weight: normal; border: 1px solid var(--subtleAccent); background: var(--boxBackground); } /* Help-Icon */ .helpicon { float: right; margin-top: 7px; margin-right: 7px; display: block; height: 14px; width: 14px; opacity: 0.2; background-image: url(../images/icons/cf_icon_info_grey.svg); background-size: contain; background-position: center; transition: none; } .helpicon:hover { opacity: 0.9; background-image: url(../images/icons/cf_icon_info_green.svg); transition: none; } .cf_doc_version_bt a { padding: 1px 9px 1px 9px; margin-top: -45px; background-color: var(--accent); border-radius: 3px; border: 1px solid #e8b423; color: #000; float: right; font-weight: bold; font-size: 10px; line-height: 17px; text-shadow: 0 1px rgba(255, 255, 255, 0.25); text-transform: uppercase; letter-spacing: 0.03em; display: block; } .cf_doc_version_bt a:hover { background-color: #fecb3f; transition: all ease 0.2s; } /* documentation button end */ input[type="number"]::-webkit-inner-spin-button { opacity: 1; /* required for chromium 33+ beta */ margin-left: 5px; } .clear-both { clear: both; } .left { float: left; } .right { float: right; } .margin-top { margin-top: 20px; } .margin-bottom { margin-bottom: 20px; } .message-positive { color: var(--accent) !important; } .message-negative { color: var(--error) !important; font-weight: bold !important; } .message-negative-italic { color: var(--error) !important; font-weight: bold !important; font-style: italic; } /** Main wrapper **/ #main-wrapper { padding: 0; height: 100%; } /** Background **/ #background { background: rgba(0, 0, 0, 0.5); position: fixed; z-index: 1500; top: 0; left: 0; right: 0; bottom: 0; display: none; } #side_menu_swipe { display: none; position: fixed; top: 0; left: 0; width: 15px; height: 100%; z-index: 1999; } @media all and (max-width: 575px) { #side_menu_swipe { display: block; } } /** Header **/ .headerbar { height: 115px; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.15)); display: flex; align-items: center; padding: 0 15px; } #menu_btn, #reveal_btn { display: none; width: 24px; height: 24px; font-size: 20px; color: #ffffff; line-height: 24px; text-align: center; } #menu_btn { margin-right: 15px; } #reveal_btn { margin-left: 15px; } #port-picker { display: flex; align-items: center; margin-left: auto; } #portsinput { width: 220px; margin-right: 15px; } #portsinput .dropdown { margin-bottom: 5px; } #auto-connect-and-baud { float: right; } #auto-connect-switch { width: 110px; float: left; margin-top: 4px; margin-left: 5px; margin-right: 20px; } #baudselect { width: 80px; float: right; margin-right: 2px; } #port-picker .auto_connect, .gray { color: var(--subtleAccent); } #firmware-virtual-option { height: 76px; width: 180px; margin-right: 15px; margin-top: 16px; display: none; } #port-override-option { height: 76px; margin-top: 24px; margin-right: 15px; } #port-override-option label { background-color: #2b2b2b; border-radius: 3px; padding: 3px; color: var(--subtleAccent); } #port-override { background-color: rgba(0, 0, 0, 0.1); color: #888888; width: 140px; margin-left: 2px; padding: 1px; border-radius: 3px; height: 15px; font-size: 12px; } #header_btns { display: flex; align-items: center; } .open_firmware_flasher, .connect_controls { position: relative; width: 80px; text-align: center; height: 84px; } .firmware_b, .connect_b { width: 52px; margin: 0 14px; height: 52px; } @media all and (min-width: 1125px) { .open_firmware_flasher, .connect_controls { width: 100px; } .firmware_b, .connect_b { margin: 0 24px; } } .firmware_b a.flash, .connect_b a.connect { background-color: var(--accent); border: 1px solid #dba718; background-repeat: no-repeat; height: 50px; width: 50px; border-radius: 100px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); float: left; transition: none; } .firmware_b a.flash { background-image: url(../images/icons/cf_icon_flasher_white.svg); background-size: 30px; background-position: center 10px; } .connect_b a.connect { background-image: url(../images/icons/cf_icon_usb2_white.svg); background-size: 44px; background-position: center 6px; } .firmware_b a.flash.disabled, .connect_b a.connect.disabled { background-color: #808080; pointer-events: none; cursor: default; } .firmware_b a.flash:hover, .connect_b a.connect:hover { background-color: #ffcc3f; } .firmware_b a.flash.active, .connect_b a.connect.active { background-color: #e60000; border: 1px solid #fe0000; transition: none; } .firmware_b a.flash.active { background-image: url(../images/icons/cf_icon_flasher_white.svg); } .connect_b a.connect.active { background-image: url(../images/icons/cf_icon_usb1_white.svg); } .firmware_b a.flash.active:hover, .connect_b a.connect.active:hover { background-color: #f21212; } .flash_state, .connect_state { color: #fff; font-size: 12px; font-weight: normal; text-shadow: 0 1px rgba(0, 0, 0, 0.25); padding: 0 10px; } .header-wrapper { display: flex; } #sensor-status { margin-right: 10px; line-height: 2px; height: 67px; border-radius: 5px; border: 1px solid #272727; box-shadow: 0 2px 0 rgba(92, 92, 92, 0.5); background-color: #434343; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.55)); } @media all and (min-width: 1125px) { #sensor-status { margin-right: 20px; } } #sensor-status > ul { display: flex; } #sensor-status li { float: left; height: 67px; width: 33px; line-height: 18px; text-align: center; border-top: 1px solid #373737; border-bottom: 1px solid #1a1a1a; border-left: 1px solid #373737; border-right: 1px solid #222222; background-color: #434343; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.45)); padding-left: 5px; padding-right: 5px; text-shadow: 0 1px rgba(0, 0, 0, 1.0); } .gyroicon, .accicon, .magicon, .gpsicon, .baroicon, .sonaricon { background-repeat: no-repeat; height: 30px; margin-top: 3px; width: 100%; padding-top: 40px; color: #4f4f4f; text-align: center; } .gyroicon.active, .accicon.active, .magicon.active, .gpsicon.active, .baroicon.active, .sonaricon.active { color: #818181; } #sensor-status div { white-space: nowrap; overflow: hidden; } .gyroicon { background-image: url(../images/icons/sensor_gyro_off.png); background-size: 43px; background-position: top; } .gyroicon.active { background-image: url(../images/icons/sensor_gyro_on.png); } .accicon { background-image: url(../images/icons/sensor_acc_off.png); background-size: 40px; background-position: -5px 2px; } .accicon.active { background-image: url(../images/icons/sensor_acc_on.png); } .magicon { background-image: url(../images/icons/sensor_mag_off.png); background-size: 42px; background-position: -5px 2px; } .magicon.active { background-image: url(../images/icons/sensor_mag_on.png); } .gpsicon { background-image: url(../images/icons/sensor_sat_off.png); background-size: 42px; background-position: -5px 2px; } .gpsicon.active { background-image: url(../images/icons/sensor_sat_on.png); } .baroicon { background-image: url(../images/icons/sensor_baro_off.png); background-size: 40px; background-position: -5px 2px; } .baroicon.active { background-image: url(../images/icons/sensor_baro_on.png); } .sonaricon { background-image: url(../images/icons/sensor_sonar_off.png); background-size: 41px; background-position: -4px 1px; } .sonaricon.active { background-image: url(../images/icons/sensor_sonar_on.png); } #sensor-status li:last-child { border-right: 0 solid #c0c0c0; border-top-right-radius: 5px; border-bottom-right-radius: 5px; } #sensor-status li:first-child { border-left: 0 solid #c0c0c0; border-top-left-radius: 5px; border-bottom-left-radius: 5px; } #sensor-status .on { background-color: #434343; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.45)); } /* Dataflash element styling*/ #dataflash_wrapper_global { color:white; font-size:10px; width:125px; margin-right: 5px; line-height: 12px; height: 33px; border-radius: 5px; border: 1px solid #272727; box-shadow: 0 1px 0 rgba(92, 92, 92, 0.5); background-color: #434343; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.55)); padding-top:5px; display:none; text-shadow: 0 1px rgba(0, 0, 0, 1.0); } @media all and (min-width: 1125px) { #dataflash_wrapper_global { margin-right: 10px; } } .dataflash-contents_global { margin-top: 18px; border: 1px solid #4A4A4A; background-color: #4A4A4A; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; border-radius: 3px; margin-left: 5px; margin-right: 5px; } .dataflash-free_global { background-color: var(--accent); border-radius: 4px; } .dataflash-contents_global .notsupported_global { display: none; } .dataflash-contents_global li { height: 5px; position: relative; box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.20); border-radius: 2px; } .dataflash-contents_global li div { position: absolute; top: -18px; margin-top: 0; left: 0; right: 0; width:120px; text-align: left; color:silver; } .dataflash-contents_global progress::-webkit-progress-bar { height: 8px; background-color: #eee; } .dataflash-contents progress::-webkit-progress-value { background-color: #bcf; } .noflash_global { display:none; color: #868686; text-align: center; text-shadow: 0 1px rgba(0, 0, 0, 1.0); margin-top:2px; } #expertMode { color: var(--subtleAccent); margin-top: 27px; width:125px; float: right; margin-right: 0; line-height: 12px; } /* Battery element styling*/ #quad-status_wrapper { display:none; color: white; font-size: 10px; min-width: 90px; margin-right: 10px; line-height: 12px; height: 67px; border-radius: 5px; border: 1px solid #272727; box-shadow: 0 1px 0 rgba(92, 92, 92, 0.5); background-color: #434343; background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.55)); text-shadow: 0 1px rgba(0, 0, 0, 1.0); white-space: nowrap; } @media all and (min-width: 1125px) { #quad-status_wrapper { margin-right: 20px; } } .quad-status-contents { display: none; margin-top: 10px; margin-left: 14px; height: 10px; width: 31px; } .quad-status-contents progress::-webkit-progress-bar { height: 12px; background-color: #eee; } .quad-status-contents progress::-webkit-progress-value { background-color: #bcf; } .battery-status { height: 11px; } .battery-status.state-ok { background-color: #59AA29; } .battery-status.state-warning { background-color: var(--error); } .battery-status.state-empty { animation: error-blinker 1s linear infinite; } @keyframes error-blinker { 0% { background-color: transparent; } 50% { background-color: var(--error); } } .battery-icon { background-image: url(../images/icons/cf_icon_bat_grey.svg); background-size: contain; background-position: center; display: inline-block; height: 30px; width: 60px; transition: none; margin-top: 4px; margin-left: -4px; background-repeat: no-repeat; } .armedicon, .failsafeicon, .linkicon { margin-left: 8px; margin-right: 8px; margin-top: 6px; height: 18px; width: 18px; opacity: 0.8; background-size: contain; background-position: center; transition: none; } .armedicon { background-image: url(../images/icons/cf_icon_armed_grey.svg); } .armedicon.active { background-image: url(../images/icons/cf_icon_armed_active.svg); } .failsafeicon { background-image: url(../images/icons/cf_icon_failsafe_grey.svg); } .failsafeicon.active { background-image: url(../images/icons/cf_icon_failsafe_active.svg); } .linkicon { background-image: url(../images/icons/cf_icon_link_grey.svg); } .linkicon.active { background-image: url(../images/icons/cf_icon_link_active.svg); } /** Header (not phones) **/ @media not all and (max-width: 575px) { .visible-on-phone-only { display: none !important; } } /** Header (phones) **/ @media all and (max-width: 575px) { .visible-on-desktop-only { display: none !important; } .headerbar { height: 56px; background: rgba(0, 0, 0, 0.15); flex-wrap: wrap; align-content: flex-start; padding-top: 12px; box-sizing: border-box; transition: all 0.2s; } .headerbar.expand { height: 154px; } .headerbar.expand2 { height: 118px; } #menu_btn, #reveal_btn { display: block; } #menu_btn { order: 1; } #header_btns { margin-left: auto; order: 3; } .open_firmware_flasher, .connect_controls { width: 31px; height: 31px; margin-left: 15px; } .firmware_b, .connect_b { margin: 0; zoom: 0.6; } #port-picker, .header-wrapper, .flash_state, .connect_state { display: none !important; } #reveal_btn { order: 4; } #port-picker { order: 5; justify-content: space-between; margin-top: 15px; transition: all 0.2s; } #port-picker.reveal { display: flex !important; width: 100%; margin-left: 0; } #port-override-option, #portsinput { flex-grow: 1; } #portsinput { margin-right: 0; } #port-override { width: calc(100% - 40px); } .header-wrapper { order: 5; zoom: 62%; justify-content: space-around; } .header-wrapper.reveal { display: flex !important; width: 100%; margin-top: 24px; } #dataflash_wrapper_global, #sensor-status, #quad-status_wrapper { margin-right: 0; } } /** Log **/ #log { background-color: #242424; color: rgba(255, 255, 255, 0.60); line-height: 21px; height: 27px; overflow-y: hidden; transition: all 0.2s; } #log.active { overflow-y: auto; box-shadow: inset 0 0 15px #000000; height: 111px; } #scrollicon { position: fixed; right: 10px; top: 113px; height: 27px; width: 27px; background-repeat: no-repeat; background-image: url(../images/icons/scroll.svg); opacity: 0.0; transition: all ease 0.2s; } #scrollicon.active { height: 88px; margin-top: 13px; margin-right: 20px; width: 88px; opacity: 0.15; } #log .wrapper { padding: 5px 5px 4px 10px; position: relative; bottom: 0; } #log .wrapper > *, #log .wrapper > * > *{ user-select: text; } #log a { font-weight: normal; color: #ffbb00; } #log a:hover { text-decoration: underline; } .logswitch { position: absolute; right: 20px; padding: 2px; z-index: 10; } .logswitch a { color: #656565 !important; transition: all 0.2s; } .logswitch a:hover { color: #959595 !important; text-decoration: none !important; } /** Log (phones) **/ @media all and (max-width: 575px) { #log.active { box-shadow: none; } .logswitch { background-color: #242424; } #scrollicon { display: none; } } /** Tabs & content container **/ #tab-content-container { display: flex; height: calc(100% - 162px); align-items: stretch; } #tab-content-container.logopen { height: calc(100% - 247px); } #tab-content-container, .tab_container, #content { transition: all 0.2s; } .tab_container.logopen, #content { overflow-x: hidden; overflow-y: auto; } /** Tabs & content container (phones) **/ @media all and (max-width: 575px) { #tab-content-container { height: calc(100% - 83px); } #tab-content-container.logopen { height: calc(100% - 167px); } #tab-content-container.header_expanded { height: calc(100% - 181px); } #tab-content-container.header_expanded2 { height: calc(100% - 145px); } #tab-content-container.logopen.header_expanded { height: calc(100% - 265px); } #tab-content-container.logopen.header_expanded2 { height: calc(100% - 229px); } } /** Tabs **/ .tab_container { width: 200px; border-right: 4px solid var(--accent); background-color: #2e2e2e; overflow: auto; } #tabs { font-size: 13px; } .header-wrapper .mode-connected { display: none; } #tabs ul.mode-connected { display: none; } #tabs ul.mode-connected-cli { display: none; } #tabs li { border-bottom: 1px solid rgba(0, 0, 0, 0.30); } #tabs li:first-child { border-top: 0; } #tabs li:last-child { border-bottom: 0; } #tabs li a { font-weight: normal; padding-left: 33px; padding-top: 5px; padding-bottom: 3px; background-color: transparent; color: #999999; height: 23px; display: block; text-shadow: 0 1px rgba(0, 0, 0, 0.45); transition: none; border-top: solid 1px rgba(255, 255, 255, 0.05); /* following is just for a graceful degradation */ text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } #tabs li a:hover { text-decoration: none; background-color: rgba(128, 128, 128, 0.50); color: #fff; } #tabs li.active { color: #fff; transition: none; } #tabs li.active a { background-color: var(--accent); color: #000; transition: none; text-shadow: 0 1px rgba(255, 255, 255, 0.45); } #tabs li.active a:hover { cursor: default; background-color: var(--accent); } .tabicon { background-repeat: no-repeat; background-size: 15px; background-position: 13px 7px; } @media only screen and (max-height: 750px) , only screen and (max-device-height: 750px) { .tab_container { overflow-x: hidden; overflow-y: auto; } } @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { #tabs li a { font-weight: normal; font-size: 12px; padding-left: 60px; padding-top: 6px; padding-bottom: 2px; content: ""; text-shadow: none; transition: none; /* following is just for a graceful degradation */ text-overflow: clip; white-space: nowrap; overflow: hidden; } .tab_container { width: 42px; } } /** Tabs (phones) **/ @media all and (max-width: 575px) { .tab_container { position: fixed; z-index: 2000; top: 0; left: -304px; bottom: 0; width: 300px; transition: all 0.3s; } .tab_container.reveal { left: 0; } } /* Tab-Icons */ .ic_setup { background-image: url(../images/icons/cf_icon_setup_grey.svg); } .ic_setup:hover { background-image: url(../images/icons/cf_icon_setup_white.svg); } li.active .ic_setup { background-image: url(../images/icons/cf_icon_setup_white.svg); } .ic_ports { background-image: url(../images/icons/cf_icon_ports_grey.svg); } .ic_ports:hover { background-image: url(../images/icons/cf_icon_ports_white.svg); } li.active .ic_ports { background-image: url(../images/icons/cf_icon_ports_white.svg); } .ic_config { background-image: url(../images/icons/cf_icon_config_grey.svg); } .ic_config:hover { background-image: url(../images/icons/cf_icon_config_white.svg); } li.active .ic_config { background-image: url(../images/icons/cf_icon_config_white.svg); } .ic_pid { background-image: url(../images/icons/cf_icon_pid_grey.svg); } .ic_pid:hover { background-image: url(../images/icons/cf_icon_pid_white.svg); } li.active .ic_pid { background-image: url(../images/icons/cf_icon_pid_white.svg); } .ic_rx { background-image: url(../images/icons/cf_icon_rx_grey.svg); } .ic_rx:hover { background-image: url(../images/icons/cf_icon_rx_white.svg); } li.active .ic_rx { background-image: url(../images/icons/cf_icon_rx_white.svg); } .ic_modes { background-image: url(../images/icons/cf_icon_modes_grey.svg); } .ic_modes:hover { background-image: url(../images/icons/cf_icon_modes_white.svg); } li.active .ic_modes { background-image: url(../images/icons/cf_icon_modes_white.svg); } .ic_adjust { background-image: url(../images/icons/cf_icon_adjust_grey.svg); } .ic_adjust:hover { background-image: url(../images/icons/cf_icon_adjust_white.svg); } li.active .ic_adjust { background-image: url(../images/icons/cf_icon_adjust_white.svg); } .ic_servo { background-image: url(../images/icons/cf_icon_servo_grey.svg); } .ic_servo:hover { background-image: url(../images/icons/cf_icon_servo_white.svg); } li.active .ic_servo { background-image: url(../images/icons/cf_icon_servo_white.svg); } .ic_gps { background-image: url(../images/icons/cf_icon_gps_grey.svg); } .ic_gps:hover { background-image: url(../images/icons/cf_icon_gps_white.svg); } li.active .ic_gps { background-image: url(../images/icons/cf_icon_gps_white.svg); } .ic_led { background-image: url(../images/icons/cf_icon_led_grey.svg); } .ic_led:hover { background-image: url(../images/icons/cf_icon_led_white.svg); } li.active .ic_led { background-image: url(../images/icons/cf_icon_led_white.svg); } .ic_sensors { background-image: url(../images/icons/cf_icon_sensors_grey.svg); } .ic_sensors:hover { background-image: url(../images/icons/cf_icon_sensors_white.svg); } li.active .ic_sensors { background-image: url(../images/icons/cf_icon_sensors_white.svg); } .ic_log { background-image: url(../images/icons/cf_icon_log_grey.svg); } .ic_log:hover { background-image: url(../images/icons/cf_icon_log_white.svg); } li.active .ic_log { background-image: url(../images/icons/cf_icon_log_white.svg); } .ic_data { background-image: url(../images/icons/cf_icon_data_grey.svg); } .ic_data:hover { background-image: url(../images/icons/cf_icon_data_white.svg); } li.active .ic_data { background-image: url(../images/icons/cf_icon_data_white.svg); } .ic_cli { background-image: url(../images/icons/cf_icon_cli_grey.svg); } .ic_cli:hover { background-image: url(../images/icons/cf_icon_cli_white.svg); } li.active .ic_cli { background-image: url(../images/icons/cf_icon_cli_white.svg); } .ic_motor { background-image: url(../images/icons/cf_icon_motor_grey.svg); } .ic_motor:hover { background-image: url(../images/icons/cf_icon_motor_white.svg); } li.active .ic_motor { background-image: url(../images/icons/cf_icon_motor_white.svg); } .ic_welcome { background-image: url(../images/icons/cf_icon_welcome_grey.svg); } .ic_welcome:hover { background-image: url(../images/icons/cf_icon_welcome_white.svg); } li.active .ic_welcome { background-image: url(../images/icons/cf_icon_welcome_white.svg); } .ic_help { background-image: url(../images/icons/cf_icon_help_grey.svg); } .ic_help:hover { background-image: url(../images/icons/cf_icon_help_white.svg); } li.active .ic_help { background-image: url(../images/icons/cf_icon_help_white.svg); } .ic_flasher { background-image: url(../images/icons/cf_icon_flasher_grey.svg); } .ic_flasher:hover { background-image: url(../images/icons/cf_icon_flasher_white.svg); } li.active .ic_flasher { background-image: url(../images/icons/cf_icon_flasher_white.svg); } .ic_transponder { background-image: url(../images/icons/cf_icon_transponder_grey.svg); background-position-y: 2px; } .ic_transponder:hover { background-image: url(../images/icons/cf_icon_transponder_white.svg); } li.active .ic_transponder { background-image: url(../images/icons/cf_icon_transponder_white.svg); } .ic_osd { background-image: url(../images/icons/icon_osd.svg); background-position-y: 4px; } .ic_osd:hover, li.active .ic_osd { background-image: url(../images/icons/icon_osd_white.svg); } .ic_vtx { background-image: url(../images/icons/cf_icon_vtx_grey.svg); } .ic_vtx:hover, li.active .ic_vtx { background-image: url(../images/icons/cf_icon_vtx_white.svg); } .ic_power { background-image: url(../images/icons/cf_icon_power_grey.svg); background-position-y: 9px; } .ic_power:hover { background-image: url(../images/icons/cf_icon_power_white.svg); } li.active .ic_power { background-image: url(../images/icons/cf_icon_power_white.svg); } /* SPARE Tab-Icons */ .ic_failsafe { background-image: url(../images/icons/cf_icon_failsafe_grey.svg); } .ic_failsafe:hover { background-image: url(../images/icons/cf_icon_failsafe_white.svg); } li.active .ic_failsafe { background-image: url(../images/icons/cf_icon_failsafe_white.svg); } .ic_backup { background-image: url(../images/icons/cf_icon_backup_grey.svg); } .ic_backup:hover { background-image: url(../images/icons/cf_icon_backup_white.svg); } li.active .ic_backup { background-image: url(../images/icons/cf_icon_backup_white.svg); } .ic_wizzard { background-image: url(../images/icons/cf_icon_wizard_grey.svg); } .ic_wizzard:hover { background-image: url(../images/icons/cf_icon_wizard_white.svg); } li.active .ic_wizard { background-image: url(../images/icons/cf_icon_wizard_white.svg); } .ic_advanced { background-image: url(../images/icons/cf_icon_advanced_grey.svg); } .ic_advanced:hover { background-image: url(../images/icons/cf_icon_advanced_white.svg); } li.active .ic_advanced { background-image: url(../images/icons/cf_icon_advanced_white.svg); } .ic_mission { background-image: url(../images/icons/cf_icon_mission_grey.svg); } .ic_mission:hover { background-image: url(../images/icons/cf_icon_mission_white.svg); } li.active .ic_mission { background-image: url(../images/icons/cf_icon_mission_white.svg); } /** Content **/ #content { background-color: white; -webkit-transform: rotateX(0deg); /* DO NOT REMOVE! this fixes the UI freezing bug on MAC OS X */ width: calc(100% - 202px); } @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { #content { width: calc(100% - 42px); } } /** Content (phones) **/ @media all and (max-width: 575px) { #content { width: 100%; } } #cache { display: none; } .data-loading { width: 100%; height: 100%; background-image: url(../images/loading-spin.svg); background-repeat: no-repeat; background-position: center 45%; } .data-loading p { position: relative; top: calc(45% + 45px); text-align: center; font-weight: bold; } dialog { background-color: white; padding: 1em; height: fit-content; margin: auto auto; position: absolute; width: 50%; border-radius: 3px; border: 1px solid silver; } dialog .dialog_toolbar .btn a { /* common styles for content toolbar buttons */ margin-top: 0; margin-bottom: 0; margin-right: 20px; background-color: var(--accent); border-radius: 3px; border: 1px solid #dba718; color: #000; float: left; font-weight: bold; font-size: 12px; text-shadow: 0 1px rgba(255, 255, 255, 0.25); display: block; cursor: pointer; transition: all ease 0.2s; padding: 0 9px; line-height: 28px; } dialog .dialog_toolbar .btn a:hover { background-color: var(--hoverButton-background); transition: all ease 0.2s; } dialog .dialog_toolbar .btn a:active { background-color: var(--accent); transition: all ease 0.0s; box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.35); } dialog .dialog_toolbar .btn a.disabled { cursor: default; color: #fff; background-color: #AFAFAF; border: 1px solid #AFAFAF; pointer-events: none; text-shadow: none; opacity: 0.5; } .dialogYesNo .dialogYesNoContent { margin-bottom: 12px; margin-top: 12px; white-space: pre-line; } .dialogYesNo .dialogYesNo-yesButton, .dialogYesNo .dialogYesNo-noButton { margin: 0px; } .dialogYesNo .dialogYesNo-yesButton { margin-right: 12px; } .dialogYesNo { width: fit-content; max-width: 400px; } .dialogWait { width: fit-content; max-width: 500px; min-width: 300px; } .dialogWait .data-loading { margin-top: 16px; margin-bottom: 16px; margin-left: auto; margin-right: auto; width: 100px; height: 100px; } .dialogWait .dialogWaitTitle { margin-left: auto; margin-right: auto; margin-bottom: 16px; width: fit-content; } .dialogInformation .dialogInformationContent { margin-bottom: 12px; margin-top: 12px; white-space: pre-line; } .dialogInformation .dialogInformation-confirmButton { margin: 0px; } .dialogInformation { width: fit-content; max-width: 400px; } @media all and (max-width: 575px) { dialog { position: fixed; width: calc(100% - 2em - 2px) !important; /* 2px - border */ max-width: unset; height: auto !important; bottom: 0; top: 56px; border-radius: unset; border: none; overflow: auto; } } /* Border of the Tab */ /* Tab Title */ .tab_title { border-bottom: 1px solid var(--accent); font-size: 20px; line-height: 24px; height: 30px; font-weight: 300; margin-bottom: 15px; } /* Note */ .note { background-color: #fff7cd; border: 1px solid #ffe55f; margin-bottom: 10px; margin-top: 0; border-radius: 3px; font-size: 11px; font-weight: normal; padding: 5px 7px 5px 7px; } .tab_wrapper { padding: 20px 15px 15px 15px; } .content_wrapper { padding: 20px 20px 20px 19px; position: relative; } .content_toolbar { /* content toolbar panel */ width: 100%; height: 30px; background-color: #EFEFEF; box-shadow: rgba(0, 0, 0, 0.10) 0 -3px 8px; padding: 10px 0; overflow: hidden; border-top: 1px solid var(--subtleAccent); } .content_toolbar .btn a { /* common styles for content toolbar buttons */ margin-top: 0; margin-bottom: 0; margin-right: 20px; background-color: var(--accent); border-radius: 3px; border: 1px solid #dba718; color: #000; float: right; font-weight: bold; font-size: 12px; text-shadow: 0 1px rgba(255, 255, 255, 0.25); display: block; cursor: pointer; transition: all ease 0.2s; padding: 0 9px; line-height: 28px; user-select: none; } .content_toolbar .btn a:hover { background-color: var(--hoverButton-background); transition: all ease 0.2s; } .content_toolbar .btn a:active { background-color: var(--accent); transition: all ease 0.0s; box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.35); } .content_toolbar .btn a.disabled { cursor: default; color: #fff; background-color: #AFAFAF; border: 1px solid #AFAFAF; pointer-events: none; text-shadow: none; opacity: 0.5; } .toolbar_scroll_bottom .content_wrapper { /* content wrapper in view with toolbar in scroll bottom leave 50px space for the toolbar */ height: 100%; margin: 0 0 -50px; } .toolbar_fixed_bottom .content_wrapper { /* content wrapper in view with toolbar fixed over bottom edge leave 50px space for the toolbar */ height: calc(100% - 90px); overflow-y: auto; position: initial; } .toolbar_fixed_bottom .content_toolbar { display: flex; flex-wrap: wrap; position: absolute; bottom: 0; left: 0; z-index: 2000; /* for fancy toggle buttons */ } .toolbar_fixed_bottom .content_toolbar div:first-child { margin-left: auto; } .toolbar_fixed_bottom .content_toolbar.xs-compressed { flex-direction: row-reverse; } .toolbar_fixed_bottom .content_toolbar.xs-compressed div:first-child { margin-left: 0; } .toolbar_fixed_bottom .content_toolbar.xs-compressed div:last-child { margin-left: auto; } .toolbar_expand_btn { display: none; position: absolute; bottom: 15px; left: 15px; width: 20px; height: 20px; font-size: 20px; line-height: 20px; text-align: center; z-index: 2000; } @media all and (max-width: 575px) { .toolbar_fixed_bottom .content_toolbar.xs-compressed { padding-left: 60px; box-sizing: border-box; height: 50px; } .toolbar_fixed_bottom .content_toolbar.xs-compressed.expanded { padding-left: 15px; padding-bottom: 0; height: auto; } .toolbar_fixed_bottom .content_toolbar.xs-compressed div { margin-bottom: 10px; } .toolbar_expand_btn { display: block; } .content_toolbar { height: auto; padding: 8px 0 0; } .toolbar_fixed_bottom .content_toolbar { justify-content: flex-end; } .toolbar_fixed_bottom .content_toolbar div { padding-bottom: 8px; } } /** Hack to change the "display: none" by a "visibility:hidden", to apply the margin-left: auto needed by the first element to align to the right the buttons */ .toolbar_fixed_bottom .content_toolbar div[style='display: none;']:first-child { visibility: hidden; display: block !important; } /* Colums START> */ .cf_column { min-height: 20px; margin-bottom: 0; } .full { float: left; width: 100%; } .half { float: left; width: 50%; } .third_left { float: left; width: 33%; } .third_center { display: inline-block; width: 34%; } .third_right { float: right; width: 33%; } .fourth { float: left; width: 25%; } .threefourth_right { float: right; width: 75%; } .threefourth_left { float: left; width: 75%; } .twothird { float: left; width: 67%; } /* Columns END> */ /* Spacers */ .spacer { padding-left: 7px; padding-right: 7px; width: calc(100% - 14px); float: left; } .spacer_left { padding-left: 15px; float: left; width: calc(100% - 15px); } .spacer_right { padding-right: 15px; width: calc(100% - 15px); float: left; } /* Standard GUI BOX */ .gui_box { border: 1px solid #ccc; border-radius: 4px; background-color: #FFFFFF; float: left; width: calc(100% - 2px); margin-bottom: 10px; } .gui_warning { background: #ffdddd; } .gui_note { background: #fff6de; } .gui_warning .gui_box_titlebar { background-color: #dc0000; background-image: linear-gradient(-45deg, rgba(255, 255, 255, .3) 10%, transparent 10%, transparent 20%, rgba(255, 255, 255, .3) 20%, rgba(255, 255, 255, .3) 30%, transparent 30%, transparent 40%, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .3) 50%, transparent 50%, transparent 60%, rgba(255, 255, 255, .3) 60%, rgba(255, 255, 255, .3) 70%, transparent 70%, transparent 80%, rgba(255, 255, 255, .3) 80%, rgba(255, 255, 255, .3) 90%, transparent 90%, transparent 100%, rgba(255, 255, 255, .4) 100%, transparent); color: white; } .gui_note .gui_box_titlebar { background-color: var(--accent); background-image: linear-gradient(-45deg, rgba(255, 255, 255, .3) 10%, transparent 10%, transparent 20%, rgba(255, 255, 255, .3) 20%, rgba(255, 255, 255, .3) 30%, transparent 30%, transparent 40%, rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .3) 50%, transparent 50%, transparent 60%, rgba(255, 255, 255, .3) 60%, rgba(255, 255, 255, .3) 70%, transparent 70%, transparent 80%, rgba(255, 255, 255, .3) 80%, rgba(255, 255, 255, .3) 90%, transparent 90%, transparent 100%, rgba(255, 255, 255, .4) 100%, transparent); color: white; } .grey { background-color: #f9f9f9 } .gui_box_titlebar { background-color: var(--quietHeader); color: var(--quietText); border-radius: 3px 3px 0 0; font-size: 13px; width: 100%; height: 27px; padding-bottom: 0; float: left; margin-bottom: 7px; font-weight: 600; } .gui_box_bottombar { background-color: #e4e4e4; border-radius: 0 0 3px 3px; font-size: 13px; width: 100%; height: 27px; padding-top: 0; float: left; font-weight: 600; } .spacer_box { padding: 10px; margin-bottom: 3px; } .spacer_box_title { padding-left: 10px; padding-right: 10px; padding-top: 4px; margin-bottom: 0; float: left; } /* Fixed area at the Bottom */ .fixed_band { position: relative; height: 50px; background-color: #e4e4e4; width: calc(100% + 40px); margin-left: -20px; box-shadow: rgba(0, 0, 0, 0.00) 0 -3px 8px; bottom: 0; margin-bottom: 0; } .fixed_band .save_btn a { margin-top: 9px; margin-bottom: 0; margin-right: 20px; background-color: var(--accent); border-radius: 3px; border: 1px solid #dba718; color: #000; float: right; font-weight: bold; font-size: 12px; text-shadow: 0 1px rgba(0, 0, 0, 0.25); display: block; cursor: pointer; transition: all ease 0.2s; padding: 0 9px; line-height: 28px; } .fixed_band .save_btn a:hover { background-color: var(--hoverButton-background); transition: all ease 0.2s; } /* DIfferent buttons */ .default_btn { width: 100%; position: relative; margin-bottom: 10px; margin-top: 0; float: left; } .default_btn a { padding: 5px 0 5px 0; text-align: center; background-color: var(--accent); border-radius: 4px; border: 1px solid #dba718; color: #000; font-weight: 600; font-size: 12px; line-height: 13px; display: block; transition: all ease 0.2s; text-decoration:none; cursor: pointer; } .default_btn a.disabled { background-color: #f1f1f1; border: 1px solid var(--subtleAccent); color: #ccc; } .default_btn a:hover { background-color: var(--hoverButton-background); color: #000; text-shadow: 0 1px rgba(255, 255, 255, 0.25); transition: all ease 0.2s; text-decoration:none; } .default_btn a:active { background-color: var(--hoverButton-background); transition: all ease 0.0s; box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.35); } .margin-top5 { margin-top: 5px; } .regular-button { -webkit-user-drag: none; margin-top: 8px; margin-bottom: 8px; margin-right: 10px; background-color: var(--accent); border-radius: 3px; border: 1px solid #dba718; color: #000; font-weight: bold; font-size: 12px; text-shadow: 0 1px rgba(255, 255, 255, 0.25); display: inline-block; cursor: pointer; transition: all ease 0.2s; padding: 0 9px; line-height: 28px; user-select: none; } .regular-button:hover { background-color: var(--hoverButton-background); } .regular-button.pushed { background-color: var(--pushedButton-background); color: var(--pushedButton-fontColor); border-radius: 3px; } .small { width: auto; position: relative; margin-bottom: 7px; margin-top: 0; margin-right: 5px; float: left; } .small a { padding: 3px 4px 4px 4px; text-align: center; text-shadow: 0 1px rgba(0, 0, 0, 0.25); background-color: #acacac; border-radius: 3px; border: 1px solid #949494; color: #fff; font-weight: 600; font-size: 11px; line-height: 11px; display: block; transition: all ease 0.2s; } .small a:hover { background-color: var(--accent); color: #000; text-shadow: 0 1px rgba(255, 255, 255, 0.25); border: 1px solid var(--accent); transition: all ease 0.2s; } .small a:active { background-color: #878787; transition: all ease 0.0s; box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.35); } .green a { background-color: var(--accent); text-shadow: 0 1px rgba(255, 255, 255, 0.25); color: #000; border: 1px solid #dba718; transition: all ease 0.2s; } .green a:hover { background-color: #ffcc3f; border: 1px solid #dba718; text-shadow: 0 1px rgba(255, 255, 255, 0.25); color: #000; transition: all ease 0.2s; } /* Table styling */ .cf_table { margin-bottom: 5px; float: left; margin-top: -5px; font-size: 11px; width: 100%; } .cf_table td { border: 0; padding-top: 2px; padding-bottom: 5px; } .cf_table tr:not(:last-child) td { border-bottom: dotted 1px var(--subtleAccent); } .third { width: 33%; } .cf_table tr:last-child td { border: none; } .cf_table td:last-child { text-align: right; } .gps_false { background-color: #FF0004; padding: 1px 7px 2px 7px; border-radius: 3px; color: #FFFFFF; font-size: 11px; margin-left: 3px; } .gps_true { background-color: var(--accent); padding: 1px 7px 2px 7px; border-radius: 3px; color: #FFFFFF; font-size: 11px; margin-left: 3px; } /* fixing padding for all Tabs*/ .tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-firmware_flasher, .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning, .tab-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd, .tab-power { height: 100%; position: relative; } /* fixing logging tab*/ .properties { width: 800px; } .properties dl { width: 200px; } .properties dd { width: 400px; height: auto; } /* GPS Fix styling*/ .fixtrue { background-color: #56ac1d; padding: 2px 5px; border-radius: 3px; color: #fff; font-size: 10px; } .fixfalse { background-color: #e60000; padding: 2px 5px; border-radius: 3px; color: #fff; font-size: 10px; } .cf_tooltiptext { display:none; } .bottomStatusIcons { display: flex; justify-content: space-between; background-color: #272727; height: 31px; margin-top: 2px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } button { padding: .5em .75em; border-radius: 4px; background-color: #ccc; color: #666; border: 1px solid var(--subtleAccent); font-weight: 600; font-size: 10pt; cursor: pointer; } button.active { background-color: var(--accent); border: 1px solid #dba718; color: #000; } .jBox-Tooltip { max-width: 180px; } .jBox-Widetip { max-width: 300px; } @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { .content_wrapper { padding: 15px 15px 15px 14px; } .tab_title { font-size: 16px; line-height: 18px; font-weight: 300; margin-bottom: 10px; height: 22px; } .cf_doc_version_bt a { padding: 1px 5px 1px 5px; margin-top: -35px; font-size: 9px; line-height: 15px; } .cf_table td { padding-top: 2px; padding-bottom: 2px; } .default_btn { margin-bottom: 10px; } .gui_box_titlebar { font-size: 12px; height: 24px; padding-bottom: 0; margin-bottom: 5px; float: left; } .spacer_box_title { padding-left: 10px; padding-right: 10px; padding-top: 3px; margin-bottom: 0; float: left; } input { font-size: 11px !important; } .helpicon { float: right; margin-top: 5px; margin-right: 7px; height: 14px; width: 14px; transition: none; } .gps_false { padding: 0 3px 0 3px; font-size: 10px; } .gps_true { padding: 0 3px 0 3px; font-size: 10px; } .content_toolbar .btn a { margin-right: 15px; } .toolbar_fixed_bottom .content_wrapper { /* content wrapper in view with toolbar fixed over bottom edge leave 50px space for the toolbar */ height: calc(100% - 81px); overflow-y: auto; position: initial; } } .hidden { display: none; } .darkgrey_box { background-color: #575757; color: white; } .topBorderLine { border-top: 1px solid var(--subtleAccent); padding-top: 5px; } .jBox-container { background: #fff; border:1px solid var(--accent); font-size: 11px; line-height: 13px; color: #525352; } .jBox-content { padding: 4px 5px; } .jBox-Modal .jBox-content { padding: 10px 15px; } .jBox-pointer-top, .jBox-pointer-bottom { width: 22px; height: 10px; } .jBox-pointer-left, .jBox-pointer-right { width: 10px; height: 20px; } .jBox-pointer:after { width: 10px; height: 9px; border:1px solid var(--accent); } #dialogResetToCustomDefaults-content { margin-top: 10px; margin-bottom: 10px; } #dialogReportProblems-header { margin-top: 10px; margin-bottom: 5px; } .dialogReportProblems-listItem { list-style: circle; margin-left: 20px; margin-bottom: 5px; } #dialogReportProblems-footer { margin-bottom: 10px; } /* noUi slider stylings */ .noUi-target { background: var(--alternativeBackground); border-color: var(--subtleAccent); box-shadow: none; } .noUi-handle { background: var(--sideBackground); border-color: var(--subtleAccent); box-shadow: none; } .noUi-handle:before, .noUi-handle:after { background-color: var(--subtleAccent); } .noUi-background { background: var(--alternativeBackground); box-shadow: none; } .noUi-connect { box-shadow: none; } /** Responsive grid **/ @media all and (max-width: 575px) { .sm, .md, .lg, .xl { display: none !important; } } @media all and (min-width: 576px) and (max-width: 767px) { .xs, .md, .lg, .xl { display: none !important; } } @media all and (min-width: 768px) and (max-width: 991px) { .xs, .sm, .lg, .xl { display: none !important; } } @media all and (min-width: 992px) and (max-width: 1139px) { .xs, .sm, .md, .xl { display: none !important; } } @media all and (min-width: 1140px) { .xs, .sm, .md, .lg { display: none !important; } } @media all and (min-width: 576px) { .sm-max { display: none !important; } } @media all and (min-width: 768px) { .md-max { display: none !important; } } @media all and (min-width: 992px) { .lg-max { display: none !important; } } @media all and (max-width: 1139px) { .lg-min { display: none !important; } } @media all and (max-width: 991px) { .md-min { display: none !important; } } @media all and (max-width: 767px) { .sm-min { display: none !important; } } .grid-row { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; box-sizing: border-box; } .grid-col { margin-left: 7px; margin-right: 7px; } .grid-col.col1 { width: calc(8.33% - 14px); } .grid-col.col2 { width: calc(16.67% - 14px); } .grid-col.col3 { width: calc(25% - 14px); } .grid-col.col4 { width: calc(33.33% - 14px); } .grid-col.col5 { width: calc(41.67% - 14px); } .grid-col.col6 { width: calc(50% - 14px); } .grid-col.col7 { width: calc(58.33% - 14px); } .grid-col.col8 { width: calc(66.67% - 14px); } .grid-col.col9 { width: calc(75% - 14px); } .grid-col.col10 { width: calc(83.33% - 14px); } .grid-col.col11 { width: calc(91.67% - 14px); } .grid-col.col12 { width: calc(100% - 14px); } .grid-col:first-child { margin-left: 0; } .grid-col:last-child { margin-right: 0; } .grid-col.col1:first-child, .grid-col.col1:last-child { width: calc(8.33% - 7px); } .grid-col.col2:first-child, .grid-col.col2:last-child { width: calc(16.67% - 7px); } .grid-col.col3:first-child, .grid-col.col3:last-child { width: calc(25% - 7px); } .grid-col.col4:first-child, .grid-col.col4:last-child { width: calc(33.33% - 7px); } .grid-col.col5:first-child, .grid-col.col5:last-child { width: calc(41.67% - 7px); } .grid-col.col6:first-child, .grid-col.col6:last-child { width: calc(50% - 7px); } .grid-col.col7:first-child, .grid-col.col7:last-child { width: calc(58.33% - 7px); } .grid-col.col8:first-child, .grid-col.col8:last-child { width: calc(66.67% - 7px); } .grid-col.col9:first-child, .grid-col.col9:last-child { width: calc(75% - 7px); } .grid-col.col10:first-child, .grid-col.col10:last-child { width: calc(83.33% - 7px); } .grid-col.col11:first-child, .grid-col.col11:last-child { width: calc(91.67% - 7px); } .grid-col.col12:first-child, .grid-col.col12:last-child { width: calc(100% - 7px); } @media all and (max-width: 575px) { .grid-col.col1, .grid-col.col2, .grid-col.col3, .grid-col.col4, .grid-col.col5, .grid-col.col6, .grid-col.col7, .grid-col.col8, .grid-col.col9, .grid-col.col10, .grid-col.col11, .grid-col.col12 { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; } }