/* general */
html {
	overflow-y: scroll;
}

body {
	margin: 0px;
}

h1 {
	font-size: 30px;
	font-family: "Open Sans", "Helvetica Neue", sans-serif;
}

h2 {
	font-size: 26px;
	font-family: "Open Sans", "Helvetica Neue", sans-serif;
}

/* header */
.header {
	background: #f4f4f4;
	color: #4f4f4f;
	display: block;
	padding: 5px;
	text-align: center;
	border-bottom: 1px solid #c8c8c8;
}

.menu {
	margin: 5px 0px 20px 0px;
	padding: 0;
	font-size: 12px;
}

.menu li {
	display: inline-block;
}

.menu li a:before {
	content: "[";
	color: #4f4f4f;
}

.menu li a:after {
	content: "]";
	color: #4f4f4f;
}

.title {
	display: inline-block;
	margin-left: -71px;
}

.logo {
	background-image: url("/cal/javax.faces.resource/img/vifanord.jpg.xhtml");
	width: 142px;
	height: 100px;
	margin-bottom: -25px;
	display: inline-block;
}

.name {
	display: inline-block;
	padding: 0px;
	margin: 0px 0px 25px -71px;
	color: #004590;
}

/* content */
.content {
	max-width: 900px;
	margin: auto;
	width: 90%;
	padding: 5px 5px 25px 5px;
}

.content.normal {
	max-width: 900px;
}

.content.wide {
	max-width: 1050px;
}

.content.wider {
	max-width: 1200px;
}

.selection {
	text-align: center;
}

.selection .menu {
	margin: 0;
}

/* growl and messages */
.ui-growl {
	width: 100%;
	top: 0 !important;
	right: 0;
}

.ui-growl-item-container {
	border: none;
	opacity: 1;
}

.ui-growl-item {
	padding: 18px 36px;
}

.ui-growl-image {
	display: none !important;
}

.ui-growl-message {
	color: #fff;
	width: 100%;
	padding: 0;
	text-align: center;
}

.ui-growl-title {
	font-weight: bold;
	text-align: center;
	font-size: 1.1em;
	padding: 0;
}

.ui-growl-info .ui-growl-item {
	background: #9ccc65;
}

.ui-growl-warn .ui-growl-item {
	background: #007ad9;
}

.ui-growl-error .ui-growl-item, .ui-growl-fatal .ui-growl-item {
	background: #ef5350;
}

body .ui-growl .ui-growl-item-container.ui-growl-info .ui-icon {
	color: #fff;
}

body .ui-growl .ui-growl-item-container.ui-growl-warn .ui-icon {
	color: #fff;
}

body .ui-growl .ui-growl-item-container.ui-growl-error .ui-icon {
	color: #fff;
}

body .ui-growl .ui-growl-item-container.ui-growl-fatal .ui-icon {
	color: #fff;
}

.msg-messages {
	color: #777;
	padding: 0;
	margin: -6px 0px -6px 0px;
	list-style-type: none;
	list-style-position: inside;
	font-family: "Open Sans", "Helvetica Neue", sans-serif;
	font-weight: bold;
	font-size: 14px;
}

.msg-message:first-child {
	margin-top: 6px;
}

.msg-info {
	color: #579e07;
}

.msg-warn {
	color: #cf790a;
}

.msg-error, .msg-fatal {
	color: #a80000;
}

.msg-detail {
	font-weight: normal;
}

/* main blocks */
.schedule, .table, .grid {
	margin: 14px 0px;
}

/* form elements */
label {
	margin-right: 8px;
}

input, .ui-spinner-input, .ui-chips-container {
	width: 480px;
}

textarea {
	width: 480px;
	height: 160px;
}

.buttons {
	margin: 6px 0px;
}

.disabled {
	color: #7f7f7f;
}

.small-input-like {
	width: 240px;
	min-width: 240px !important;
}

.input-like {
	min-width: 480px !important;
	width: 480px;
}

.linebreak {
	white-space: pre-line;
}

/* hide primeface required indicator */
.ui-outputlabel-rfi {
	display: none;
}

