:root {
	--window-padding: 0.5rem;
}
html {
	font-size: 16px;
}
html,
body {
	margin: 0;
	padding: 0;
}
#map {
	z-index: 0;
	height: 100vh;
}
#form {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1000;
	width: 100%;
	pointer-events: none;
	display: flex;
	justify-content: space-between;
	transition: transform 0.3s;
}
[data-peeking="true"] {
	transform: translateX(-90px);
}
#form > * {
	margin: var(--window-padding);
	pointer-events: auto;
}

#add {
	border: 1px solid gray;
	padding: 0.5rem;
	cursor: pointer;
	margin: 0.5rem 0rem;
}
.from,
.to {
	text-align: center;
}
.mins {
	text-align: center;
}
.leaflet-tooltip {
	background-color: var(--tooltip-color);
	border: 0;
}
.leaflet-tooltip-right::before {
	border-right-color: var(--tooltip-color);
}
.leaflet-tooltip-left::before {
	border-left-color: var(--tooltip-color);
}
.directions-list {
	margin: 0;
	padding: 0;
	list-style: none;
	position: fixed;
	bottom: var(--window-padding);
	left: var(--window-padding);
}
.directions-list > li {
	margin: 0;
	padding: 0;
}
.directions-list > li > p {
	display: inline-block;
	padding: 0rem 0.5rem;
	max-width: calc(100vw - 6rem);
}
.remove {
	background-color: transparent;
	cursor: pointer;
	float: right;
}

fieldset {
	border: 0;
}

.input {
	position: relative;
	background: white;
}
.buttons {
	display: grid;
}

.buttons button {
	border-color: green;
	border-width: 1px 1px 0 0;
	border-style: solid;
	display: block;
	width: 100%;
}
.buttons button:last-child {
	border-bottom-width: 1px;
}

.input {
	border-color: green;
	border-width: 0 0 0 1px;
	border-style: solid;
}
.controls > :first-child {
	border-left: none;
}

@media (max-width: 1015px) {
	#controls-set,
	.controls {
		flex-direction: column;
	}
	.buttons button {
		border-width: 0 1px 1px 1px;
	}

	.input {
		border-width: 0 0 1px 0;
	}
	.controls :last-child {
		border-width: 0;
	}
}

button,
.button {
	border: none;
	background: inherit;
	padding: 0.5rem;
	font-size: 0.9rem;
	font-family: system-ui;
	margin: 0;
}
.button {
	color: blue;
	cursor: pointer;
	background: white;
}
.button[disabled] {
	opacity: 0.5;
	cursor: default;
}

.slider-label {
	color: blue;
	cursor: default;
	text-align: center;
}
.break {
	flex-basis: 100%;
	height: 0;
}

[data-toggled] {
	/*position: absolute;*/
	/*top: 3rem;*/
}
[data-toggled="false"] {
	display: none;
}
[data-toggled="true"] {
	display: block;
}

.directions {
	height: 100%;
	display: flex;
	align-items: center;
	position: relative;
}
@media (max-width: 800px) {
	.directions {
		display: block;
	}
	.directions button {
		padding: 0.5rem 0;
	}
}
.directions button {
	cursor: pointer;
}
.autocompleter {
	position: relative;
}
.autocompleter input {
	font-size: 1rem;
	height: 2rem;
	border: 2px solid rgb(238, 238, 238);
}

fieldset[data-toggled] {
	width: 300px;
}
input[type="range"] {
	width: 100%;
}
.label {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.label label {
	font-size: 0.8rem;
}
.label label:last-child {
	text-align: right;
}
.label output {
	text-align: center;
}
.route-icon {
	/*background: white;*/
}
.route-icon > svg {
	width: 100%;
	height: 100%;
}

.icon-from .icon-from-line {
	display: initial;
}
.icon-from .icon-to-line {
	display: none;
}

.icon-to .icon-to-line {
	display: initial;
}
.icon-to .icon-from-line {
	display: none;
}

.autocompleter ul {
	position: absolute;
	top: calc(100% - 5px);
	left: 0;
	background: white;
	margin: 0;
	list-style: none;
	padding: 0;
}
.autocompleter li {
	padding: 0.4rem;
}
.autocompleter li:focus {
	background: purple;
	color: white;
	outline: none;
}
.thumb {
	transform: rotate(var(--rotate));
	display: inline-block;
}
.button-border {
	border: 1px solid green;
}
.slider {
	background: white;
}
#controls-set {
	display: flex;
}
.mobile-hider {
	align-self: flex-start;
	color: green;
	font-weight: bold;
}
@media (min-width: 600px) {
	.mobile-hider {
		display: none;
	}
}
.controls {
	display: flex;
	border: 1px solid green;
}
.controls [data-toggled] {
	position: absolute;
	top: 2rem;
	z-index: 1000;
}
[data-button-toggled="true"] {
	box-shadow: inset 0px 0px 10px green;
}
.directions-list[data-toggled] {
	position: fixed;
	top: auto;
	bottom: 1rem;
}
#directions-input {
	align-self: start;
	display: flex;
	background: white;
	padding: 1rem;
	border: 10px solid;
	border-image-source: repeating-linear-gradient(
		30deg,
		orange,
		purple,
		rgb(77, 159, 12) 10px
	);
	border-image-slice: 20;
}
#directions-input .button {
	border: 1px solid black;
	margin-left: 0.5rem;
}
#avoids-instructions {
	z-index: 1000;
	background: white;
	bottom: 0;
	left: 0;
	position: absolute;
	margin: 0;
	padding: 1rem;
}
#jeffs-prefs {
}
