/**
 * @license Licensed under the Apache License, Version 2.0 (the "License"):
 *          http://www.apache.org/licenses/LICENSE-2.0
 *
 * @fileoverview CSS file for the Ardublockly application.
 *
 * There are a lot of '!important' tags in this file as a lot of the rules set
 * here go against the css rules from the Materialize framework.
 */

/******************/

/*  Font sources  */

/******************/

@font-face {
    font-family: "GT Walsheim Pro Trial";
    src: url("font/gt/GT-Walsheim-Pro-Trial-Regular.otf") format("opentype");
}

@font-face {
    font-family: "GT Walsheim Pro Trial Bold";
    src: url("font/gt/GT-Walsheim-Pro-Trial-Bold.otf") format("opentype");
}

/**********/

/*  HTML  */

/**********/

html, body {
    height: 100% !important;
    padding: 0;
    margin: 0;
}

body {
    background-color: #eeeeee;
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/*********************/

/*  Arduino Colours  */

/*********************/

.arduino_teal {
    background-color: #2c4fcd;
}

.arduino_teal_dark {
    background-color: #2c4fcd;
    /* background-color: #00878F; from community logo */
}

.arduino_teal_light {
    background-color: #2c4fcd;
}

.arduino_orange {
    background-color: #E47128;
}

.arduino_yellow {
    /* background-color: rgba(255, 204, 51, 1); */
    background-color: #f7c11e;
    /* background-color: #E5AD24; from community logo */
}

.arduino_brown {
    background-color: #8C7965;
}

.arduino_red {
    background-color: #e03021;
}

/********************/

/*  Navigation bar  */

/********************/

.nav-fixed {
    border-radius: 0;
    position: inherit;
    margin-bottom: 30px;
    z-index: 997 !important;
}

@media only screen and (min-width: 993px) {
    body {
        padding-top: 65px;
    }
    .nav-fixed {
        position: fixed;
        right: 0;
        left: 0;
        top: 0;
        margin-bottom: 0px;
        z-index: 997;
    }
}

/* @media only screen and (min-width: 601px){
    body {
        padding-top: 65px;
    }
} */

div.side-nav {
    background-color: #eeeeee;
    border-radius: 0px 0px 25px 0px;
    border-left: 4px solid #ffffff;
    border-bottom: 4px solid #dddddd;
    border-right: 4px solid #dddddd;
    border-bottom: 4px solid #dddddd;
    line-height: 25px;
}

/* Side nav Logo */

ul.side-nav li.logo {
    text-align: center;
    margin: 0px !important;
    padding: 0px 0px !important;
    border: none !important;
    height: 145px;
    background-color: transparent;
}

ul.side-nav li.logo:hover {
    background-color: transparent;
}

ul.side-nav li.side-menu-end {
    background-color: #eeeeee;
    border-radius: 0px 0px 25px 0px;
    border-left: 4px solid #ffffff;
    border-bottom: 4px solid #dddddd;
    border-right: 4px solid #dddddd;
    border-bottom: 4px solid #dddddd;
    line-height: 25px;
}

/************************************/

/*  Blocks, Arduino, and XML areas  */

/************************************/

.content {
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #ffffff;
}

.height_transition {
    transition: height 0.2s ease-out;
    -ms-transition: height 0.2s ease-out;
    -moz-transition: height 0.2s ease-out;
    -webkit-transition: height 0.2s ease-out;
}

#blocks_panel {
    padding: 0px;
    position: relative !important;
    min-height: 480px;
}

.blocks_panel_large {
    height: -moz-calc(100vh - 190px);
    /* Firefox  */
    height: -webkit-calc(100vh - 190px);
    /* WebKit   */
    height: -o-calc(100vh - 190px);
    /* Opera    */
    height: calc(100vh - 190px);
    /* Standard */
}

.blocks_panel_small {
    height: -moz-calc(100vh - 350px);
    /* Firefox  */
    height: -webkit-calc(100vh - 350px);
    /* WebKit   */
    height: -o-calc(100vh - 350px);
    /* Opera    */
    height: calc(100vh - 350px);
    /* Standard */
}

#content_blocks {
    margin: 0;
    padding: 0;
    min-height: 480px;
    height: -moz-calc(100vh - 190px);
    /* Firefox  */
    height: -webkit-calc(100vh - 190px);
    /* WebKit   */
    height: -o-calc(100vh - 190px);
    /* Opera    */
    height: calc(100vh - 190px);
    /* Standard */
}

