:root {
  --hour_height: 60px;
  --start_hour: 9; 
  --end_hour: 19; 
}

body {
	background-color: rgb(241, 242, 246);
	margin-bottom: 20px;
}

a {
/*	color: inherit;*/
	font-weight: bold;
}
a:hover {
	color: inherit;
}

.shadow {
    box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.5);
}

/* OVERRIDE */
hr {
	border-top: 1px solid rgb(190, 190, 190);
}
.btn {
	font-weight: bold;
}
.navbar {
	margin: 0px;
	border-radius: 0px;
}
label {
	font-style: italic;
/*	font-weight: lighter;*/
	color: rgb(110,110,110);
}
.label {
/*	font-size: 100%;*/
}
.label-blacklist {
	background-color: black;
	color: white;
	font-size:100%;
}
.panel-title {
	font-weight: bold;
}
small {
	color: gray;
	font-style: italic;
}
.small {
	color: gray;
	font-style: italic;
}
:required {
	border: 1px solid rgb(200,60,60);
}

details summary { 
  cursor: pointer;
}

details summary:focus { 
  outline: none;
}

details summary > * {
  display: inline;
}

input {
	font-weight: bold;
}

.alert-danger {
	color: white;
}

/* OVERRIDE END */
.employee_icon {
    height:60px;
    margin: 10px;
    border-radius: 6px;
}


.error {
	color: red;
	font-style: italic;
}
.required {
	border: 1px solid #ED5565;
}

.admin_name {
	float: left;
	position: relative;
	width: calc((100% - 90px) / 7);
	margin: 5px;
	text-align: center;
	font-size: 100%;
}
.hoverable:hover {
    background-color: rgba(200, 200, 200, 0.5);
}


/* КАЛЕНДАРЬ */

.weekdays {
	position: relative;
}
.weekday {
	position: relative;
	width: calc((100% - 90px) / 7);
	float: left;
	margin: 5px;
	border-radius: 5px;
	box-shadow: 0px 0px 5px rgb(50,50,50);
	height: calc(var(--hour_height) * (var(--end_hour) - var(--start_hour)) + 20px);
	overflow: hidden;
	background-color: rgb(237,237,237);
}
.weekday_day_view {
	width: 100%;
}
.weekday_title {
	position: absolute;
	width: 100%;
	height: 20px;
	font-weight: bold;
	text-align: center;
	color: black;
	background-image: linear-gradient(180deg, rgb(230,230,230), rgb(178,178,178));
	box-shadow: 0px 0px 3px black;
}
.weekday_container {
	position: absolute;
	top: 20px;
	width: 100%;
/*	background-color: rgb(237,237,237);*/
/*	background-color: rgb(200,200,200);*/
}
.today_container {
	background-color: rgb(200,220,200);
}
.hour_line {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: rgba(100,100,100,0.5);
    color:gray;
    font-size:80%;
    font-style:italic;
}
.hour_line:before {
	content: attr(data-time);
}

#current_time_line {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: rgba(200,100,100,1);
    color:gray;
    font-size:80%;
    font-style:italic;
}

.weekday_appointment {
	position: absolute;
	width: 32%;
	min-height:10px;
	color: white;
	border-radius: 5px;
	padding: 4px;
	line-height: 16px;
	overflow: hidden;
	box-shadow: 0px 0px 3px black;
}
.weekday_appointment_header {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 16px;
	color: rgb(50,50,50);
	font-size: 12px;
	font-style: italic;
	padding-left: 4px;
	background-image: linear-gradient(180deg, rgb(230,230,230), rgb(178,178,178));
	box-shadow: 0px 0px 3px black;
}
.confirmed_state {
	float: right;
	margin-right: 4px;
}


