:root { /* canvas for texture width percentage */ --canvasimgw: 0.42; /* canvas width and height */ --canvasw: 900px; --canvash: 600px; /* canvas margin in handleWindowResize */ --mleft: 20px; /* time line width percentage */ --tline: 95%; /* minumum font size */ --fsize: 15px; /* tooltip font size: tipsize * 1rem */ --tipsize: 0.57; } *, *::before, *::after { /* include the borders and padding as part of the CSS width property */ box-sizing: border-box; margin: 0; padding: 0; } body, html { background-color: antiquewhite; overflow-x: hidden; /* https://matthewjamestaylor.com/responsive-font-size */ font-size: calc(var(--fsize) + 0.390625vw); /* prevents iOS from changing text sizes */ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } .container { width: var(--canvasw); margin: 0 auto; } img { max-width: 100%; height: auto; } #theCanvas { width: var(--canvasw); height: var(--canvash); margin: 0; cursor: crosshair; } .flex-container { display: flex; justify-content: space-between; margin-bottom: 2em; } /* https://dev.to/drews256/ridiculously-easy-row-and-column-layouts-with-flexbox-1k01 */ .row { display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; } .column { display: flex; flex-direction: column; flex-basis: 100%; flex: 1; } .interface { width: var(--canvasw); margin: 0; } .btns { width: 45%; margin-bottom: 2em; } .lbtns { display: flex; flex-direction: row; justify-content: space-between; } label, #locInfo { font-size: 1.5rem; line-height: 2em; } #models { font-size: 2rem; width: 100%; } .legenda { width: fit-content; font-size: 1.5rem; text-align: center; } .imgcontainer { position: relative; width: fit-content; touch-action: manipulation; cursor: crosshair; margin: 0 auto; } #canvasimg { position: absolute; width: calc(var(--canvasw) * var(--canvasimgw)); top: 0; left: 0; pointer-events: none; z-index: 1; } #models, #country, #screenshot, button { border: 0; outline: 0; border-radius: 8px; background-color: lightsteelblue; color: black; height: 2em; padding: 0 1em; margin: 0.15em 0.25em 0.15em 0; touch-action: manipulation; white-space: nowrap; } #country, #screenshot { font-size: 1.8rem; padding: 0 1em; } .btlevel { font-size: 2rem; } #radio > label { margin-right: 1em; } label { margin-right: 2em; } /* represents the first element, counting from the end */ label:nth-last-child(1) { margin-right: 0; } .lbllatlon { margin-left: 4em; } #lat, #lon, #search { text-align: center; margin: 0 2em 2em 0; } .lblsearch { margin-left: 4em; } input[type="text"] { height: 2em; font-size: 1.2rem; min-width: 9em; } .dms { justify-content: space-between; } .initial { flex: initial; } .auto { flex: auto; } .none { flex: none; } .column-left, .column-right { flex: 1; /* Makes both columns take up equal width */ } .checkbox { font-size: 1.5rem; margin-right: 0; padding: 0; } #tooltip, #canvastip { position: absolute; z-index: 2; background-color: rgba(300 300 300 / 0.5); color: black; padding: 3px; font-size: calc(var(--tipsize) * 1rem); display: none; pointer-events: none; } #cls, #anim, #print { font-size: 1.8rem; padding: 0 1em; width: 100%; text-overflow: clip; overflow: hidden; } datalist { display: flex; justify-content: space-between; margin: 0.5em 0; color: red; width: var(--tline); } #options { font-size: 1rem; padding: 0; } #object { margin-right: 0; width: 100%; font-size: 1.2rem; white-space: nowrap; } #size { margin-bottom: 3px; } figure { margin: 0; } #lblTimeline { margin-left: 5em; font-size: 1.5rem; font-style: italic; } #lbltexture { margin-right: 1em; } #textimg { width: calc(var(--canvasw) * var(--canvasimgw)); } #sites, #doc { margin-top: 2em; padding: 0; font-size: 1.5rem; font-style: italic; color: darkblue; width: fit-content; text-align: center; } .custom-select, select { font-size: 1rem; height: 2rem; width: 50%; background-color: wheat; color: black; border: solid 2px lightsteelblue; border-radius: 10%; text-align-last: center; } select, ::picker(select) { @supports (appearance: base-select) { &, &::picker(select) { appearance: base-select; } } } select option, select optgroup { font-size: 1rem; } select option:checked { font-weight: bold; color: red; } selectedcontent, ::picker-icon { margin: auto auto; } ::picker-icon { font-size: 0.7rem; } ::picker(select) { background: inherit; border-color: transparent; border-radius: 0.2em; } option::checkmark { font-size: 0.3rem; content: "⬤"; color: #222; } #city { width: fit-content; min-width: 16em; margin-bottom: 2em; } .lblcity { margin: 0 0 0 4em; } #timeline { width: var(--tline); accent-color: #ff5733; } summary { font-size: 2rem; } ul { list-style: none; padding-left: 2em; } .form { margin-top: 50px; } .sideBySide { float: left; margin-right: 3rem; } .sideBySide:nth-last-child(1) { margin-right: 0; padding-right: 0; } details { margin: 2em 0; } .clear_both { clear: both; } .float_right { float: right; width: calc(var(--canvasimgw) * 100%); text-align: center; } /* * On screens that are 320px (iPhone SE) wide or less, * make the columns stack on top of each other * instead of next to each other */ @media (max-width: 320px) and (orientation: portrait) { :root { --canvasimgw: 0.99; } .flex-container { flex-direction: column; } .dms { flex-direction: column; } #object { font-size: 2rem; width: 100%; } } /* * Your landscape mobile styles here */ @media (320px <= max-width <= 568px) and (orientation: landscape) { .flex-container { flex-direction: column; } } /* * Desktop very short. */ @media (height <= 320px) and (hover: hover) { .flex-container { flex-direction: column; } .lbtns { flex-direction: column; } } /* * Desktop very narrow. */ @media ((max-width: 500px) or (max-height: 500px)) and (hover: hover) { :root { --fsize: 6px; } } /* * Styles for devices where hover isn't supported * and touch is primary */ @media (hover: none) and (pointer: coarse) and (max-width: 568px) { :root { --fsize: 6px; } }