#content_xml {
    resize: none;
    outline: none;
    border: none;
    padding: 0px 0px;
    font-family: monospace;
    font-size: smaller;
    overflow: hidden;
    font-style: 0.2em !important;
    min-height: 384px;
    overflow: auto;
}

.content_xml_large {
    height: -moz-calc(100vh - 286px);
    /* Firefox  */
    height: -webkit-calc(100vh - 286px);
    /* WebKit   */
    height: -o-calc(100vh - 286px);
    /* Opera    */
    height: calc(100vh - 286px);
    /* Standard */
}

.content_xml_small {
    height: -moz-calc(100vh - 446px);
    /* Firefox  */
    height: -webkit-calc(100vh - 446px);
    /* WebKit   */
    height: -o-calc(100vh - 446px);
    /* Opera    */
    height: calc(100vh - 446px);
    /* Standard */
}

/* The materialize framework changes height of the div to show or hide */

/* the collapsible elements. */

#content_arduino {
    resize: none;
    outline: none;
    border: none;
    padding: 8px 8px;
    font-size: 0.9rem;
    font-family: monospace;
    overflow: auto;
    -moz-user-select: text;
    -khtml-user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

.content_arduino_large {
    height: -moz-calc(100vh - 280px);
    /* Firefox  */
    height: -webkit-calc(100vh - 280px);
    /* WebKit   */
    height: -o-calc(100vh - 280px);
    /* Opera    */
    height: calc(100vh - 280px);
    /* Standard */
}

.content_arduino_small {
    height: -moz-calc(100vh - 354px);
    /* Firefox  */
    height: -webkit-calc(100vh - 354px);
    /* WebKit   */
    height: -o-calc(100vh - 354px);
    /* Opera    */
    height: calc(100vh - 354px);
    /* Standard */
}

/* serial monitor card form */

div.card-serialMonitor {
    height: 100%;
    width: auto;
    top: 0;
    right: 0;
    transition: 0.5s;
    padding-top: 0px;
}

.content_arduino_SMonitor {
    resize: none;
    outline: none;
    border: none;
    padding: 0px 0px;
    font-size: 0.9rem;
    font-family: Nunito, sans-serif;
    overflow: auto;
    -moz-user-select: text;
    -khtml-user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

content_arduino_SMonitor textarea {
    height: -moz-calc(100vh - 595px);
    /* Firefox  */
    height: -webkit-calc(100vh - 595px);
    /* WebKit   */
    height: -o-calc(100vh - 595px);
    /* Opera    */
    height: calc(100vh - 595px);
}

/************************/

/*  Modals and content  */

/************************/

/* Large modal section blocks */

.modal_section {
    margin: 24px 0px;
    width: 100%;
}

/* Blocks tick label as a title */

.modal_label_title {
    font-size: 1.6rem !important;
    color: black;
}

/* Blocks modal divider */

#blocks_menu_body .divider {
    margin-top: 4px;
    margin-bottom: 8px;
}

/* Footer buttons padding */

.modal_right_button {
    margin: 0px 0px 0px 48px !important;
}

/* Small modal responsive design */

.modal_small {
    height: auto !important;
    min-height: 200px;
}

.modal_small .modal-content {
    margin-top: 0;
    padding-top: 12px;
    margin-bottom: 0;
    padding-bottom: 0;
}

.modal_small input {
    width: 100%;
}

.modal_small form {
    height: auto !important;
    min-height: 150px;
}

@media only screen and (min-width: 0) {
    .modal_small {
        max-width: 75% !important;
        width: 75% !important;
    }
}

@media only screen and (min-width: 601px) {
    .modal_small {
        max-width: 55% !important;
        width: 55% !important;
    }
}

@media only screen and (min-width: 993px) {
    .modal_small {
        max-width: 35% !important;
        width: 35% !important;
    }
}

/*******************************/

/*  Modals for Serial Monitor  */

/*******************************/

.modal_serialMonitor {
    height: auto !important;
    min-height: 200px;
    width: 500px;
    position: fixed;
    z-index: 1002;
    overflow: hidden;
    margin: 10px, 0, 10px, 0;
}

.modal_serialMonitor .modal-content {
    margin-top: 0;
    padding-top: 2px;
    margin-right: 0;
    padding-bottom: 1px;
    margin-bottom: 0;
    padding-bottom: 2px;
    margin-left: 0;
    padding-left: 1px;
}

