* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size: 1.05rem;
}

h1, h2 {
    margin: 1rem 0;
    text-align: center;
    color: navy;
}

#frmControls {
    display: flex;
    padding: 1rem;
    background-color: aliceblue;
    min-height: 33vh;
}

.ctrl-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background-color: rgb(215, 240, 255);
    padding: 1rem;
}

.manual {
    padding: 2rem;
    border: 1px solid silver;
    border-radius: 6px;
}

.btn-submit {
    width: 8rem;
    padding: 1rem;
    background-color: navy;
    color: whitesmoke;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: 250ms ease-in-out;
}

.btn-submit:hover {
    transition: 125ms ease-in-out;
    filter: brightness(1.25);
    box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.33);
    -webkit-box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.33);
    -moz-box-shadow: 6px 6px 5px 0px rgba(0,0,0,0.33);
}

.flx-row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.flx-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

[data-control] {
    display: flex;
    align-items: center;
}

.checkbox {
    justify-content: flex-start !important;
}

[data-control] :last-child:not([type="number"], label) {
    min-width: 12rem;
}

[data-control] label {
    min-width: 10rem;
}

[data-control] input[type="number"] {
    text-align: center;
    width: 4rem;
}

[data-control="checkbox"] input {
    height: 1.125rem;
    width: 1.125rem;
    margin-right: 0.5rem;
}

/* Styling the code design */
.token-keyword, 
.attribute {
    font-family: 'Courier New', Courier, monospace;
    font-weight: 900;
    color: darkblue;
}

.code {
    overflow: scroll;
    font-family: monospace !important;
    color: #222;
    background-color: #fafafa;
    border: 1px solid silver;
    border-radius: 4px;
}

.attribute,
.token-string {
    color: maroon;
}

.token-comment {
    color: darkgreen;
    font-style: italic;
}

.token-constante {
    color: darkcyan;
}

.token-boolean {
    color: blue;
}

table {
    border: 1px solid silver;
    border-spacing: 0;
    table-layout: fixed;
}
td {
    border-top: 1px solid silver;
    border-right: 1px solid silver;
}
td {
    padding: 0.5rem;
}
th {
    border-bottom: 3px double silver;
}
th:first-child {
    width: 8rem;
    
}
th:nth-child(2) {
    width: 50%;
}


/* ##################################################################################### */
/* ###                           R E S P O N S I V E                                 ### */
/* ##################################################################################### */
@media (max-width: 1024px) {
    #frmControls {
        flex-direction: column;
        gap: 1rem;
        min-height: auto;
    }

    /* [data-control="dropdown"]{
        flex-direction: column;
        align-items: flex-start;
    } */

    .manual {
        padding: 1rem 0.5rem;
        border: none;
        text-align: justify;
    }

    .flx-col {
        gap: 1rem;
    }

    .code {
        font-size: xx-small;
    }
}

@media (max-width: 600px) { 
    [data-control="dropdown"]{
        flex-direction: column;
        align-items: flex-start;
    }    
}


@media (max-width: 400px) {
    td {
        padding: 0.25rem;
    }
    
    th:first-child {
        width: 4rem;
    }

    th:nth-child(2) {
        width: auto;
    }

    td:last-child,
    th:last-child {
        display: none;
    }

    .manual {
        padding: 1rem;
    }

    [data-control] label {
        min-width: 8rem;
    }

    combo-box {
        font-size: 0.75rem !important;
    }
}