dialog {
    position: fixed;
    width: 90%;
    z-index: 10000;
    overflow: auto;
}

.bottom-left {
	position: fixed;
	bottom: 10px;
	left: 10px;
	z-index: 9999;
}

.bottom-right {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
}

.inline {
	display: inline;
}

.block {
	display: block;
}

.hidden {
	display: none;
}

.flex-3col {
	width: 100%;
	
	display: flex;
	flex-direction: row;
}

.flex-3col-item-basis {
	flex-basis: 25%;
}

.flex-3col-item-basis > div {
	flex: 1;
	margin: 0px 10px 0px 0px;
}

.flex-3col-item-grow {
	flex-grow: 1; 
}

.flex-3col-item-grow > div {
	flex: 1;
	margin: 0px 10px 0px 0px;
}

.flex-2col {
	display: flex;
	flex-wrap: wrap;
}

.flex-2col-left {
	flex: 30%;
}

.flex-2col-left > div {
	flex: 1;
	margin: 0px 10px 0px 0px;
}

.flex-2col-right {
	flex: 70%;
}

.flex-2col-right > div {
	flex: 1;
	margin: 0px 10px 0px 0px;
}

.flex-2col-equal {
	flex: 50%;
}

.flex-2col-equal > div {
	flex: 1;
	margin: 0px 10px 0px 0px;
}

@media (max-width: 800px) {
	.flex-3col {
		flex-direction: column;
	}
	.flex-2col-left, .flex-2col-right , .flex-2col-equal {
		flex: 100%;
	}
}

/* The switch - the box around the slider */
.switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* The slider */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
}

input:checked + .slider {
	background-color: #4e73df;
}

input:focus + .slider {
	box-shadow: 0 0 1px #4e73df;
}

input:checked + .slider:before {
	-webkit-transform: translateX(26px);
	-ms-transform: translateX(26px);
	transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
	border-radius: 34px;
}

.slider.round:before {
	border-radius: 50%;
}

/* Snackbar / Toast */
#snackbar {
	visibility: hidden; 
	min-width: 50%; 
	max-width: 50%;
	margin-left: -25%; 
	background-color: #333; 
	color: #fff; 
	text-align: center; 
	border-radius: 2px; 
	padding: 16px; 
	position: fixed; 
	z-index: 1; 
	left: 50%;
	bottom: 30px; 
}

#snackbar.show {
	visibility: visible; 
	-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
	animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
	from {bottom: 0; opacity: 0;}
	to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
	from {bottom: 0; opacity: 0;}
	to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
	from {bottom: 30px; opacity: 1;}
	to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
	from {bottom: 30px; opacity: 1;}
	to {bottom: 0; opacity: 0;}
}  