html, body 
{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	font-size: 16px;
	box-sizing: border-box;
	background-color: #F0ECE8;
}

*
{
	/*box-sizing: border-box;
	outline: 1px solid #ff00ff;*/
	-moz-appearance: none;
	-webkit-appearance: none;
}

a img
{
	border: 0;
}	

.loader
{
	margin: 5px;
	visibility: hidden;
}

.header
{
	width: 100%;
	background-color: #3F51B5;
	color: #ffffff;
	border-spacing: 0;
	border-collapse: collapse;
	font-weight: bold;
	font-size: 16px;
}

.header td
{
	margin: 0;
	white-space: nowrap;
	vertical-align: middle;
}

.title
{
	padding: 10px 30px 10px 15px;
}

.separator
{
	width: 100%;
}

.header a
{
	color: #ffffff;
	padding: 10px 20px;
	font-weight: bold;
	text-decoration: none;
}

.header a:hover
{
	background-color: #7986CB;
}

#auth_form
{
	margin-top: 10%; 
	border-spacing: 10px;
	text-align: left;
}

input[type="text"], textarea, input[type="password"]
{
	border: 2px solid #cccccc;
	background-color: #ffffff;
	padding: 15px;
	width: 300px;
	font-size: 20px;
	border-radius: 0 10px 10px 0;
}

div[obj-type='question'] input[type="text"], div[obj-type='question'] textarea
{
	border: none;
	border-bottom: 2px solid #cccccc;
	background-color: #ffffff;
	padding: 0 0 0 2px;
	width: 200px;
	font-size: 20px;
	border-radius: 5px;
}

input[type="text"]:hover, textarea:hover, input[type="password"]:hover
{
	border: 2px solid #3F51B5 !important;
}

input[type="text"]:focus, textarea:focus
{
	border: 2px solid #3F51B5 !important;
	box-shadow: 0 0 3px #3F51B5;
}

input[type="submit"], input[type="button"]
{
	border: 2px solid #FF9800;
	background-color: #FF9800;
	color: #ffffff;
	font-weight: bold; 
	font-size: 18px;
	padding: 10px 30px;	
	cursor: pointer;
	border-radius: 7px;
}

input[type="submit"]:hover, input[type="button"]:hover
{
	background-color: #FFB74D;
	border: 2px solid #FFB74D;
	color: #ffffff;	
}

input[type="submit"][disabled="disabled"], input[type="submit"][disabled="disabled"]:hover
{
	border: 2px solid #999999;
	background-color: #999999;	
	cursor: default;
}

#select_quest
{
	margin-top: 10%; 
	border-spacing: 10px;
	text-align: left;
}

select
{
	-webkit-appearance: listbox;
	border-radius: 0;
	border: 2px solid #cccccc;
	background-color: #ffffff;
	padding: 10px;
	width: 334px;
	font-size: 20px;
	border-radius: 0 7px 7px 0;
}

div[obj-type='question'] select
{
	width: 200px;
	padding: 0 0 0 2px;
	border: none;
	border-bottom: 2px solid #cccccc;
	border-radius: 5px;
}

select:hover
{
	border: 2px solid #3F51B5 !important;
}

select:focus
{
	border: 2px solid #3F51B5 !important;
	box-shadow: 0 0 3px #3F51B5;
}

div[obj-type='question'] input[type="text"]:hover, div[obj-type='question'] input[type="text"]:focus, div[obj-type='question'] textarea:hover, div[obj-type='question'] textarea:focus, div[obj-type='question'] select:hover, div[obj-type='question'] select:focus
{
	border: none !important;
	border-bottom: 2px solid #3F51B5 !important;
	box-shadow: none !important;
}

.error_bg
{
	background-color: #ff0000 !important;
}

.error
{
	color: #ff0000;
}

.success
{
	color: #3F51B5;
}

.smalltext
{
	font-size: 14px;	
}

/*center>div
{
	padding-top: 100px; 
	width: 30%;
	text-align: left;
}*/

input[type="file"]
{
	border: 2px solid #cccccc;
	background-color: #ffffff;
	padding: 8px;
	width: 300px;
	font-size: 18px;
	vertical-align: top;
	margin-right: 10px;
}

