html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: #e9ebee;
    user-select: none;
    overflow: auto;
}

p {
    padding: 5px;
    margin: 0 0 1em 0;
    font: 300 1.25rem Arial;
    color: #292b2c;   
}

h1 {
    padding: 5px;
    margin: 0;
    font: bold 1rem Roboto;
    color: #292b2c;
}

h2{
    padding: 5px;
    margin:0;
    font:  bold 1rem Helvetica;
    color: #292b2c;
}

input {
    box-sizing: border-box;
    font-size: 1rem;
}

.header {
    font-family: Arial;
    padding-left : 60px;
    text-align: left;
    background-color: #f5f5f5;
    color: white;
    font-size: 30px;
    font: bold 35px Arial; 
    color: #3366cc;
    text-align: left ;
    padding : 5 px; 
    padding-left : 30px;
  }

.center-flex {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: auto;
}

.center-flex.shared {
	box-sizing: border-box;
    /* padding-bottom: 12vh; */
    overflow: auto;
}

.center-flex > .container {
    max-width: 80%;
    min-width: 30%;
    min-height: 80%;
    padding: 20px;
    text-align: center;
    background-color: #ffffff;
    border-radius: 5px;
    box-shadow: 0 1px 2px #0000001f;
    overflow: auto;
}

@media screen and (max-width: 800px) {
    .center-flex > .container {
      max-width: 100%; /* The width is 100%, when the viewport is 800px or smaller */
      overflow: auto;
      min-width: 10%;
      font: 300 1rem Arial;
    }
  }

.horizontal-evenly-flex {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    overflow: auto;
}

.img-div {
    box-sizing: border-box;
    width: 100%;
    padding: 3px;
    overflow: hidden;
    display: flex;
}

.img-div > div {
	flex: 1;
	text-align: center;
}

.img-div > div > img {
	box-sizing: border-box;
    max-width: 100%;
    max-height: 100%;
    vertical-align: bottom;
}

.border {
    border: 1px solid #777777;
}

img.padding {
    box-sizing: border-box;
    padding: 3px;
}

img[src=""], img:not([src]) { 
    display: none;
}

.img-div:not(.rotation) > div > img {
	box-shadow: 0px 1px 2px #00000045;
}

.split-flex {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
}

.split-flex > .left-center-flex {
	box-sizing: border-box;
    height: 100%;
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #ffffff;
	box-shadow: 0 1px 2px #0000001f;
}

.split-flex > .right-center-flex {
    height: 100%;
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.right-center-flex > .container {
	box-sizing: border-box;
    width: 75%;
    padding: 40px;
    text-align: center;
    background-color: #ffffff;
	border-radius: 5px;
	box-shadow: 0 1px 2px #0000001f;
}

.horizontal-img-flex {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.horizontal-flex {
    width: 100%;
    overflow-y:auto; 
    position:relative;
    background-color: #e2e2e2 
}

.horizontal-img-flex > div {
    width: 100%;
    flex: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
}

.horizontal-img-flex > div> div {
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.horizontal-img-flex > div > div > div {
    box-sizing: border-box;
    height: 100%;
    padding: 5px;
}

.horizontal-img-flex > div > div > div > img {
    height: 100%;
}

.footer-controls-flex {
	position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    padding-bottom: 20px;
    padding-right: 10px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    pointer-events: none;
}


.control-container {
    box-sizing: border-box;
    width: 100px;
    margin-right: 10px;
    margin-left: 10px;
    padding: 10px;
    text-align: center;
    background-color: #FFFFFF;
    border-radius: 10px;
	box-shadow: 0px 1px 3px #00000045;
}

.control-container:not(.disabled) {
    pointer-events: auto;
    cursor: pointer;
}

.disabled {
    filter: grayscale(100%);
    background-color: #dcdcdc;
    pointer-events: none;
}

.control-container > .control {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 10px;
}

.control-container > .control > img {
    width: 60%;
    vertical-align: middle;
}

.control-container > .control > .centered {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font: 700 3rem Arial;
    color: #FFFFFF;
}

.control-container > .text {
    box-sizing: border-box;
    width: 100%;
    font: 700 1rem Arial;
    color: #000000;
}

.dropup {
    position: relative;
    display: inline-block;
}
  
.dropup-content {
    display: none;
    position: absolute;
    background-color: #ffffff;
    min-width: 160px;
    bottom:  80px;
    z-index: 10;
}
  
.dropup-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
  
.dropup-content a:hover {background-color: rgb(109, 189, 221)}
  
.dropup:hover .dropup-content {
    display: block;
}
  
/* .dropup:hover .control-container {
    opacity: 0.85;
} */

@media screen and (max-width: 600px) {
    .control-container {
        box-sizing: border-box;
        width: 50px;
        margin-right: 5px;
        margin-left: 5px;
        padding: 5px;
        text-align: center;
        background-color: #FFFFFF;
        border-radius: 5px;
        box-shadow: 0px 1px 3px #00000045;
    }

    .control-container > .text {
        box-sizing: border-box;
        width: 100%;
        font: 700 0.50rem Arial;
        color: #000000;
    }

    .control-container > .control {
        position: relative;
        box-sizing: border-box;
        width: 100%;
        padding: 10px 10px;
    }
    .control-container > .control > img {
        width: 100%;
        vertical-align: middle;
    }

    .header{
        font: bold 23px Arial;
        color: #3366cc;
        text-align: left;
        padding: 5 px;
        padding-left: 10px;
    }

  }

#dropzone {
    margin: 20px;
    padding: 20px;
    border: 2px dashed #ccc;
    border-radius: 5px;
}

#dropzone.hover {
    background-color: #add8e6;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.5;
    z-index: 1000;
}

#map {
    height: 100%;
    width: 100%;
}