.modal_serialMonitor .row {
    margin-top: 0;
    padding-top: 0;
    margin-right: 0;
    padding-bottom: 1px;
    margin-bottom: 0;
    padding-bottom: 0;
    margin-left: 0;
    padding-left: 1px;
}

.modal_serialMonitor input {
    width: 90%;
}

.modal_serialMonitor form {
    height: auto !important;
    min-height: 150px;
}

.modal_serialMonitor .btn, .btn-large, .btn-flat {
    border: none;
    border-radius: 1px;
    display: inline-block;
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
    text-transform: uppercase;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

/*******************************/

/*  Sidebar for Serial Monitor  */

/*******************************/

.side-nav-serialMonitor .btn-title {
    border: none;
    border-radius: 0.2px;
    display: inline-block;
    background-color: #ffffff;
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
    text-transform: uppercase;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

.side-nav-serialMonitor .btn, .btn-flat {
    border: none;
    border-radius: 0.2px;
    display: inline-block;
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

.side-nav-serialMonitor .row {
    margin-top: 0;
    padding-top: 0;
    margin-right: 0;
    padding-bottom: 1px;
    margin-bottom: 3px;
    padding-bottom: 0;
    margin-left: 0;
    padding-left: 2px;
}

.side-nav-serialMonitor [type="checkbox"].filled-in:checked+label:after {
    top: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #64B5F6;
    background-color: #64B5F6;
    z-index: 0;
}

/*******************************/

/*  Card for sidebar icon */

/*******************************/

.card-icon-area {
    /* border-top: 1px solid #ddd; */
    border-right: 1px solid #ddd;
    border-left: 6px solid #3258cd;
    /* border-bottom: 1px solid #ddd; */
    background-color: #fff;
    margin: 0;
    width: 45px;
    height: auto !important;
    z-index: 995;
    overflow: hidden;
}

.card-icon {
    margin: 0;
    width: 40px;
    height: 40px;
    border-bottom: 1px solid #ddd;
    z-index: 9999;
}

/*******************************/

/*  Card for Serial Monitor  */

/*******************************/

.card-serialMonitor .btn-title {
    border: none;
    border-radius: 0.2px;
    display: inline-block;
    background-color: #ffffff;
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

.card-serialMonitor .btn, .btn-flat {
    border: none;
    border-radius: 2px;
    display: inline-block;
    height: 35px;
    line-height: 32px;
    padding: 0.25rem 0.5rem;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
}

.card-serialMonitor .input-field {
    position: relative;
    margin-top: 0;
}

.card-serialMonitor .code-header {
    height: 45px;
    padding: 0px 6px;
    border-bottom: 1px solid #ddd;
}

.card-serialMonitor .code-header {
    color: #000200;
}

.card-serialMonitor .code-header .code-header-logo {
    width: 3rem;
    font-size: 1.6rem;
    line-height: 2.5rem;
    font-weight: bold;
    display: block;
    float: left;
    text-align: center;
    margin-right: 1rem;
}

.card-serialMonitor [type="checkbox"].filled-in:checked+label:after {
    top: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #64B5F6;
    background-color: #64B5F6;
}

/*****************/

/*  Sketch name  */

/*****************/

.sketch_name_wrapper {
    display: inline-block;
    padding-left: 30px;
}

.sketch_name_icon {
    display: inline !important;
    font-size: 1.2rem !important;
    padding-top: 3px;
    margin-left: -5px;
}

.sketch_name {
    width: auto !important;
    max-width: 400px;
    line-height: 64px;
    height: 2rem !important;
    font-size: 1.2rem !important;
    border-bottom: 0px solid #EEE !important;
    font-style: italic;
}

.sketch_name:focus {
    /* border-bottom: 1px solid #EEE !important; */
}

.translatable_sketch_name {
    margin-left: 0;
    border-radius: 15px;
    background: #2940ad;
    height: 35px;
    width: 170px;
    color: #fff;
    text-indent: 1em;
    border-bottom: none;
}

@media only screen and (min-width: 0px) and (max-width: 600px) {
    .sketch_name {
        max-width: 200px;
    }
    /* Remove the "Ardublockly title only leaving the sketch name */
    .app_title {
        display: none;
    }
}

@media only screen and (min-width: 600px) {
    .sketch_name {
        max-width: 275px;
    }
}

@media only screen and (min-width: 993px) {
    .sketch_name {
        max-width: 350px;
    }
}

/************/

/*  Others  */

/************/

/* Edit logo for code and xml collapsibles */

.collapsible_logo {
    width: 3rem;
    font-size: 1.6rem;
    line-height: 3rem;
    font-weight: bold;
    display: block;
    float: left;
    text-align: center;
    margin-right: 1rem;
}

/* Colours for the new and deleted code highlighting */

.code_highlight_new {
    background-color: rgba(255, 204, 51, 0.5);
    /* Arduino yellow 50% */
}

.code_highlight_deleted {
    background-color: #FDBEBE;
}

/*****************************/

/*  Overwriting Blockly CSS  */

/*****************************/

/* Blockly text for the following components:  */

.blocklyTreeLabel,
/* Toolbox        */

.blocklyText,
/* Block          */

.goog-menuitem-content {
    /* Drop down menu */
    font-family: "Nunito", sans-serif!important;
}

/* Entire Blockly area, Toolbox dranw on top */

.blocklySvg {
    border-width: 0 !important;
}

/* Toolbox */

.blocklyToolboxDiv {
    border-color: #fcfcfc !important;
    border-width: 0px 1px 0px 0px !important;
    -webkit-border-radius: 0px 4px 4px 0px !important;
    -moz-border-radius: 4px 4px 0px 0px !important;
    border-radius: 0px 4px 4px 0px !important;
    border: none !important;
    margin: 0px !important;
    padding: 0px 0px 0px 0px !important;
    background: rgba(236, 241, 247, 0.8) !important;
    /* background: rgba(47, 105, 202, .05) !important; */
    -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05), 0 2px 10px 0 rgba(0, 0, 0, 0.05);
    -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05), 0 2px 10px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05), 0 2px 10px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden !important;
}

.blocklyTreeRoot {
    background: none !important;
    border: none !important;
    /*margin: 36px 0px 0px 0px !important;*/
    margin: 0px 0px 0px 0px !important;
    padding: 0px 1px !important;
    height: 100%;
    /* Standard */
    overflow-x: hidden;
    overflow-y: auto;
}

.blocklyTreeRow {
    background: none !important;
    border: none !important;
    margin: 0px 0px !important;
    padding: 0px 16px 0px 0px !important;
    box-sizing: content-box !important;
}

.blocklyTreeSelected {
    background-color: rgba(208, 240, 255, 0.75) !important;
    /* arduino orange */
    border: 5px #000 solid;
}

.blocklyTreeRow:not(.blocklyTreeSelected):hover, .blocklyTreeRowHover {
    background-color: rgba(208, 240, 255, 0.75) !important;
    /* arduino yellow */
}

.blocklyTreeSeparator {
    padding: 0px !important;
    margin: 0px !important;
}

/* Toolbox second column with blocks*/

.blocklyFlyoutBackground {
    fill: #d0f0ffbf !important;
    fill-opacity: 0.9 !important;
    -webkit-border-radius: 0px 4px 4px 0px !important;
    -moz-border-radius: 0px 4px 4px 0px !important;
    border-radius: 0px 4px 4px 0px !important;
}

/* Blockly scrollbars */

.blocklyScrollbarKnob {
    fill: #a1b2f0 !important;
    fill-opacity: 0.7 !important;
}

.blocklyScrollbarBackground {
    stroke-width: 0px !important;
    fill: none !important;
}

/*********************************/

/*  Overwriting Materialize CSS  */

/*********************************/

/* Modify container to have a larger width in all resolutions */

.container {
    width: 90%;
    max-width: initial !important;
    /* padding-left: 1.5rem;
    padding-right: 1.5rem; */
    z-index: 997;
}

@media only screen and (min-width: 601px) {
    .container {
        width: 100%;
    }
}

@media only screen and (max-width: 993px) {
    #footer_ {
        position: absolute;
        margin-top: 800px;
        width: 100%;
    }
    .nav-fixed {
        margin-bottom: 0;
    }
    #blocks_content {
        margin-bottom: 3px;
    }
    #uploader {
        margin-top: 5px !important;
    }
    .content_arduino_small {
        height: -moz-calc(100vh - 246px);
        /* Firefox  */
        height: -webkit-calc(100vh - 246px);
        /* WebKit   */
        height: -o-calc(100vh - 246px);
        /* Opera    */
        height: calc(100vh - 246px);
        /* Standard */
    }
    #main_content {
        height: 100% !important;
    }
    #Serial-monitor {
        margin-top: 3px !important;
    }
}