input[type="file"]:hover
{
	border: 2px solid #3F51B5;
}

input[type="file"]:focus
{
	border: 2px solid #3F51B5;
	box-shadow: 0 0 3px #3F51B5;
}

.visible
{
	visibility: visible;
}

.invisible
{
	visibility: hidden;
}

.hidden
{
	display: none;
}

#doctor_schedule, #manager_schedule, #reception_schedule
{
	margin-top: 10px; 
	border-collapse: separate;
	border-spacing: 5px;
}

#doctor_schedule td, #manager_schedule td, #reception_schedule td
{
	vertical-align: top;
}

#doctor_schedule #locations
{
	width: 300px;
	background-color: #3F51B5;
	padding: 0;
}

#reception_schedule #doctors
{
	width: 300px;
	background-color: #3F51B5;
	padding: 0;
}

#manager_schedule
{
	margin-top: 10px; 
}

#manager_schedule td
{
	vertical-align: top;
	overflow: hidden;
}

#manager_schedule #locations
{
	width: 300px;
	background-color: #3F51B5;
	padding: 0;
}

#manager_schedule #doctors
{
	width: 300px;
	background-color: #3F51B5;
	padding: 0;
}

.active_list
{
	width: 100%; 
	border-collapse: collapse;	
}

.active_list td
{
	border-top: 5px solid #F0ECE8;
	border-bottom: 5px solid #F0ECE8;
	background-color: #3F51B5;
	color: #ffffff;
	font-weight: bold;
	text-align: left;
	padding: 15px 0 15px 15px;
	font-size: 16px;
	cursor: pointer;
}

.active_list td:hover
{
	background-color: #FF9800;	
}

.active_list td.selected
{
	background-color: #FF9800;	
}

#time_sheet
{
	/*background-color: #efefef;
	padding: 0;	
	border-top: 3px solid #F0ECE8;
	border-bottom: 5px solid #F0ECE8;*/
	padding-top: 3px;
}

.time_sheet
{
	border-collapse: collapse;
	margin-bottom: -3px;
}

.time_sheet td
{
	border-top: 2px solid #F0ECE8;
	border-bottom: 2px solid #F0ECE8;
}

.time_sheet .time
{
	background-color: rgba(63, 81, 181, 0.4);
	color: #ffffff;	
	font-weight: bold;
	width: 100px;
	padding: 15px 0 15px 0;
	vertical-align: middle !important;
	text-align: center;
	t_ext-shadow: 0 1px 1px #666666;
}

.time_sheet .time:hover
{
	background-color: #FF9800;
	text-shadow: none;
}

.time_sheet .patients
{
	width: 650px;
	background-color: rgba(63, 81, 181, 0.1);
	text-align: left;
	padding: 15px;
}

.time_sheet ul
{
	list-style-type: none;
	font-size: 13px;
	margin: 0;	
	padding: 0;
}

