html, body { margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; } body { display: flex; flex-direction: column; min-height: 100vh; } main { flex: 1; display: flex; flex-wrap: wrap; } .leaflet-container { flex: 2; min-width: 300px; min-height: 60vh; } #options { flex: 1; min-width: 300px; } file-drop { position: relative; box-sizing: border-box; display: block; padding: 10px; background-color: rgba(245, 234, 174, 0.2); overflow: hidden; touch-action: none; } file-drop::after { content: ''; position: absolute; display: block; left: 2px; top: 2px; right: 2px; bottom: 2px; border: 2px dashed #fff; background-color: rgba(88, 116, 88, 0.2); border-color: rgba(65, 129, 65, 0.5); border-radius: 10px; opacity: 0; transform: scale(0.95); transition: all 200ms ease-in; transition-property: transform, opacity; pointer-events: none; } .drop-valid::after { opacity: 1; transform: scale(1); transition-timing-function: ease-out; } .drop-invalid::after { background-color: rgba(255, 27, 27, 0.2); border-color: rgba(255, 170, 170, 0.5); opacity: 1; transform: scale(1); transition-timing-function: ease-out; }