@media only screen and (min-width: 993px) {
    .container {
        width: 100%;
    }
}

@media only screen and (min-width: 1380px) {
    .container {
        width: 100%;
    }
}

/* Maximize horizontal space for mobile */

@media only screen and (min-width: 0px) and (max-width: 600px) {
    body {
        padding-top: 0px;
    }
    /* Expand to all visible horizontal space */
    .container {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    nav {
        margin: 0 !important;
        padding: 0px 12px !important;
    }
    /* remove space between cards and navigation bar */
    .col {
        margin-top: -8px;
    }
}

/* Increase the text size of the side menu */

div.side-nav {
    padding: 0px !important;
    line-height: 100px !important;
}

ul.side-nav {
    padding: 0px !important;
    line-height: 64px !important;
}

ul.side-nav i {
    font-size: 1.8rem !important;
}

ul.side-nav .collapsible {
    margin: 0 !important;
}

/* Set the background effect in the side menu */

ul.side-nav {
    background-color: transparent;
    box-shadow: none !important;
}

ul.side-nav li {
    background-color: #eeeeee;
}

ul.side-nav li {
    background-color: #eeeeee;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-right: 2px solid #dddddd;
    border-left: 2px solid #ffffff;
}

ul.side-nav li ul li ul {
    cursor: pointer;
    border: none !important;
}

ul.side-nav li ul li ul li {
    border: none !important;
}

/* Add extra margin to the side menu button*/

.button-collapse {
    margin-right: 16px;
}

/* Increase the size of Materialize Modal in small resolutions */

@media only screen and (max-width: 600px) {
    .modal {
        width: 80% !important;
        max-width: 80% !important;
    }
}

/* Why the hell does button large has a predefined background colour !! */

.btn-large:hover {
    background-color: inherit;
}

/* Circle clipper (loading animation) thickness */

.circle-clipper .circle {
    border-width: 4px;
}

/* Materialize messes with these, so reset them here */

.blocklyHtmlInput {
    border: none !important;
    border-radius: 4px !important;
    font-family: sans-serif !important;
    height: 100% !important;
    margin: 0 !important;
    outline: none !important;
    padding: 0 1px !important;
    width: 100% !important;
    background-color: white !important;
}

/*set switch button color*/

.switch {
    margin-right: 10px;
}

.switch label .lever:after {
    background-color: #4d8bed;
}

.switch label .lever {
    background-color: #D7D7D7;
}

.switch label input[type=checkbox]:checked+.lever {
    background-color: #26a69a;
}

.switch label input[type=checkbox]:checked+.lever:after {
    background-color: #26a69a;
}

/* add indicator to toolbox items */

#\:1 {
    border-left: 10px solid #4c97ff;
    border-bottom: 1px solid #eaeaea;
}

