/* For devices with width of 1280px and more, like desktop computers */
@media only screen and (min-width: 1280px) {
    .TextAreas{
        height: calc(91.5vh - 6.8em);
    }
    .h1{
        font-size: 2rem;
    }
    #assemblerBtn {
        margin-top: .8em;
        padding-top: 3vh;
        padding-bottom: 3vh;
        width: 100%;
    }
    .AssemblerControls h1 {
        font-size: 1rem;
        margin: .5rem;
    }
    .AssemblerControls .toggle {
        margin-right: 10px;
    }
    .switchLabel {
        margin: 1vmin;
    }
    .switchBody {
        width: 40px;
    }
    .switchBody input {
        opacity: 0;
        width: 10px;
        height: 0;
    }
    .slider {
        width: 40px;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: .4s;
    }
    .slider:before {
        height: 10px;
        width: 10px;
        bottom: 5px;
        transition: .4s; 
    }
    input:checked + .slider >#tc {
        transform: translateX(25px);
        transition: 0.4s
    }
}

.disabled {
    cursor: not-allowed;
}

/* For devices with width between 769px and 1279px, like landscape tablets and laptops */
@media only screen and (min-width: 481px) {
    .TextAreas{
        height: calc(91.5vh - 6.8em);
    }
    .h1{
        font-size: 2rem;
    }
    #assemblerBtn {
        margin-top: 1em;
        padding-top: 3vh;
        padding-bottom: 3vh;
        font-size: 2em;
        width: 100%;
    }
    .AssemblerControls h1 {
        font-size: 1rem;
        margin: .5rem;
    }
    .AssemblerControls .toggle {
        margin-right: 10px;
    }
    .switchLabel {
        margin: 1vmin;
    }
    .switchBody {
        width: 40px;
    }
    .switchBody input {
        opacity: 0;
        width: 10px;
        height: 0;
    }
    .slider:before {
        height: 10px;
        width: 10px;
        bottom: 5px;
        transition: .4s; 
    }
    input:checked + .slider >#tc {
        transform: translateX(25px);
        transition: 0.4s
    }
}

/* For devices with width of 480px and less, like phones */
@media only screen and (max-width: 480px) {
    .TextAreas{
        height: calc(91.5vh - 6.8em - 115px);
    }
    .h1{
        font-size: 2rem;
    }
    #assemblerBtn {
        margin-top: 1em;
        padding-top: 3vh;
        padding-bottom: 3vh;
        font-size: 2em;
        width: 100%;
    }
    .AssemblerControls h1 {
        font-size: 1rem;
        margin: .5rem;
    }
    .AssemblerControls .toggle {
        margin-right: 10px;
    }
    .switchLabel {
        margin: 1vmin;
    }
    .switchBody {
        width: 40px;
    }
    .switchBody input {
        opacity: 0;
        width: 10px;
        height: 0;
    }
    .slider {
        width: 40px;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transition: .4s;
    }
    .slider:before {
        height: 10px;
        width: 10px;
        bottom: 5px;
        transition: .4s; 
    }
    input:checked + .slider >#tc {
        transform: translateX(25px);
        transition: 0.4s
    }
}


.slider {
    border-radius: 5px;
    width: 40px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: .4s;
    position: absolute;
    cursor: pointer;
    background-color: #444444;
}
#tc {
    top: -7px;
    left: -8px;
    transition: 0.4s;
}

h1{
    font-family: Courier, monospace;
    font-weight: lighter;
    color: white;
}
#assemblerBtn {
    background-color: black;
    border: 2px black;
    color: white;
    display: inline-block;
    font-family: Courier, monospace;
}
#assemblerBtn:active{
    background-color: #272727;
}
button {
    background-color: black;
    color: white;
    display: inline-block;
    font-family: Courier, monospace;
}

/* TEXT AREA STUFF */

.TextAreas{
    display: flex;
    color: white;
    font-family: Courier, monospace;    
    font-size: 1.5em;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    scrollbar-width: thin;
}

textarea.textArea  {
    text-transform: uppercase;
    scrollbar-width: none;
    font-family: Courier, monospace;
}