.blink {
	animation: blink-animation 2s infinite;
	-webkit-animation: blink-animation 2s infinite;
}
@keyframes blink-animation {
	0% {
		background-color: rgb(0,0,0);
	}
	50% {
		background-color: rgb(250,0,0);
	}
	100% {
		background-color: rgb(0,0,0);
	}
}
@-webkit-keyframes blink-animation {
	0% {
		background-color: rgb(0,0,0);
	}
	50% {
		background-color: rgb(250,0,0);
	}
	100% {
		background-color: rgb(0,0,0);
	}
}
.weekday_appointment:hover {
	font-weight: bold;
	color: white;
}
.roomD {
	left: 1px;
}
.roomM {
	left: 34%;
}
.roomS {
	left: 67%;
}



/* УВЕДОМЛЕНИЕ О ЗВОНКЕ */
#call_popup_alert {
	position: fixed;
	min-width: 120px;
	min-height: 40px;
	border-radius: 5px;
/*	background-color: green;*/
	bottom: 10px;
	color: white;
	padding: 10px;
	right: 10px;
}

#call_popup_alert_fio {
/*	text-align: center;*/
	font-size: 13.5pt;
	font-weight: bold;
}

#call_popup_alert_phone {
	font-size: 120%;
	margin: 10px;
	text-align: center;
}

.call_popup_alert_start {
	background-image: linear-gradient(rgb(10,80,160), rgb(20,60,120));
}
.call_popup_alert_talk {
	background-image: linear-gradient(rgb(75,200,95), rgb(15,100,25));
}
.call_popup_alert_end {
	
}

.call_popup_alert_hide {
/*	right: -330px;*/
/*	right: 10px;*/
	transform:translateX(calc(100% + 10px)); 
	transition: transform 1s ease-in-out;
}
.call_popup_alert_show {
/*	right: 10px;*/
	transform:translateX(0px);
	transition: transform 1s ease-in-out;
}


/* УВЕДОМЛЕНИЕ О ЗВОНКЕ (НИЖНЯЯ ПЛАШКА) */
#bottom_space {
	position: relative;
	height: 60px;
	width: 100%;
}

#info_bar {
	position: fixed;
	width: 100%;
	height: 40px;
	bottom: 0px;
	color: rgb(50,50,50);
	font-weight: bold;
	background-image: linear-gradient(180deg, rgb(230,230,230), rgb(178,178,178));
	box-shadow: 0px 0px 3px black;
/*	box-shadow: 0px 0px 5px black;*/
	padding: 5px;
	line-height: 30px;
	text-align: right;
}

#call_status {
	padding: 10px;
	border-radius: 3px;
}
#call_info {
	padding: 10px;
}


/* tooltip */
[data-tooltip][aria-label] {
  position: relative;
}
[data-tooltip][aria-label]::before {
  content: attr(aria-label);
  pointer-events: none;
  white-space: pre;
  position: absolute;
  color: #fff;
  background: #555;
  padding: 0.3rem 2rem;
  border-radius: 0.3rem;
  opacity: 0;
  visibility: none;
}
[data-tooltip][aria-label]::after {
  content: "";
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
  border-color: #555;
  border-width: 0;
  border-style: solid;
  opacity: 0;
  visibility: none;
}
[data-tooltip^="up"][aria-label]::before {
  bottom: calc(0.5rem + 100%);
  right: 50%;
  transform: translateX(50%);
}
[data-tooltip^="up"][aria-label]::after {
  border-top-width: 0.5rem;
  border-right-width: 0.5rem;
  border-right-color: #0000;
  border-left-width: 0.5rem;
  border-left-color: #0000;
  bottom: 100%;
  right: 50%;
  transform: translateX(50%);
}
[data-tooltip^="down"][aria-label]::before {
  top: calc(0.5rem + 100%);
  right: 50%;
  transform: translateX(50%);
}
[data-tooltip^="down"][aria-label]::after {
  border-bottom-width: 0.5rem;
  border-right-width: 0.5rem;
  border-right-color: #0000;
  border-left-width: 0.5rem;
  border-left-color: #0000;
  top: 100%;
  right: 50%;
  transform: translateX(50%);
}
[data-tooltip][aria-label]:hover::before,
[data-tooltip][aria-label]:hover::after {
  visibility: visible;
  opacity: 1;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}