/* list */

#\:3 {
    border-left: 10px solid #9d64fd;
    border-bottom: 1px solid #eaeaea;
}

/* loops */

#\:5 {
    border-left: 10px solid #5472ea;
    border-bottom: 1px solid #eaeaea;
}

/* math */

#\:7 {
    border-left: 10px solid #ffab2f;
    border-bottom: 1px solid #eaeaea;
}

/* variables */

#\:9 {
    border-left: 10px solid #33cc99;
    border-bottom: 1px solid #eaeaea;
}

/* text */

#\:b {
    border-left: 10px solid #40bfe4;
    border-bottom: 1px solid #eaeaea;
}

/* lists */

#\:d {
    border-left: 10px solid #ff6381;
    border-bottom: 1px solid #eaeaea;
}

/* functions */

#\:f {
    border-left: 10px solid #ff8b2c;
    border-bottom: 1px solid #eaeaea;
}

/* i/o */

#\:h {
    border-left: 10px solid #ffd62c;
    border-bottom: 1px solid #eaeaea;
}

/* time */

#\:j {
    border-left: 10px solid #27c04f;
    border-bottom: 1px solid #eaeaea;
}

/* communication */

#\:l {
    padding-top: 0px;
    border-left: #50ec7a
}

/*newly added*/

/*
.blocklyTreeSelected {
  background-color: #2c4fce !important;
}*/

#\:l>.blocklyTreeRow {
    background-color: #4d8bed !important;
    color: #ffffff;
}

/* add indicator to wifi_toolbox items */

/* logic */

#\:2c {
    border-left: 10px solid #4c97ff;
    border-bottom: 1px solid #eaeaea;
}

