
/*
	Fixed-size, square images with their largest dimension cropped to fit in a box.

	Use one of square_image_64, square_image_128 or square_image_256

	With pure CSS it works perfectly for landscape images and imperfect-but-acceptable for portrait.
	Portrait images need the square_image_portrait class, which is added by javascript.
*/
.square_image_64, .square_image_128, .square_image_256
{
	overflow: hidden;
	position: relative;
	margin-right: 0.5em;
}

.square_image_64 img, .square_image_128 img, .square_image_256 img
{
	width: auto;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.square_image_64
{
	width: 64px;
	height: 64px;
}

.square_image_128
{
	width: 128px;
	height: 128px;
}

.square_image_256
{
	width: 256px;
	height: 256px;
}

.square_image_64 img
{
	height: 64px;
}

.square_image_128 img
{
	height: 128px;
}

.square_image_256 img
{
	height: 256px;
}

.square_image_portrait img
{
	left: auto;
	top: 50%;
	transform: translateY(-50%);
}

.square_image_portrait.square_image_64 img
{
	height: auto;
	width: 64px;
}

.square_image_portrait.square_image_128 img
{
	height: auto;
	width: 128px;
}

.square_image_portrait.square_image_256 img
{
	height: auto;
	width: 256px;
}

/*
	Switch down/up arrow in the menu bar
*/
.navbar-toggle.collapsed > .collapse-button-icon-opened
{
	display: none;
}

.navbar-toggle:not(.collapsed) > .collapse-button-icon-collapsed
{
	display: none;
}

/*
	clear float
*/
.clear
{
	clear: both;
}

/* don't forget clear: both element */
.list_horizontal, .list_horizontal ul, .list_horizontal ol
{
	list-style-type: none;
	margin: 0;
}

/*
	Horizontal lists (for menus etc)
*/
.list_horizontal li
{
	float: left;
}

.list_horizontal li:not(:last-child)
{
	margin-right: 1em;
}

.list_horizontal_comma li:not(:last-child):after
{
	content: ', ';
}

/*
	Search results & autocomplete
*/
.highlighted
{
	background-color: #EEE;
	font-weight: bolder;
}

.typeahead.dropdown-menu
{
	overflow-x: hidden;
}

.typeahead
{
	z-index: 1051;
}

/*
	Tricks and foolishness
*/
.hover_show span
{
	visibility: hidden;
	cursor: zoom-in;
}

.hover_show:hover span
{
	visibility: visible;
}

.linkstyle_button
{
	background: none;
	border: none;
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
}

/* ************************************** */

/*
	Site structure
*/

body
{
	padding-top: 50px;
	padding-bottom: 34px;
}

#footer > #name
{
	float: left;
	font-style: italic;
}

#footer > ul
{
	float: right;
}

#footer > ul li, #footer > #name
{
	margin: .5em 0 .7em .5em;
	padding: 0 .7em 0 0;
}

#footer_area
{
	height: 34px;
	min-height: 0;
}

#content
{
	padding: 1em 0 2em 0;
}

.search_form .control-label
{
	display: none;
}

#search_field_big_container
{
	position: relative;
	height: 3.3em;
}

#search_field_big_container > div
{
	position: absolute;
	left: 0;
	right: 47px;
}

#search_field_big_container > button
{
	position:
	absolute; right: 0;
}

.search_result
{
	margin-top: 1em;
}

.search_result h2
{
	font-size: 140%;
	margin: 0;
}

.search_result p
{
	margin: 0;
}

.search_pagination
{
	text-align: center;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

.search_pagination_more
{
	margin-top: 1em;
}

.large-dropdown
{
	/* larger dropdown for forms, like login */
	min-width: 25em;
	padding: 1.5em 1.5em 0 1.5em;
}

/*
	Make header and footer sticky, scroll only main content.
*/
#body_inside
{
	position: absolute;
	overflow-y: scroll;
	left: 0;
	right: 0;
	top: 50px;
	bottom: 34px;
}

#main_menu .navbar-toggle.collapsed
{
	margin-bottom: 2px;
}

#menu_account_parent
{
	margin: 0 -15px;
	padding: 0 15px;
}

#menu_account
{
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

@media (max-width: 767px)  /* bootstrap sm */
{
	#menu_account_parent, #menu_general
	{
		background-color: rgba(255, 255, 255, 1);
	}
}

/*

*/


