@import url("./normalize.css");
@import url("./fontawesomeselection.css");
@import url("./animation.css");

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box; 
}
html { max-width: 100%; overflow: hidden;  }
html, 
body {
	width: 100%; height: 100%; 
}
body {
	margin: 0; padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-weight: normal; font-style: normal; font-size: 100%; line-height: 1.25em;
	background: #efefef; color: #555;
	position: relative;
	overflow: hidden;
	cursor: default; 
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: 100%;
	overscroll-behavior-y: contain;
}
body.standalone { background: #efefef; }

h1 { margin: 0; padding: 10px 0; font-size: 150%; }
p,
ul { margin: 1em 0; padding: 0; }
ul { margin-left: 25px; }
a { color: #dfdfdf; }
a:hover { cursor: pointer; }

img { max-width: 100%; height: auto; }

header {
	height: 50px; margin: 0; padding: 0;
	background: #efefef;
	position: absolute; left: 0; right: 0; top: 0; z-index: 10;
}
header strong {
	line-height: 50px; display: block;
	text-align: center;
}
header #menuLink {
	text-decoration: none; text-align: center;
}
nav#menu,
main {
	width: 100%; margin: 0; padding: 0;
	position: absolute; left: 0; right: 0; top: 0; bottom: 0;
}
main {
	background: #fff; z-index: 10;
	transition: transform .5s cubic-bezier(0.23,1,0.32,1);
}

nav#menu { 
	padding: 0 0 20px;
	z-index: 5;
	background: #efefef;
	overflow: scroll; 
	-webkit-overflow-scrolling: touch;
}
header .header-icon,
nav#menu .close-menu {
	width: 50px; height: 50px;
	line-height: 50px;
	font-size: 125%; color: #555;
	text-align: center; text-decoration: none;
	display: inline-block;
}
nav#menu strong.title {
	margin: 0; padding: 0 20px;
	text-align: left; text-transform: uppercase;
	line-height: 50px; font-size: 100%;
	background: #DFDFDF;
}
nav#menu h2 { margin: 0; padding: 5px 20px; background: #fff; font-size: 100%; }
nav#menu ul { margin: 0 20px 20px 20px; padding: 0; }
nav#menu ul li { 
	list-style-type: none; 
	margin: 0; padding: 0;
	border-bottom: 1px solid #DFDFDF;
}
nav#menu ul li a { 
	margin: 0 -10px; padding: 10px 10px;
	color: #333; text-decoration: none;
	display: block; 
}
nav#menu ul li a:hover { background: #fff; color: #000; }

article {
	position: absolute; left: 0; right: 0; top: 50px; bottom: 0;
	padding: 10px;
	background: #fff; color: #555;
	display: none;
	overflow: scroll; 
	overflow-x: hidden; 
	-webkit-overflow-scrolling: touch;

	-webkit-transition: all .4s ease;
	transition: all .4s ease
}
article.active { display: block; }

/*main,*/
header,
footer {
	width: 100%;
}
footer {
	height: 50px; 
	background: #efefef; border-top: 1px solid #ddd; 
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 10;	
	overflow: hidden;
}
#allowNotifications {
	margin: -10px -10px 10px;
	padding: 10px;
	display: none;
}
/*footer nav ul { margin: 0; padding: 0; position: relative;}*/
/*footer nav ul li {*/
/*	width: 33.333333333333333333333333333333333333333333333334%;*/
/*	height: 50px;*/
/*	margin: 0; padding: 0;*/
/*	position: relative;*/
/*	list-style-type: none;*/
/*	float: left;*/
/*}*/
/*footer nav ul li a {*/
/*	padding: 0 5px; text-align: center; line-height: 50px;*/
/*	position: absolute; top: 0; bottom: 0; left: 0; right: 0;*/
/*	!*background: #000; color: #fff;*!*/
/*	color: #444; text-decoration: none;*/
/*	display: block;*/
/*}*/
/*footer nav ul li a:hover { background: #ddd; }*/

