/* Special layout to include the Talk sidebar */

/* The standard layout defined in the server includes a fixed header with a
 * sticky sidebar. This causes the scroll bar for the main area to appear to the
 * right of the sidebar, which looks confusing for the chat. Thus that layout is
 * overridden with a static header and a content with full height without header
 * to limit the vertical scroll bar only to it.
 * Note that the flex layout can not be cascaded from the body element, as a
 * flex display is not compatible with the absolute position set for the
 * autocompletion panel, which is reparented to the body when shown. */
#body-user #header,
#body-public #header {
	/* Override fixed position from server to include it in the body layout */
	position: static;
}

#content.full-height {
	/* Always full height without header. */
	height: calc(100% - 50px);
}

#content {
	display: flex;
	flex-direction: row;
	overflow: hidden;

	flex-grow: 1;

	/* Override "min-height: 100%" and "padding-top: 50px" set in server, as the
	 * header is part of the flex layout and thus the whole body is not
	 * available for the content. */
	min-height: 0;
	padding-top: 0;

	/* Override margin used in server, as the header is part of the flex layout
	 * and thus the content does not need to be pushed down. */
	margin-top: 0;
}

#app-content {
	position: relative;

	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overflow-x: hidden;

	flex-grow: 1;

	margin-right: 0;
}

#files-public-content {
	flex-grow: 1;
}

#content footer {
	position: relative;
}

#content footer p a {
	/* The server sets an height to the footer of 65px, but its contents are
	 * slightly larger, which causes a scroll bar to be added to the content
	 * even if there is enough space for the app content and the footer.
	 * The padding of links is 10px, so in practice reducing the bottom padding
	 * only affects the bottom padding of the last element (as in adjacent
	 * paragraphs the paddings would get merged and there will still be 10px
	 * from the top padding of the second element). */
	padding-bottom: 8px;
}