.time_sheet ul li
{
	line-height: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.time_sheet a
{
	text-decoration: none;
	color: #354497;
	font-weight: bold;
}

.time_sheet a:hover
{
	text-decoration: underline;
}

#newapp
{
	margin-top: 10px; 
	border-spacing: 10px;
	text-align: left;
}

#newapp .label
{
	width: 200px; 
}

#newapp td
{
	padding: 0;
}

.input_table
{
	width: 330px;
	border-collapse: collapse;
}

.input_table td
{
	border: 2px solid #cccccc;
	text-align: center;
	vertical-align: middle;
}

#patient_select
{
	margin-top: 10px;
	border-spacing: 10px;
	text-align: left;
}

#patient_docs_list
{
	margin-top: 10px;
	width: 80%;
}

#patient_docs_list .name
{
	background-color: rgba(63, 81, 181, 0.1);
	text-align: left;
	padding: 15px;
}

#patient_docs_list tr:hover
{
	background-color: rgba(63, 81, 181, 0.1);
}

#patient_docs_list .action
{
	background-color: #7F8BCD;
	color: #ffffff;	
	font-weight: bold;
	width: 100px;
	padding: 15px 0 15px 0;
	vertical-align: middle !important;
	text-align: center;
	cursor: pointer;	
}

#patient_docs_list .action:hover
{
	background-color: #FF9800;
}

.label
{
	background-color: #3F51B5;
	color: #ffffff;
	font-weight: bold;
	text-align: right;
	padding: 15px !important;
	width: 150px; 
	font-size: 18px;
	border-radius: 7px 0 0 7px;
}

#quest_container
{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

#quest_container td
{
	vertical-align: top;
}

#quest_container td>div
{
	margin: -1px 0 0 -1px;
}

#quest_tree
{
	width: 250px;
	border-bottom: 4px solid #3F51B5;
}

#quest_tree div
{
	background-color: #ffffff;
	border-top: 1px solid #cccccc;
	margin: 0 0 -2px 0;
	padding: 15px 0;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
}

#groupmenu
{
	width: 100%;
	background-color: #aaaaaa;
}

#quest_tree_table
{
	width: 100%;
	display: none;
	position: absolute;
}

#quest_tree div a
{
	color: #000000;	
	padding: 15px 250px 15px 15px;
	cursor: pointer;
	text-decoration: none;
}

#quest_tree div.current_quest
{
	background-color: #3F51B5;
}

#quest_tree div:hover
{
	background-color: #FF9800;
	color: #ffffff !important;
}

#quest_tree div:hover a
{
	color: #ffffff !important;
}

#quest_tree div.sub_quest a
{
	padding: 15px 250px 15px 30px;
}

.lines_container
{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.lines_container tr td
{
	border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}

.group_title
{
	width: 100%;
	margin: 0 0 10px 0;
	padding: 10px 0 10px 15px;
	color: rgba(255, 255, 255, 1); 
	background-color: rgba(204, 204, 204, 0.5);
}

.question
{
	font-size: 16px;
	color: rgba(0, 126, 254, 1);
}

div[obj-type='question']
{
	float: left;
	padding: 15px 20px 15px 15px;
}

div[obj-type='question'] p
{
	margin: 0;
	padding: 5px;
}

input[obj-type='touchradio']
{
	font-size: 16px;
	margin: 0 10px 10px 0;
	padding: 10px 20px 10px 20px;
	border: none;
	background-color: rgba(240, 240, 240, 1);
	border-radius: 5px;
}

input[obj-type='touchradio']:hover, input[obj-type='touchradio'][obj-checked='checked']
{
	color: #ffffff;
	background-color: #3F51B5;
}

input[obj-type='touchcheckbox']
{
	font-size: 16px;
	margin: 0 10px 10px 0;
	padding: 10px 20px 10px 20px;
	border: none;
	background-color: rgba(240, 240, 240, 1);
	border-radius: 5px;
}

input[obj-type='touchcheckbox']:hover, input[obj-type='touchcheckbox'][obj-checked='checked']
{
	color: #ffffff;
	background-color: #3F51B5;
}

.answer
{
	font-size: 16px;
}

#answer>div
{
	margin: 5px 0;
}

#quest_buttons
{
	padding: 30px;	
}

.date_selector
{
	background-color: #efefef;
	width: 100%;
	text-align: center;
}

.date_selector #prev_date
{
	float: left;
	display: inline-block;
	text-align: center;
	padding: 11px 30px 9px 30px;
	cursor: pointer;
}

.date_selector #next_date
{
	float: right;
	display: inline-block;
	text-align: center;
	padding: 11px 30px 9px 30px;
	cursor: pointer;
}

.date_selector #prev_date:hover, .date_selector #next_date:hover
{
	background-color: #cccccc;
}

.date_selector #curr_date
{
	color: #666666;	
	font-weight: bold;
	width: 150px;
	padding: 15px 30px;
	vertical-align: middle !important;
	text-align: center;
	font-size: 20px;
	display: inline-block;
	white-space: nowrap;
	text-shadow: 0 1px 1px #ffffff;
	cursor: pointer;
}

.date_selector #curr_date:hover
{
	background-color: #cccccc;
	c_olor: #ffffff;
	t_ext-shadow: 0 1px 1px #666666;
}

.info
{
	background-color: #efefef;
	width: 100%;
	text-align: center;
	color: #666666;	
	padding: 20px 0;
	vertical-align: middle !important;
	font-size: 20px;
	white-space: nowrap;
	text-shadow: 0 1px 1px #ffffff;
	border-top: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
}

.schedule_list
{
	border-collapse: collapse;
	width: 100%;
	font-size: 16px;
}

.schedule_list th
{
	background-color: #7986CB;
	color: #ffffff;	
	font-weight: bold;
	padding: 15px 5px;
	vertical-align: middle !important;
	text-align: center;
	border: 2px solid #ffffff;
}

.schedule_list th[colspan="2"]
{
	border-bottom: 1px solid #ffffff;
}

.second_row th
{
	border: 1px solid #ffffff;
}

.colspan
{
	border-left: 2px solid #ffffff !important;	
}

.schedule_list th:first-child
{
	border-left: none;	
}

.schedule_list th:last-child
{
	border-right: none;	
}

.schedule_list td
{
	border: 2px solid #ffffff;
	background-color: #efefef;
	color: #000000;	
	padding: 15px 7px;
	text-align: left;
}

.state
{
	white-space: nowrap;
	text-decoration: underline;
	cursor: pointer;
	text-align: center !important;
}

.show
{
	color: #22b14c !important;
}

.noshow
{
	color: #ed1c24 !important;
}

.schedule_list tr:hover td
{
	background-color: #FF9800 !important;
	color: #ffffff !important;	
}

.schedule_list td textarea
{
	padding: 5px;
	width: 300px;
	font-size: 16px;	
}

.sub_th td, .sub_th:hover td
{
	background-color: #cccccc !important;	
	text-align: center;
	font-weight: bold;
	color: #000000 !important;	
}

.second_row a
{
	color: #ffffff;
}

.attention
{
	color: rgba(254, 0, 0, 1) !important;
}

#groupmenu a
{
	color: #ffffff;	
	padding: 10px 25px 10px 15px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	background: url("/img/arrow-down.png") no-repeat right;
}

.menu
{
	position: fixed;
	width: 500px;
	top: 30%;
	left: 50%;
	margin-left: -250px;
	display: none;
	box-shadow: 0 0 20px #333333;
	background-color: #F0ECE8;
}

.menu p
{
	margin: 5px;
	padding: 15px;
	background-color: rgba(63, 81, 181, 0.3);
}

.menu div
{
	margin: 5px;
	background-color: rgba(63, 81, 181, 0.15);
}

.menu div.sub_ul
{
	margin: 0;
	background-color: transparent;
}

.menu div.sub_ul div
{
	margin-left: 30px;
}

.menu div a
{
	padding: 15px;
	text-decoration: none;
	color: #000000;
	display: block;
}

.menu div a:hover
{
	background: #FF9800;
	color: #ffffff;
	padding: 15px;
}

input[type="radio"], input[type="checkbox"]
{
	width: 20px;
	height: 20px;
	vertical-align: text-bottom;
	margin-left: 15px;
	margin-right: 0;
}

input[type="checkbox"]
{
	-moz-appearance: checkbox !important;
	-webkit-appearance: checkbox !important;
}

input[type="radio"]
{
	-moz-appearance: radio !important;
	-webkit-appearance: radio !important;
}

.link
{
	cursor: pointer;
}

#qrcode_container 
{
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 999;
	width: 100%;
	height: 100%;
	font-size: 20px;
}

.button
{
	padding: 1px 5px; 
	border-radius: 3px;
	cursor: pointer;
	text-decoration: none;
}
.button:hover
{
	text-decoration: underline;
}

.mark
{
	padding: 1px 5px; 
	border-radius: 3px;
}

.button.violet
{
	background-color: #7F8BCD; 
	color: #ffffff;
}

.button.lightviolet
{
	background-color: #A9B1DD; 
	color: #ffffff;
}

.button.darkviolet
{
	background-color: #3F51B5; 
	color: #ffffff;
}

.button.orange
{
	background-color: #FF9800;
	color: #ffffff;
}

.button.red
{
	background-color: #B55140; 
	color: #ffffff;
}

.button.green, .mark.green
{
	background-color: #22B14C; 
	color: #ffffff;
}
.button.gray, .mark.gray
{
	background-color: #cccccc; 
	color: #ffffff;
}