#map-container {
    position: relative;
}

.hidden {
    display: none;
}

.clickable:hover {
    cursor: pointer;
}

.recording {
    animation: blinker 1s cubic-bezier(0, 0, 0, 1) infinite;
}

@keyframes blinker {
    50% {
        filter: saturate(175%);
    }
}

/* ----- Search box ----- */
.pac-item {
	padding: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 1.25rem;
    font-family: Roboto;
}

.pac-item-query {
	padding-right: 10px;
	font-size: 1.5rem;
    font-family: Roboto;
}

.pac-controls label {
    font-family: Roboto;
    font-size: 1.5rem;
    font-weight: 300;
}

.pac-container.pac-logo.hdpi::after {
	display: none;
}

#searchbox {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    box-sizing: border-box;
    width: 80%;
	margin: 20px 10%;
	padding: 10px 10px 10px 13px;
    background-color: #FFFFFF;
    font-family: Roboto;
    font-size: 1.5rem;
    font-weight: 300;
    text-overflow: ellipsis;
}

#searchbox:focus {
    border-color: #3366cc;
}

/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 100000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    -webkit-animation-name: fadeIn; /* Fade in the background */
    -webkit-animation-duration: 0.4s;
    animation-name: fadeIn;
    animation-duration: 0.4s
}
  
/* Modal Content */
.modal-content {
    position: fixed;
    bottom: 0;
    background-color: #fefefe;
    width: 100%;
    max-height: 100%;
    max-width: 100%;
    overflow: auto;
    -webkit-animation-name: slideIn;
    -webkit-animation-duration: 0.4s;
    animation-name: slideIn;
    animation-duration: 0.4s
}

.close {
    color: white;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
  
.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}
  
.modal-header {
    padding: 2px 16px;
    background-color: #3366cc;
    color: white;
}
  
.modal-map {
    padding: 10px 16px;
    margin-left: auto;
    margin-right: auto;
    height: "90%";
}
.modal-body {
    padding: 5px 5px;
    /* margin-left: auto;
    margin-right: auto; */
}
  
.modal-footer {
    padding: 2px 16px;
    background-color: #3366cc;
    color: white;
}
  
  /* Add Animation */
  @-webkit-keyframes slideIn {
    from {bottom: -300px; opacity: 0} 
    to {bottom: 0; opacity: 1}
  }
  
  @keyframes slideIn {
    from {bottom: -300px; opacity: 0}
    to {bottom: 0; opacity: 1}
  }
  
  @-webkit-keyframes fadeIn {
    from {opacity: 0} 
    to {opacity: 1}
  }
  
  @keyframes fadeIn {
    from {opacity: 0} 
    to {opacity: 1}
  }