.textArea {
    width: 100%;
    height: 100%;
    margin: 0 .15em;
    padding: 5px;    
    resize: none;
    border: 1px solid black;

    white-space: pre;
    overflow-wrap: normal;
    overflow-y: scroll;
    overflow-x: auto;

    font-size: inherit;
    color: inherit;

    background-color: #222222;

    position: relative;

    flex-grow: 1;
}

textarea::-webkit-scrollbar {
    display: none;
}

#AssemblyOutput {
    overflow-x: hidden;
}


.textArea:focus{
    outline: none;
    border-color: #349;
}

/* LINE NUMBER */


.lineNumbers {
    height: 100%;
    display: flex;    
    flex-direction: column;
    overflow-y: scroll;
    overflow-x: hidden;

    -ms-overflow-style: none;   /* IE and Edge */
    scrollbar-width: none;      /* Firefox */
    
    margin: 0;      /* values from text area */
    padding: 5px 0 0 0;     /* values from text area */
    min-width: 2.5em;

    color: rgb(126, 126, 126);
    font: inherit;
    text-align: center;
    width: max-content;
}

/* hide scrollabar for Chrome, Safari and Opera*/
.lineNumbers::-webkit-scrollbar {
    display: none;
}

/* END OF LINE NUMBERS*/

/* END OF TEXT AREA */

.AssemblerControls {
    justify-content: flex-start;
    align-items: center;
    display: flex;
    flex-direction: row;
    margin: 0 0.5em;
}
.AssemblerControls h1 {
    font-family: Courier, monospace;
    font-weight: lighter;
    color: white;
}
.AssemblerControls .toggle {
    margin-left: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
}
html, body {
    margin: 0%;
    padding: 0%;
    height: 100%;
    width: 100%;
    min-height: 100%;
    min-width: 100%;
    background-color: #333333;
}
.switchLabel {
    font-family: Courier, monospace;
    font-weight: lighter;
    color: white;
    margin: 1em;
}
.button {
    cursor: pointer;
}
.switchBody {
    position: relative;
    display: inline-block;
}
input:checked + .slider {
    background-color: #005000;
}
.slider:before {
    position: absolute;
    content: "";
    /* background-color: white; */
}
#tc {
    position: absolute;
}

.downloadBtn {
    cursor: pointer;
    width: 20px;
    height: 25px;
    margin: 0.5em;
    /* display flex so that random whitespace doesn't appear underneath the image */
    display: flex;
}

.downloadBtn:hover {
    box-shadow: 4px 4px 7px  #000000 ;
}

.binaryFile {
    flex-shrink: 0;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(135deg) brightness(110%) contrast(101%);
}

/* ERROR HIGHLIGHTING DON'T DELETE THIS */

.highlightError {
    text-decoration: underline wavy red;
    padding: 0px 2px 0px 2px;
    border: 1px solid transparent;

    /* To make the popup (position absolute) appear properly */
    position: relative;
}

.highlightError:hover {
    border: 1px solid red;
    text-decoration: none;
    background-color: rgba(255, 115, 115, 0.233);
    border-radius: 6px;

}


.errorText {
    font-style: italic;
}

/* POPUP */

.highlightError:hover .popupError{
    visibility: visible;
    animation: fadeIn 0.2s;
}

@keyframes fadeIn {
    from {opacity: 0;} 
    to {opacity: 1;}
}

@keyframes fadeOut {
    from {opacity: 1;}
    to {opacity: 0;}
}


.popupError {
    visibility: hidden;
    animation: fadeOut 0.2s;
    
    position: absolute;
    display: inline-block;
    font-size: 80%;
    top: 1.5em;
    left: 50%;
    transform: translateX(-50%);
    background-color: #000000;
    padding: 5px 10px;
    z-index: 100;
    border-radius: 15px;
    border: thin dashed #ffe600;

    box-shadow: 10px 10px 20px black;

    text-align: center;
}

/* END POPUP */

/* END OF ERROR HIGHLIGHTING*/

