@import url('https://fonts.googleapis.com/css2?family=Fira+Sans+Condensed&display=swap');

* { font-family: 'Fira Sans Condensed', sans-serif; font-size: 16px; }
body { margin: 0; padding: 0; background-color: #0077cc; background-position: center center; background-repeat: no-repeat; background-attachment: fixed; background-size: cover; }

/* Animations */
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

/* Modal */
#modal_container { display: none; position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; background-color: rgba(0, 0, 0, 0.5); }
#modal { position: absolute; top: 5%; left: 50%; width: fit-content; transform: translateX(-50%); background-color: white; border-radius: 5px; padding: 20px; box-shadow: 0 3px 10px 5px rgba(0, 0, 0, 0.3); overflow: hidden; }
/* #modal { position: absolute; top: 5%; left: 50%; width: 400px; margin-left: -200px; background-color: white; border-radius: 5px; padding: 20px; box-shadow: 0 3px 10px 5px rgba(0, 0, 0, 0.3); overflow: hidden; } commented by torrio on 26.07.2020*/
#modal_title { text-align: center; font-size: 20px; color: black; }
#modal_content { font-size: 16px; color: black; max-height: 400px; padding: 20px 0; overflow-x: hidden; overflow-y: auto; }
#modal_buttons { text-align: right; }
.modal_button { display: inline-block; background-color: #0077cc; border-radius: 2px; color: white; margin-left: 20px; padding: 10px; cursor: pointer; }

/* Toast */
#toast { display: none; position: fixed; top: 5%; left: 50%; width: 50%; transform: translateX(-50%); text-align: center; font-size: large; background-color: white; border-radius: 25px; padding: 30px; box-shadow: 0 3px 10px 5px rgba(0, 0, 0, 0.3); overflow: hidden; }

/* Loader */
#loader_container { display: none; position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; background-color: rgba(255, 255, 255, 0.3); }
#loader { position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; margin-left: -50px; margin-top: -50px; border: 11px solid #f3f3f3; border-top: 11px solid #3498db; border-radius: 50%; animation: spin 2s linear infinite; }
#loader_text_container { position: absolute; top: 50%; left: 0; width: 100%; margin-top: 100px; text-align: center; }
#loader_text { display: inline-block; padding: 5px 10px; color: black; background-color: white; border-radius: 5px; font-size: 20px; text-align: center; }

/* Main */
.page_container { display: block; position: fixed; left: 0; right: 0; top: 0; bottom: 0; width: 100%; height: 100%; }
.footer_copyright { position: fixed; bottom: 0; width: 100%; font-size: 12px; color: white; text-align: center; }
.float_container { overflow: hidden; }
.float_left { float: left; }
.float_right { float: right; }
.float_clear { height: 1px; width: 1px; clear: both; }
.app_button { display: inline-block; padding: 5px 10px; background-color: #0077cc; border-radius: 2px; color: white; cursor: pointer; }
.display_none { display: none; }
.opacity_10 { opacity: 0.1; }
.cursor_prohibit { cursor: not-allowed !important; }

/* Top header */
.top_header { position: relative; background: rgba(255,255,255,0.4); padding: 20px; text-align: center; }
.top_header_icon { margin-right: 20px; vertical-align: middle; }
.top_header_text { display: inline-block; padding-top: 10px; font-size: 30px; font-family: "Comic Sans MS"}

/* Map */
.map_label { color: white !important; background-color: rgba(0, 0, 0, 0.7) !important; padding: 2px 5px !important; border-radius: 2px !important; font-size: 12px !important; }
.gm-fullscreen-control { display: none; }

/* Login */
.login_box { display: block; position: fixed; width: 300px; left: 50%; top: 50%; margin: -130px 0 0 -150px; background-color: white; border-radius: 5px; padding: 20px; box-shadow: 0 3px 10px 5px rgba(0, 0, 0, 0.3); overflow: hidden; }
.login_box span { display: block; font-size: 16px; }
.login_box input { display: block; margin-bottom: 10px; font-size: 20px; }
.login_box input[type=text], .login_box input[type=password] { width: 100%; padding: 8px; -webkit-appearance: none; background: transparent; border: 1px solid #CCCCCC; border-radius: 2px; }
.login_header { text-align: center; font-size: 24px; }
.login_box input[type=button] { width: 100%; margin: 15px 0 0 0; padding: 10px; background-color: #0077cc; border: none; border-radius: 2px; color: white; cursor: pointer; }

/* Add Point Dialog */
#add_point_container { display: none; position: fixed; left: 0px; top: 0px; right: 0px; bottom: 0px; background-color: #00000055; }
#add_point_box { position: absolute; top: 10%; left: 50%; width: 400px; margin-left: -200px; background-color: white; border-radius: 10px; padding: 20px; overflow: hidden; }
#add_point_box input { width: 280px; }
#add_point_header { font-size: 16px; padding-bottom: 10px; font-weight: bold; color: black; text-align: center; }
#add_point_box table td:first-child { width: 30%; text-align: right; }
#add_point_box table td:last-child { width: 60%; text-align: left; }