.main_content {
    display: block;
    width: 60%;
    margin: auto;
    padding: 20px;
    font-family: Arial, Helvetica, sans-serif;
}

.login_container {
    width: 500px;
    margin: auto;
}

.form_container {
    margin: 10px;
    display: block;
    border: 1px solid #666666;
    padding: 20px;
    width: 100%;
}

.main_content h2 {
    text-align: center;
    display: inline;
    position: relative;
    bottom: 5px;
}

.form_container .error {
    color: #f00;
    padding: 0px;
    margin: 10px 0px 10px 0px;
}

.form_container * {
    display: block;
    width: 100%;
}

.form_container form {
    margin: 0px;
    padding: 0px;
}

.form_container h2 {
    margin: 0px 0px 20px 0px;
}

.form_container label {
    padding: 0;
    margin: 0px 0px 3px 0px;
}

.form_container input[type=text],
.form_container select,
.form_container input[type=password] {
    margin: 0px 0px 10px 0px;
    padding: 3px;
}

.form_container button,
.form_container input[type=button],
.form_container input[type=submit] {
    margin: 20px 0px 0px 0px;
    padding: 3px;
}

.input_group * {
    display: block;
    width: 100%
}

.box {
    margin-bottom: 40px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #000;
}

.box>.box {
    margin-bottom: 10px;
}

.box p {
    margin: 0px;
}

.info_box,
.send_box {
    display: grid;
    grid-template-columns: 100px 200px 1fr 140px;
    grid-auto-rows: 1fr;
    gap: 10px 20px;
    font-size: 1rem;
    align-items: start;
}

.send_box {
    grid-template-columns: 1fr 140px;
    border: 0px;
    padding: 0px;
}

#monitor_control_panel,
#bot_control_panel {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 140px;
    grid-auto-rows: 1fr;
    gap: 10px 20px;
    font-size: 1rem;
    align-items: center;
}

#monitor_panel {
    aspect-ratio: 1 / 1;
    width: 50%;
    padding: 0px;
}

#bot_overview_box {
    border: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.box_control_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

#socket_messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-x: hidden;
    overflow-y: scroll;
    height: 300px;
}

#socket_messages p {
    padding-bottom: 2px;
    border-bottom: 1px dashed #bdbdbd;
}

#canvas_control_panel {
    margin-bottom: 40px;
}

#canvas_control_panel .view_button {
    position: absolute;
    width: 30px;
    height: 30px;
}

#view_buttons_container {
    position: relative;
    width: 140px;
    height: 65px;
}

/* 
    toggle button
*/
.toggleButtonBox {
    display: flex;
    gap: 20px;
}

.toggle {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
    background-color: red;
    border-radius: 10px;
}

/* After slide changes */
.toggle:after {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    border-radius: 10px;
    background-color: #ffffff;
    top: -1px;
    left: 0px;
    transition: all 0.2s;
    border: 1px solid #000000;
    box-sizing: border-box;
}

/* Checkbox checked effect */
.checkbox:checked+.toggle::after {
    left: 20px;
}

/* Checkbox checked toggle label bg color */
.checkbox:checked+.toggle {
    background-color: green;
}

/* Checkbox vanished */
.checkbox {
    display: none;
}