.table { border: solid #555; border-width: 0 0 1px 1px; display: table; width: 100%; }
.table .thead { display: table-header-group; }
.table .tbody { display: table-row-group; }
.table .tfoot { display: table-footer-group; }
.table .tr { display: table-row; }
.table .tr .th { display: table-cell; }
.table .tr .td { display: table-cell; }
.table.border-left-0 { border-left-width: 0; }
.table th,
.table td,
.table .th,
.table .td {
	padding: .5em .5em; border: solid #555; border-width: 1px 1px 0 0;
	transition: background 1s linear;
	border-collapse: separate; /* Don't collapse */
	border-spacing: 0;
}
.table th.border-0,
.table td.border-0,
.table .th.border-0,
.table .td.border-0 {
	border-width: 0;
}
.table th.is-today,
.table td.is-today,
.table .th.is-today,
.table .td.is-today {
	background-color: #dff5c3;
}
.table th span,
.table td span,
.table .th span,
.table .td span {
	display: block;
}

.only-admin { display: none; }
body.admin .only-admin { display: initial; }
body.admin .only-guest { display: none; }

.table.resource_table { margin: 20px 0; }
.table.resource_table input { width: 100%; }
.table.resource_table .tr > .th:first-child { width: 50px; }
.table.resource_table .tr > .th:last-child { width: 80px; }

.table.workplace_table {
	border-collapse: separate;
	width: 680px;
	min-width: 100%;
}
.table.workplace_table .worker_name span {
	width: 60px;
	overflow: hidden;
	text-align: left;
	line-height: 1;
	white-space: pre-line;
}
.table.workplace_table tr td {
	position: relative;
}
.table.workplace_table tr td .job_names {
	/*position: absolute; top: 0; right: 0; bottom: 0; left: 0;*/
	display: block;
	/*padding: .5em;*/
}
.table.workplace_table tr td .job_names .job_name {
	display: block; line-height: 1.25; white-space: nowrap;
}
.table.workplace_table tr > th:first-child,
.table.workplace_table tr > td:first-child {
	min-height: 40px;
	position: sticky; left: 0; z-index: 999;
	background: white;
	border-left: 1px solid #555;
}
.table.workplace_table tr th,
.table.workplace_table tr td {
	width: calc(100% / 8);
}
/*.table.workplace_table tr > th:first-child span,*/
/*.table.workplace_table tr > td:first-child span {*/
/*	height: 100%;*/
/*	display: block;*/
/*	padding: .5em .5em;*/
/*	border: solid #555;*/
/*	border-width: 1px 1px 0 1px;*/
/*	background-color: #fff;*/
/*}*/
.table.workplace_table thead tr > th:first-child {
	height: 60px;
}

#workplaces .workplace_table_wrapper {
	position: relative;
	display: block;
	width: 100%;
	overflow-x: auto;
}
#workplaces .workplace_content .hide {
	display: none;
}
#workplaces .workplace_content.active {
	display: block;
}
#workplaces .workplace_content .add_edit_worker {
	margin: 10px 0;
}
#workplaces .workplace_content .copyJobsToNextWeek-wrapper,
#workplaces .workplace_content .add_edit_worker .add-worker,
#workplaces .workplace_content .add_edit_worker .remove-worker {
	padding: 5px;
}
#workplaces .workplace_content .add_edit_worker select {
	display: none; margin-left: 5px;
}

.workplace_wrapper { margin: 0 0 2em 0; }
.workplace_wrapper h2 i { color: #dfdfdf; }
.toggle_workplace { text-decoration: none; color: inherit; }

#homepage .main-title,
.prevWeekButton, .nextWeekButton {
	display: inline-block;
}
.prevWeekButton i, .nextWeekButton i {
	display: inline-block; font-size: 100%;
}

.jobs_select { transition: background 1s linear; max-height: 30px; display: none; }
[disabled] {
	border: transparent; background: none; color: #555;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	opacity: 1;
}
.jobs_select, .jobs_select option { border: none; background: none; border-radius: 3px; }

.button {
	display: inline-block;
	text-decoration: none;
	background: #efefef; color: #555; border: none; border-radius: 3px;
	text-transform: uppercase; padding: .5em .75em;
	font-size: 1em;
}
.button.square {
	--size: 35px;
	width: var(--size); height: var(--size); line-height: var(--size);
	padding: 0;
	text-align: center;
}
.button.square:after {
	content: "";
	display: block;
	padding-top: 100%;
}
#loginForm { padding: 0 20px; }
label {
	display: block;
	margin: 10px 0;
}
input, textarea {
	width: 100%;
	padding: .5em.75em;
	border: 1px solid #dfdfdf;
	background: #efefef;
}
input.error, textarea.error {
	border-color: #ff000099;
}
textarea {
	min-height: 3em;
}


.nowrap { white-space: nowrap; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.align-left { float: left; }
.align-right { float: right; }

.hide { display: none; }
.show { display: block; }

.fs-small { font-size: 65%; }
.fs-big { font-size: 135%; }
.fs-huge { font-size: 500%; }

.ml-1 { margin-left: .5em; }
.mr-1 { margin-right: .5em; }
.mt-1 { margin-top: .5em; }
.mb-1 { margin-bottom: .5em; }
.ml-2 { margin-left: 1.5em; }
.mr-2 { margin-right: 1.5em; }
.mt-2 { margin-top: 1.5em; }
.mb-2 { margin-bottom: 1.5em; }

.bg-gray { background-color: #efefef; }
.bg-darkgray { background: #DFDFDF; }
.bg-red { background-color: #ff000099; }
.bg-green { background-color: #6B8E23; }

.color-red { color: #ff000099; }
.color-green { color: #6B8E23; }

.d-flex {
	display: flex !important;
}
.flex-fill {
	flex: 1 1 auto !important;
}
.justify-content-between {
	justify-content: space-between !important;
}
.justify-content-center {
	justify-content: center !important;
}
.justify-content-end {
	justify-content: flex-end !important;
}
.justify-content-start {
	justify-content: flex-start !important;
}
.align-items-center {
	align-items: center !important;
}

.popup-window {
	position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; 
	background: rgba(0, 0, 0, .5);
	display: none;
}
.popup-window .content {
	padding: 40px 0 0 0;
	background: #fff; 
	position: absolute; top: 10px; left: 10px; right: 10px; bottom: 10px; z-index: 99999;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch
}
.popup-window .content a.close { 
	width: 50px; height: 50px; line-height: 50px;
	position: fixed; top: 10px; right: 10px; z-index: 999999;
	text-align: center; color: #555;
	text-decoration: none; font-size: 125%;
	display: inline-block;
}
.popup-window .content h1,
.popup-window .content h2 { 
	margin: 20px 0 1em 0; padding: 0; font-size: 200%;
}
