 * {
     margin: 0;
     padding: 0;
 }

 body {
     background-color: lightgray;
     margin: 50px auto;
     margin-bottom: 0;
     width: 800px;
 }

 .title {
     width: 180px;
     padding-top: 2px;
     height: 40px;
     border-radius: 16px 16px 0 0;
     border-left: 1px solid gray;
     border-right: 1px solid gray;
     border-top: 1px solid gray;
     background-color: #a0a0a0;
     z-index: -1;
     color: #fff;
     text-align: left;
 }






 .title h1 {
     margin-top: 0px;
     font-size: 16px;
     text-align: center;
 }



 .explanationClass {
     position: absolute;
     left: -1px;
     top: -1px;
     background-color: #c5cde6;
     width: 800px;
     display: flex;
 }

 #explanation {

     height: 32px;

     border: 1px solid gray;
     border-radius: 16px 16px 16px 16px;

 }

 #explanationActive {

     height: 500px;
    z-index: 10;
     border: 1px solid gray;
     border-radius: 16px 16px 16px 16px;
 }


 .explanationOpen {
     width: 32px;
     height: 32px;
     border: 1px solid gray;
     border-radius: 16px;
     text-align: center;
     /* margin-left: auto; */
     margin-left: -1px;
     margin-top: -1px;
     box-sizing: content-box;
     cursor: pointer;

 }

 .explanationOpen p {
     font-size: 20px;
     font-weight: bold;
     line-height: 32px;
    margin-top: -4px;
    width: 32px;
 }

 

 .explanationText {
    margin-left: 4px;
    margin-right: 36px;
 }

 .explanationText h1 {
    font-size: 20px;
    font-weight: 100;
    transform: scale(1, .9);
    line-height: 32px;
    letter-spacing: 7px;
 }
 .explanationText small {
    font-size: 10px;
    font-weight: 100;
    transform: scale(1, .9);
    line-height: 10px;
    letter-spacing: 0px;
    position: absolute;
    top: 15px;
 }

 .explanationText p,
 .explanationText hr {
     display: none;
 }

 #explanationTextActive p {
     display: block;
     margin-bottom: 3px;
     font-size: 12px;
     line-height: 25px;
     letter-spacing: 2px;
 }

 #explanationTextActive hr {
    display: block;
    border:none;
    border-top: 1px dashed gray;
    margin:0 -25px 10px -5px;
    
 }



 input {
     font-size: 12px;
     text-indent: 10px;
     width: 50px;
     box-sizing: border-box;
     border-radius: 12px;
     border: 1px solid gray;
 }


 section {
     width: 800px;
     height: 750px;
     padding: 0px;
     border: 1px solid gray;
     border-radius: 16px;
     margin-top: -12px;
     z-index: 1;
     background-color: #e4e8ed;
     display: flex;
     justify-content: center;
     position: relative;
 }

 .construction {
     background-image: repeating-linear-gradient(45deg, yellow, yellow 30px, #000000 30px, #000000 60px);
     height: 28px;
     margin-top: 20px;
     padding-top: 0px;
 }

 .constructionText {
     background: yellow;
     width: fit-content;
     padding: 0 5px;
     font-size: 20px;
     line-height: 26px;
     margin: 0 auto;
     border-radius: 13px;
     font-weight: bold;
     border: 1px solid #000;

 }

 .canvas {
     margin: 50px auto 5px auto;
     height: 500px;
     width: fit-content;
     display: flex;
     justify-content: center;
     background-color: #c4c6cc00;
     /* background-size: cover; */
     position: relative;
 }


 svg {
     border: 1px solid black;
     position: absolute;
     cursor: crosshair;
 }

 .traceLayer {
    height: 25px;
    width: 100%;
    display: flex;
    margin-bottom: 6px;
    align-items: center;
 }
.traceLayer input{
    width: auto;
    text-indent: 0;
    border: 0;
    
    font-size: 10px;
}
.traceLayer p {
    margin-right: 0px;
    width: 125px;
}
.traceLayer label {
    width: 17px;
}
.traceLayer button {
    width: 17px;
    margin-right: 10px;
}

#bgimageLoader{
    width: 180px;
    border-radius: 0;
}
#imageOpacity {
    margin-left: 10px;
    width: 143px;
    
    appearance: none;
    height: 5px;
}
#imageOpacity::-webkit-slider-runnable-track{
    background: white;
    height: 5px;
    border-radius: 2.5px;
    border: 1px solid gray;

}

#imageOpacity::-webkit-slider-thumb {
    appearance: none;
    background-color: gray;
    width: 3px;
    height: 3px;
    transform: scale(4);
    border-radius: 1.5px;

}

 .traceImageLayer {
     position: absolute;
    z-index: -1;
    background-size: cover;
    
 }

 hr {
    border: none;
    border-top: 1px solid white;
 }

 .dotHr {
    border: none;
    border-top: 5px dotted white;
    margin: 20px -20px 5px -20px;
 }

 .solidHr {
    border: none;
    border-top: 2px solid white;
    margin-bottom: 8px;
 }

 /* button:not(.inputButton, .resetButton, .explanationOpen) */
 .uiPanel button{
     border: 1px solid gray;
     border-radius: 14px;
     height: inherit;
     width: calc(100% / 3);
     margin-left: auto;
     margin-right: 0;
     font-size: 16px;
 }

 .uiPanel {
     display: flex;
     gap: 10px;
     height: 48px;
     width: 500px;
 }

 .inputPanel {
     /* display: grid; */
     /* grid-template-columns: repeat(1, 1fr); */
     display: flex;
     justify-content: space-between;
     height: 54px;
     margin-bottom: 4px;
 }

 .panelInputArea {
     display: block;
 }

 .board,
 .stroke {
     display: flex;
     gap: 12px;
     height: 24px;
 }

 .board {
     margin-bottom: 6px;
 }

 label {
     font-size: 12px;
 }

 #selectColor {
     border: none;
     height: 24px;
     width: 52px;
     background-color: #e4e8ed;
     box-sizing: border-box;
 }



 .inputButton,
 .resetButton {
     height: 48px;
     width: 48px;
     margin-top: 5px;
     border-radius: 14px;
     border: 1px solid gray;
 }

 .resetButton {
     width: 60px;
 }


 Button:hover {
     color: red;
 }

 Button:disabled {
     color: lightgrey;
 }

 footer a {
     color: gray;
 }

 footer a:hover {
     color: red;
 }