/* #\:2d {
    border-left: 10px solid #9d64fd;
    border-bottom: 1px solid #eaeaea;
}

#\:2f {
    border-left: 10px solid #5472ea;
    border-bottom: 1px solid #eaeaea;
} */

/* loops */

#\:2e {
    border-left: 10px solid #9d64fd;
    border-bottom: 1px solid #eaeaea;
}

/* math */

#\:2g {
    border-left: 10px solid #5472ea;
    border-bottom: 1px solid #eaeaea;
}

/* variables */

#\:2i {
    border-left: 10px solid #ffab2f;
    border-bottom: 1px solid #eaeaea;
}

/* text */

#\:2k {
    border-left: 10px solid #33cc99;
    border-bottom: 1px solid #eaeaea;
}

/* lists */

#\:2m {
    border-left: 10px solid #40bfe4;
    border-bottom: 1px solid #eaeaea;
}

/* functions */

#\:2o {
    border-left: 10px solid #ff6381;
    border-bottom: 1px solid #eaeaea;
}

/* time */

#\:2q {
    border-left: 10px solid #ffd62c;
    border-bottom: 1px solid #eaeaea;
}

/* communication */

#\:2s {
    border-left: 10px solid #27c04f;
    border-bottom: 1px solid #eaeaea;
}

#\:2u {
    padding-top: 0px;
}

#\:2u>.blocklyTreeRow {
    background-color: #e44c4c !important;
    color: #ffffff;
}

.switch_tooltip {
    top: -10px;
    background-color: black;
    color: white;
    border-radius: 5px;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    -ms-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.switch:hover .tooltip {
    opacity: 1;
}

.add_margin {
    margin: 0 10px 0 10px;
}

.blocklyTreeRoot {
    height: 100%;
}

.resize {
    width: 90%;
    margin: 10px 5% 10px 5%;
    height: 30px;
    background-color: #5b8ae7;
}

.languages_logo {
    width: 36px;
    margin-top: 14px;
}

.lang_resize {
    height: 64px;
}

.status_detector {
    display: inline-block;
    margin-left: 50px;
}

.board_detector, .port_detector {
    display: inline-block;
    /*overwrite modal_section class*/
    margin: 0 10px;
    width: auto;
}

.board_detector {
    width: 250px;
}

.button_toggle_toolbox_on {
    position: absolute;
    margin: 0 !important;
    padding: 0 !important;
    left: 12px;
    top: 8px;
    text-align: center;
    font-size: 1.5rem !important;
    z-index: 5;
    border-color: #e0e0e0 !important;
    border-width: 1px !important;
    -webkit-border-radius: 4px 4px 4px 4px !important;
    -moz-border-radius: 4px 4px 4px 4px !important;
    border-radius: 4px 4px 4px 4px !important;
    background: rgba(98, 174, 178, .2) !important;
    /* Arduino Light Teal */
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    transition: background 0.3s linear, box-shadow 0.3s linear, border-width 0.3s linear;
    -ms-transition: background 0.3s linear, box-shadow 0.3s linear, border-width 0.3s linear;
    -moz-transition: background 0.3s linear, -moz-box-shadow 0.3s linear, border-width 0.3s linear;
    -webkit-transition: background 0.3s linear, -webkit-box-shadow 0.3s linear, border-width 0.3s linear;
}

.button_toggle_toolbox_off {
    position: absolute;
    margin: 0 !important;
    padding: 0px !important;
    left: 12px;
    top: 8px;
    text-align: center;
    font-size: 1.5rem !important;
    z-index: 5;
}

/* 旋转 */

.svgImg {
    position: absolute !important;
    width: 24px;
    top: calc(50% - 12px);
    left: calc(50% - 12px);
    display: none;
}

.xuanhuan {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
    -webkit-animation: rotate 1.4s linear infinite;
    -moz-animation: rotate 1.4s linear infinite;
    -o-animation: rotate 1.4s linear infinite;
    animation: rotate 1.4s linear infinite;
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(360deg)
    }
}

@-moz-keyframes rotate {
    from {
        -moz-transform: rotate(0deg)
    }
    to {
        -moz-transform: rotate(359deg)
    }
}

@-o-keyframes rotate {
    from {
        -o-transform: rotate(0deg)
    }
    to {
        -o-transform: rotate(359deg)
    }
}

@keyframes rotate {
    from {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(359deg)
    }
}