/* bring filter to full width */
body .ui-selectonemenu-panel .ui-selectonemenu-filter-container {
	width: 100%;
}

/* pseudo-form elements */
.label-like {
	box-sizing: border-box;
	font-family: "Open Sans", "Helvetica Neue", sans-serif;
	font-size: 14px;
	margin-right: 8px;
	text-decoration: none;
	text-decoration-color: rgb(0, 0, 0);
	text-decoration-line: none;
	text-decoration-style: solid;
}

.field-like {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Open Sans", "Helvetica Neue", sans-serif;
	font-size: 14px;
	font-weight: 400;
	margin: 0px;
	padding: 4px 7px;
	display: inline-block;
	max-width: 480px;
}

/* formatted text */
.formatted {
	font-family: monospace;
	font-size: 105%;
}

/* ellipsize text in table headers */
th {
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* align table headers left*/
.ui-datatable thead th {
	text-align: left;
}

/* enlarge event labels */
.fc-content {
	padding: 1px;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* style schedule links like other links */
body .fc .fc-event {
	background-color: #007ad9;
	color: #fff;
	border: 1px solid #007ad9;
}

.fc-content {
	transition: background-color .3s;
	color: #fff;
}

.fc-content:hover {
	background-color: #116fbf;
	border-color: #116fbf;
	color: #fff;
}

.fc-event:focus {
	border: 1px dotted #fff !important;
}

.fc-prev-button:focus, .fc-next-button:focus, .fc-today-button:focus {
	border: 1px dotted #fff !important;
}

/* bring week indicator label to the middle */
body.fc th {
	vertical-align: baseline;
}

/* highlight today*/
body .fc td.ui-widget-content.fc-today {
	background: #007ad9;
	opacity: .1;
}

/* fade out passed dates*/
.passed {
	text-decoration: line-through;
}

/* widen filter dropdowns */
.filter, .filter tr td div {
	width: 100%;
}

/* embedded richtext */
.richtext p, .richtext ol, .richtext ul {
	margin-top: 0;
	margin-bottom: 1em;
}

.richtext ol, .richtext ul {
	padding-left: 1.5em;
}

.richtext li {
	margin-bottom: .125em;
}

.richtext li:last-child {
	margin-bottom: 0px;
}

.richtext>*:last-child {
	margin-bottom: 0 !important;
}

.preview {
	border: 1px solid #a6a6a6;
	border-radius: 3px;
	padding: .429em;
	width: 480px;
}

.preview .richtext {
	margin: 0;
}

/* */
.helper {
	margin: 0px 8px;
}

/* custom filter */
.ui-filter-column .ui-column-customfilter .custom-filter {
	width: 100%;
	box-sizing: border-box;
}

.ui-column-customfilter .ui-selectonemenu {
	margin-top: 8px;
	min-width: unset !important;
}

.ui-column-customfilter .ui-calendar input {
	margin-top: 5px;
	width: 100%;
}

.ui-column-customfilter .ui-inputtext {
	width: 100%;
	margin-top: 5px;
}

.ui-datatable thead th {
	overflow: unset;
}

.ui-datatable thead th .ui-column-title {
	width: 100%;
	display: inline-block;
	overflow: -moz-hidden-unscrollable;
	text-overflow: ellipsis;
	margin-right: -20px;
	padding-right: 20px;
}

.ui-tooltip-text {
	font-size: 12px;
}

/**/
.legends {
	margin-top: -10px;
	margin-left: auto;
	margin-right: auto;
}

/**/
.legend {
	margin-top: -2px;
	margin-left: auto;
	margin-right: auto;
}

.legends .label-like {
	font-size: 13px;
}

/**/
.links {
	margin: auto;
}

.links .label-like, .link .label-like {
	font-size: 13px;
}

.links .ui-link, .link .ui-link {
	font-size: 13px !important;
}

.links td:first-child {
	text-align: right;
}

h2 .addendum {
	margin-left: 5px;
	font-weight: normal;
	font-size: 20px;
}