/* 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);
	}
	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;

	/* Does not change anything in normal mode, but ensures that the element
	 * will stretch to the full width in full screen mode. */
	width: 100%;

	/* 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 {
	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 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;
}



#talk-sidebar-trigger {
	width: 44px;
	height: 44px;

	background-color: transparent;
	border-color: transparent;

	opacity: 0.6;

	&:hover,
	&:focus,
	&:active {
		opacity: 1;
	}
}
