html {
    height: 100%;
    width: 100%;
}

h2 {
    text-align: center;
    border-top: 1px solid gray;
    border-bottom: 1px solid gray;
    margin: 0;
    margin-top: 0em;
    margin-bottom: 0.5em;
    padding: 0.5em;
}

body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    font-family: "Segoe UI", sans-serif;
}


#container {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: 300px 1fr 300px;
    grid-template-rows: auto 1fr 300px;
    grid-template-areas:
        "top_bar top_bar top_bar"
        "left_bar main_area right_bar"
        "left_bar bottom_bar right_bar";
}

.bar {
    padding: 1em;
    box-sizing: content-box;
    overflow: auto;
}

#top_bar {
    grid-area: top_bar;
    border-bottom: 1px solid gray;
    padding: 0.5em;
    display: flex;
    flex-direction: column;
}

#verification_control {
    margin-top: auto;
    display: flex;
}

#verification_control>* {
    padding: 0.5em;
    padding-left: 2em;
    padding-right: 2em;
    margin-left: 0.1em;
    margin-right: 0.1em;
}

#verification_control>button {
    font-size: 1.5em;
}

#max_refinements_container {
    display: flex;
    flex-direction: column;
    margin-left: auto;
}

#left_bar {
    grid-area: left_bar;
    border-right: 1px solid gray;
    overflow-x: auto;
    overflow-y: auto;
}

#exec_name {
    text-align: center;
}

#bottom_bar {
    grid-area: bottom_bar;
    border-top: 1px solid gray;
    padding: 1em;

    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "info"
        "log_wrapper";
}

#info {
    padding: 0.5em;
    border-top: 1px solid gray;
    border-bottom: 1px solid gray;
    margin-bottom: 0.5em;
    display: flex;
}

#info.running {
    background-color: #ffb900;
    font-weight: bold;
}

#info.cancelling {
    background-color: #dd3;
    font-weight: bold;
}

#info_middle {
    flex-grow: 1;
}


#log_wrapper {
    overflow-x: auto;
    overflow-y: scroll;
    border: 1px solid gray;
}

#log {
    background-color: #fff;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
}

#log th {
    position: sticky;
    top: 0;
    background-color: #ccc;
    border-bottom: 2px solid gray;
}

#log td {
    border: 1px solid gray;
}

#right_bar {
    grid-area: right_bar;
    border-left: 1px solid gray;
    overflow-x: auto;
    overflow-y: auto;
}

#main_area {
    grid-area: main_area;
    position: relative;
    box-sizing: content-box;
}

#main_canvas {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
}

#state_fields {
    background-color: white;
    border-collapse: collapse;
    width: 100%;
}


#state_fields tr {
    text-align: left;
}

#state_fields th,
#state_fields td {
    border: 1px solid black;
    padding: 0.5em;
}

#properties_control {
    display: flex;
    padding-bottom: 0.75em;
    border-bottom: 1px solid grey;
}

#properties_control>button {
    flex: auto;
    padding: 0.25em;
    padding-left: 2em;
    padding-right: 2em;
    margin-left: 0.1em;
    margin-right: 0.1em;
    font-size: 1.5em;
}

#properties {
    padding-top: 0.75em;
}

.property-outer {
    margin-left: 2em;
}

#properties>.property-outer {
    margin-left: 0em;
}

.property-icons {
    float: right;
    margin: 0.1em;
    width: 52px;
    height: 26px;
    display: flex;
}

.conclusion {
    overflow: visible;
    width: 24px;
    height: 24px;
    margin: 1px;
}

#top_bar,
#bottom_bar {
    background-color: #ddd;
}

#left_bar,
#right_bar {
    background-color: #ddd;
}

.monospace {
    font-family: monospace;
}

.italic {
    font-style: italic;
}

.bold {
    font-weight: bold;
}