/* ### layout globals ### */
.layoutFluid {
	margin-left: auto;
	margin-right: auto;
	min-width: @wcfLayoutMinWidth;
	max-width: @wcfLayoutMaxWidth;
}

@media only screen and (max-width: 800px) {
	.layoutFluid {
		min-width: 0;
		max-width: none;
	}
}

.layoutFixed {
	margin-left: auto;
	margin-right: auto;
	width: @wcfLayoutFixedWidth;
}

@media only screen and (max-width: 800px) {
	.layoutFixed {
		width: auto;
	}
}

@media only screen and (min-width: 801px) {
	body {
		min-width: 980px;
	}
}

/* ### header ### */
#pageHeader {
	z-index: 100;
}

@media only screen and (max-width: 800px) {
	#pageHeader {
		margin-top: 48px;
	}
}

#top {
	display: block;
	height: 1px;
	visibility: hidden;
}

/* user panel */
.userPanel {
	background-color: @wcfUserPanelBackgroundColor;
	height: 40px;
	left: 0;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 200;

	.icon {
		color: @wcfUserPanelColor;
		
		.textShadow(@wcfUserPanelBackgroundColor);
	}
	
	> div {
		position: relative;
		
		> ul.userPanelItems {
			> li {
				float: left;
				
				> a,
				> div:not(.dropdownMenu) {
					color: @wcfUserPanelColor;
					display: block;
					height: 20px;
					padding: 12px 8px 8px 8px;
					
					.textShadow(@wcfUserPanelBackgroundColor);
					.transition(background-color, .2s);
					
					&:hover {
						background-color: @wcfUserPanelHoverBackgroundColor;
						color: @wcfUserPanelHoverColor;
						text-decoration: none;
					}
					
					> .badge.badgeInverse {
						background-color: @wcfTabularBoxBackgroundColor;
						color: @wcfTabularBoxColor;
					}
					
					> img {
						position: relative;
						top: -2px;
					}
				}
				
				> .framed > img {
					margin-top: -5px;
					margin-bottom: -4px;
					padding: 0px;
					top: 0;
				}
			}
		}
		
		> .searchBar {
			background-color: @wcfUserPanelHoverBackgroundColor;
			position: absolute;
			right: 0;
			top: 0;
			
			&::before {
				content: "\f002";
				color: @wcfUserPanelColor;
				font-family: FontAwesome;
				font-size: 14px;
				left: 7px;
				position: absolute;
				top: 12px;
			}
			&.loading::before {
				content: "\f110";
				
				-moz-animation: spin 2s infinite linear;
				-o-animation: spin 2s infinite linear;
				-webkit-animation: spin 2s infinite linear;
				animation: spin 2s infinite linear;
			}
			
			> form {
				display: inline-block;
				
				input[type="search"] {
					background-color: transparent;
					border-width: 0;
					color: @wcfUserPanelColor;
					height: 40px;
					padding: 6px 12px 5px 26px;
					width: 240px;
					-webkit-appearance: textfield;
					
					.textShadow(@wcfUserPanelHoverBackgroundColor);
					
					&:focus {
						outline: 0;
					}
					
					&::-webkit-input-placeholder { /* WebKit browsers */
						color: darken(@wcfUserPanelColor, 20%);
					}
					&::-moz-placeholder { /* Mozilla Firefox 19+ */
						color: darken(@wcfUserPanelColor, 20%);
					}
					&:-ms-input-placeholder { /* Internet Explorer 10+ */
						color: darken(@wcfUserPanelColor, 20%);
					}
				}
			}
			
			.dropdownMenu li > span {
				max-width: 210px;
				overflow: hidden;
				text-overflow: ellipsis;
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.userPanel {
		height: auto;
		
		.icon {
			font-size: 21px;
			height: auto;
			width: auto;
		}
		
		> div {
			> ul.userPanelItems {
				> li {
					> a,
					> div:not(.dropdownMenu) {
						height: 21px;
						padding: 11px 11px 9px 11px;
					}
					
					> .framed > img {
						margin-top: -4px;
					}
					
					/* hide user panel labels */
					> a > span:not(.icon):not(.badge),
					&#pageLanguageContainer > div > div > div > h3 {
						display: none;
					}
					
					> a > .badge {
						top: -4px;
					}
				}
			}
			
			> .searchBar {
				height: 41px;
				min-width: 40px;
				right: 0 !important;
				
				&::before {
					font-size: 21px;
				}
				
				> form {
					display: none;
					
					input[type="search"] {
						height: 41px;
						padding-left: 40px;
						width: 100%;
					}
				}
				
				&.searchBarOpen {
					width: 100%;
					
					> form {
						display: block;
					}
				}
				
				&::before {
					top: 8px;
				}
			}
		}
	}
}

/* header logo */
.logo {
	margin-bottom: @wcfGapLarge;
	margin-top: @wcfGapMedium;
	
	a {
		display: block;
		
		&:hover {
			text-decoration: none;
		}
		
		h1 {
			color: @wcfPageLinkHoverColor;
			float: right;
			font-size: @wcfHeadlineFontSize;
			padding-top: @wcfGapLarge;
			
			.textShadow(@wcfPageBackgroundColor);
		}
	}
}

.userPanel + .logo {
	margin-top: @wcfGapMedium + 43px;
}

@media only screen and (max-width: 800px) {
	.logo {
		display: none;
	}
}

/* sitemap */
.sitemapList {
	margin: 0 -@wcfGapSmall;
	
	li {
		> a,
		> h3 {
			overflow: hidden;
			padding: @wcfGapTiny @wcfGapMedium;
		}
		
		> a {
			border-radius: 6px;
			display: block;
			
			.transition(background-color, .1s); 
			
			&:hover {
				background-color: @wcfContainerHoverBackgroundColor;
				text-decoration: none;
			}
		}
	}
	
	> li {
		&:not(:first-child) {
			margin-top: @wcfGapSmall;
		}
		
		&:not(:last-child) {
			border-bottom: 1px solid @wcfContainerBorderColor;
			padding-bottom: @wcfGapSmall;
		}
		
		> ul > li {
			> a {
				padding-left: @wcfGapMedium + @wcfGapLarge;
			}
			
			> ul > li a {
				padding-left: @wcfGapMedium + @wcfGapLarge * 2;
			}
		}
	}
}

/* main menu */
.mainMenu {
	font-size: 0;
	white-space: nowrap;
	
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	
	> ul {
		background-color: @wcfMainMenuBackgroundColor;
		display: inline-block;
		
		> li {
			display: inline-block;
			font-size: @wcfTitleFontSize;
			vertical-align: middle;
			
			> a {
				color: @wcfMainMenuColor;
				display: inline-block;
				padding: 4px 9px;
				
				.textShadow(@wcfMainMenuBackgroundColor);
				
				&:hover {
					color: @wcfMainMenuActiveColor;
					text-decoration: none;
				}
				
				> span {
					color: @wcfMainMenuColor;
					
					.textShadow(@wcfMainMenuBackgroundColor);
					
					&:hover {
						text-decoration: none;
					}
				}
			}
			
			&.active > a,
			&.active > a:hover {
				background-color: @wcfNavigationHeaderBackgroundColor;
				color: @wcfMainMenuActiveColor;
				font-weight: bold;
				text-align: center;
				
				.textShadow(@wcfNavigationHeaderBackgroundColor);
			}
			
			&:not(:last-child) > a {
				border-right: 1px solid @wcfContainerBorderColor;
			}
		}
	}
}

@media screen and (min-width: 801px), print {
	.mainMenu > ul > li {
		margin-top: -7px;
		vertical-align: bottom;

		> a {
			padding: 9px 21px;
		}
		
		&.active {
			font-size: @wcfSubHeadlineFontSize;
			margin-top: -8px;
			
			> a {
				min-width: 80px;
				padding: 14px 21px 8px;
			}
		}
		
		&:not(.active) {
			padding-top: 5px;
		}
	}
}

@media only screen and (max-width: 800px) {
	.mainMenu > ul > li.active {
		margin-bottom: -1px;
			
		> a {
			padding-bottom: 5px;
		}
	}
}

/* navigation */
.navigation {
	padding: 0 7px;
	
	> ul {
		display: inline-block;
		font-size: 0;
		
		&.navigationItems, &.navigationIcons {
			float: right;
			
			> li {
				float: right;
			}
		}
		
		&.navigationIcons {
			> li {
				padding: 0 3px;
				
				> a {
					display: inline-block;
					padding: 4px 3px 3px;
				}
			}
		}
		
		&.navigationItems {
			border-right: 1px dotted @wcfContainerBorderColor;
			
			> li {
				> p {
					color: @wcfLinkColor;
				}
			}
		}
		
		&.navigationItems, &.navigationMenuItems {
			> li {
				font-size: 1rem;
				margin: 4px 7px 2px;
				
				> a {
					color: @wcfLinkColor;
					
					&:hover {
						color: @wcfLinkHoverColor;
						text-decoration: none;
					}
				}
			}
		}
		
		&.navigationItems,
		&.navigationMenuItems,
		&.navigationIcons {
			.icon {
				color: @wcfLinkColor;
			}
		}
		
		&.navigationMenuItems {
			float: left;
			
			> li {
				display: inline-block;
				
				> .badge {
					top: -2px;
				}
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.navigation.navigationHeader {
		> ul.navigationIcons,
		> ul.navigationItems/*,
		> ul.navigationMenuItems*/ {
			display: none;
		}
	}
	
	.navigation.navigationFooter {
		> ul.navigationIcons,
		> ul.navigationItems {
			display: none;
		}
		
		> ul.navigationMenuItems > li {
			margin: 4px 7px 4px 0;
		}
	}
}

.navigationHeader {
	overflow: hidden;
	.clearfix;
	
	background-color: @wcfNavigationHeaderBackgroundColor;
	border-bottom: 1px solid @wcfContainerBorderColor;
	border-top: 1px solid @wcfContainerBorderColor;

	> ul.navigationMenuItems {
		white-space: nowrap;
	}
}
	
.navigationFooter {
	.clearfix;
	
	background-color: @wcfNavigationFooterBackgroundColor;
	border-top: 1px solid @wcfContainerBorderColor;
}

@media only screen and (max-width: 800px) {
	.navigationHeader {
		min-height: 4px;
	}
}

/* ### footer ### */
.footer {
	padding-bottom: @wcfGapMedium;
	z-index: 100;
	
	.footerContent {
		text-align: center;
		
		a {
			.textShadow(@wcfPageBackgroundColor);
			.transition(color, .1s);
			
			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.footerContent {
		margin: 0 @wcfGapMedium;
	}
}

/* ### content ### */
#main {
	background-color: @wcfContentBackgroundColor;
	border-right: 1px solid transparent; /* workaround for strange display: table issues in webkit */
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	z-index: 110;
	
	&.sidebarOrientationRight {
		background-color: @wcfSidebarBackgroundColor;
	}

	> div {
		display: table;
		table-layout: fixed;
		width: 100%;
		
		> div {
			display: table-row;
			
			> .sidebar,
			> .content {
				display: table-cell;
				vertical-align: top;
				
				> .mobileSidebarToggleButton {
					display: none;
				}
			}
					
			> .sidebar {
				background-color: @wcfSidebarBackgroundColor;
				width: 300px;
				z-index: 120;
				
				.transition(width, .2s, ease);
				
				> span {
					position: relative;
					
					> .collapsibleButton {
						background-color: @wcfSidebarBackgroundColor;
						border-radius: 6px 0 0 6px;
						display: block;
						height: 24px;
						left: -20px;
						position: absolute;
						text-decoration: none;
						top: 0;
						width: 24px;
						
						&::before {
							content: "\f054";
							font-family: FontAwesome;
							font-size: 14px;
							position: absolute;
							left: 6px;
							top: 4px;
							
							.textShadow(@wcfSidebarBackgroundColor);
						}
					}
				}
				
				> div {
					overflow: hidden;
					width: 300px;
					
					.transition(width, .2s, ease);
				}
			}
			
			> .content {
				background-color: @wcfContentBackgroundColor;
				min-height: 100px;
				padding: @wcfGapSmall @wcfGapLarge * 2 - @wcfGapTiny @wcfGapLarge;
				z-index: 130;
			}
		}
	}
	
	&:not(.sidebarOrientationLeft):not(.sidebarOrientationRight) {
		.sidebar {
			display: none;
		}
	}
}

@media only screen and (max-width: 800px) {
	/* hide sidebar */
	#main {
		position: relative;
		
		> div > div {
			> .sidebar,
			> .content {
				width: 100%;
			}
		}
		
		&.sidebarOrientationLeft {
			> div > div {
				> .sidebar {
					display: none;
					
					> div {
						width: 100%;
						
						fieldset {
							width: 100%;
						}
					}
					
					> .mobileSidebarToggleButton {
						border-radius: 0 0 0 @wcfSmallButtonBorderRadius;
						border-width: 0 0 1px 1px;
						display: block;
						right: -3px;
						position: absolute;
						top: 0;
					}
				}
				
				> .content {
					padding-top: 35px;
					
					> .mobileSidebarToggleButton {
						border-radius: 0 0 @wcfSmallButtonBorderRadius 0;
						border-width: 0 1px 1px 0;
						display: block;
						left: -3px;
						position: absolute;
						top: 0;
					}
				}
			}
		}
		
		&.sidebarOrientationRight {
			> div > div {
				> .sidebar {
					display: none;
					
					> div {
						width: 100%;
						
						fieldset {
							width: 100%;
						}
					}
					
					> .mobileSidebarToggleButton {
						border-radius: 0 0 @wcfSmallButtonBorderRadius 0;
						border-width: 0 1px 1px 0;
						display: block;
						left: -3px;
						position: absolute;
						top: 0;
					}
				}
				
				> .content {
					padding-top: 35px;
					
					> .mobileSidebarToggleButton {
						border-radius: 0 0 0 @wcfSmallButtonBorderRadius;
						border-width: 0 0 1px 1px;
						display: block;
						right: -3px;
						position: absolute;
						top: 0;
					}
				}
			}
		}
		
		&.mobileShowSidebar > div > div {
			> .sidebar {
				display: table-cell;
				padding-top: 35px;
			}
			
			> .content {
				display: none;
			}
		}
		
		.content {
			border-left: 0 !important;
			border-right: 0 !important;
			margin-left: 0;
			margin-right: 0;
			padding-left: 0 !important;
			padding-right: 0 !important;
			
			> *:first-child {
				margin-top: 0;
			}
		}
	}
}

@media only screen and (min-width: 801px) and (max-width: 1239px) {
	#main {
		> div > .content {
			padding-left: @wcfGapLarge + @wcfGapSmall;
			padding-right: @wcfGapLarge + @wcfGapSmall;
		}
	}
}

@media only screen and (min-width: 801px) {
	#main.sidebarOrientationRight.sidebarCollapsed {
		> div > div {
			> .sidebar {
				width: 20px;
				
				> span > .collapsibleButton {
					&::before {
						content: "\f053";
					}
				}
				
				> div {
					width: 0;
				}
			}
		}
	}
}

html[dir="rtl"] {
	#main.sidebarOrientationRight > div > div > .sidebar > span > .collapsibleButton::before {
		content: "\f053";
	}
	
	#main.sidebarOrientationRight.sidebarCollapsed > div > div > .sidebar > span > .collapsibleButton::before {
		content: "\f054";
	}
}

/* basic layout elements */
.boxHeadline {
	margin-top: @wcfGapMedium;
	overflow: hidden;
	
	h1 {
		font-size: @wcfHeadlineFontSize;
	}
	
	> p {
		color: @wcfDimmedColor;
		font-size: @wcfSmallFontSize;
	}
	
	> .dataList,
	> .inlineDataList {
		color: @wcfDimmedColor;
		font-size: @wcfSmallFontSize;
	}
}

.boxHeadline > h1,
.boxSubHeadline > h2 {
	color: @wcfHeadlineColor;
	font-family: @wcfHeadlineFontFamily;
	font-weight: bold;
	
	.textShadow(@wcfContentBackgroundColor);
	
	a {
		color: @wcfHeadlineColor;
		text-decoration: none;
	}
}

.boxSubHeadline {
	> h2 {
		font-size: @wcfSubHeadlineFontSize;
	}
}

@media only screen and (max-width: 800px) {
	.boxHeadline {
		margin-top: @wcfGapSmall;
		margin-left: @wcfGapSmall;
		margin-right: @wcfGapSmall;
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.boxHeadline {
		margin-left: @wcfGapMedium;
		margin-right: @wcfGapMedium;
	}
}

.contentNavigation {
	display: table;
	width: 100%;
	
	> * {
		margin-top: @wcfGapMedium;
	}
	
	> nav.pageNavigation > ul {
		float: left;
	}
	
	> nav:not(.pageNavigation) > ul:not(.buttonGroup) {
		margin-right: 2px;
		float: right;
		.buttonList;
	}
	
	> nav:not(.pageNavigation) > ul.buttonGroup {
		float: right;
	}
	
	> nav:not(.pageNavigation) + nav.jsClipboardEditor > ul,
	> nav:not(.pageNavigation) + nav > ul.buttonGroup {
		margin-right: 8px;
	}
}

@media only screen and (max-width: 800px) {
	.contentNavigation {
		box-sizing:border-box;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
		padding-left: @wcfGapSmall;
		padding-right: @wcfGapSmall;
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.contentNavigation {
		padding-left: @wcfGapMedium;
		padding-right: @wcfGapMedium;
	}
}

.container {
	background-color: @wcfContainerBackgroundColor;
	border: 1px solid @wcfContainerBorderColor;
}

.containerPadding {
	padding: @wcfGapMedium @wcfGapLarge @wcfGapMedium;
}

@media only screen and (max-width: 800px) {
	.container {
		border-width: 1px 0;
	}
	
	.containerPadding {
		padding: @wcfGapSmall;
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.containerPadding {
		padding-left: @wcfGapMedium;
		padding-right: @wcfGapMedium;
	}
}

.containerHeadline {
	> h3 {
		font-size: @wcfTitleFontSize;
		font-weight: bold;
		
		> small {
			color: @wcfDimmedColor;
			font-weight: normal;
			text-shadow: none;
			white-space: nowrap;
			word-wrap: normal;
		}
		
		> .badge {
			top: -1px;
		}
	}
	
	> h3, > h3 > a {
		.textShadow(@wcfContainerBackgroundColor);
	}
	
	+ * {
		margin-top: @wcfGapSmall;
	}
}

.containerList {
	> li {
		padding: @wcfGapMedium @wcfGapLarge;
		
		.transition(background-color, .1s);
		
		&:nth-child(even) {
			background-color: @wcfContainerAccentBackgroundColor;
		}
		
		&:hover {
			background-color: @wcfContainerHoverBackgroundColor;
			
			> div > div {
				> .buttonGroupNavigation > .buttonList {
					opacity: 1;
				}
				
				> .containerHeadline > .containerContentType {
					color: @wcfDimmedColor;
				}
			}
		}
		
		> div > div {
			position: relative;
			
			> .buttonGroupNavigation {
				position: absolute;
				right: 0;
				top: 0;
				
				> .buttonList {
					opacity: 0;
					
					.transition(opacity, .1s);
				}
			}
			
			> .containerHeadline > .containerContentType {
				color: lighten(@wcfDimmedColor, 20%);
				position: absolute;
				right: 0;
				top: 3px;
				
				.transition(color, .1s);
			}
		}
	}
	
	> * > li {
		padding: @wcfGapMedium @wcfGapLarge;
	}
	
	&.styleList > li > div.box64 {
		> span {
			text-align: center;
			width: 110px;
		}
		
		> div {
			margin-left: 115px;
		}
	}
}

@media only screen and (max-width: 800px) {
	.containerList {
		> li {
			padding: @wcfGapSmall;
			
			.containerContentType {
				display: none;
			}
		}
		
		&.infoBoxList {
			> li.box32 {
				> span.icon {
					display: none;
				}
				
				> div {
					margin-left: 0;
				}
			}
		}
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.containerList {
		> li {
			padding: @wcfGapSmall @wcfGapMedium;
		}
	}
}

@media screen and (min-width: 1240px) {
	.containerList {
		&.doubleColumned {
			overflow: hidden;
			
			> li {
				padding: 0;
				float: left;
				width: 50%;
				height: 90px;
				overflow: hidden;
				
				&:nth-child(even) {
					float: right;
				}
				
				&:nth-child(4n), &:nth-child(4n+1) {
					background-color: @wcfContainerBackgroundColor;
				}
				
				&:nth-child(4n+2), &:nth-child(4n+3) {
					background-color: @wcfContainerAccentBackgroundColor;
				}
				
				&:hover {
					background-color: @wcfContainerHoverBackgroundColor;
				}
				
				> div {
					padding: 14px 21px;
				}
			}
			
			&::after {
				content: "";
				display: table;
				clear: left;
			}
		}
	}
}

.nestedCategoryList {
	> li {
		margin-top: 14px;
		overflow: hidden;
		
		&:first-child {
			margin-top: 0;
		}
		
		> div {
			padding: 0 14px;
			
			> ol {
				margin-top: 0;
				
				> li {
					display: inline-block;
					font-size: @wcfSmallFontSize;
				}
			}
		}
	}
}

@media all and (min-width: 801px) {
	.nestedCategoryList.doubleColumned {
		> li {
			float: left;
			width: 50%;
			
			&:nth-child(odd):not(:first-child) {
				clear: left;
			}
			
			&:nth-child(2) {
				margin-top: 0;
			}
		}
		
		&::after {
			content: "";
			display: table;
			clear: left;
		}
	}
}

.sidebarNestedCategoryList {
	> li {
		> ol {
			margin-left: 14px;
		}
	}
	
	li {
		margin: 6px 0;
		position: relative;
		
		> span {
			position: absolute;
			right: 0;
			top: 2px;
		}
		
		> a {
			display: block;
			overflow: hidden;
			padding-right: 45px;
			text-overflow: ellipsis;
		}
		
		&.active > a {
			font-weight: bold;
		}
	}
}

.containerBoxList {
	margin-bottom: -@wcfGapSmall;
	
	> li {
		margin-bottom: @wcfGapSmall; 
		
		> div {
			overflow: hidden;
			white-space: nowrap;
			word-wrap: normal;
		}
	}
}

@media all and (min-width: 801px) {
	.containerBoxList {
		&.doubleColumned,
		&.tripleColumned {
			.clearfix();
			
			> li {
				float: left;
				
				> div {
					margin-right: @wcfGapLarge;
				}
			}
		}
		
		&.doubleColumned {
			> li {
				width: 50%;
				
				&:nth-child(odd):not(:first-child) {
					clear: left;
				}
			}
		}
		
		&.tripleColumned {
			> li {
				width: 33%;
				
				&:nth-child(3n+1):not(:first-child) {
					clear: left;
				}
			}
		}
	}
}

/* boxes with an image */
.box(@imageSize, @gapOffset: 0) {
	/* using a min-height prevents us from clearing (which causes a lot of issues) */
	min-height: @imageSize + 4px;
	
	> :first-child {
		float: left;
	}
	
	> *:not(:first-child) {
		margin-left: (@imageSize + @gapOffset);
	}
	
	> .framed ~ * {
		margin-left: (@imageSize + @gapOffset) + 4px;
	}
}

.box16 { .box(16px, 4px); }
.box24 { .box(24px, 4px); }
.box32 { .box(32px, 7px); }
.box48 { .box(48px, 7px); }
.box64 { .box(64px, 7px); }
.box96 { .box(96px, 11px); }
.box128 { .box(128px, 11px); }
.box256 { .box(256px, 21px); }

/* bread crumbs */
.breadcrumbs {
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	text-align: left;
	
	> ul {
		> li {
			float: left;
			font-size: @wcfSmallFontSize;
			list-style: none;
			max-width: 30%;
			padding-right: 10px;
			position: relative;
			
			&:first-child > a {
				&::before {
					content: "\f015";
					display: inline-block;
					font-family: FontAwesome;
					font-size: 14px;
					margin: -3px 7px -3px 0;
					vertical-align: -1px;
				}
			}
			
			> a {
				color: @wcfColor;
				display: block;
				overflow: hidden;
				padding: 5px 1px 5px 5px;
				text-decoration: none;
				text-overflow: ellipsis;
				white-space: nowrap;
				word-wrap: normal;
				
				.textShadow(@wcfContentBackgroundColor);
			}
			
			> .pointer {
				padding: 5px 0;
				position: absolute;
				top: 0;
				right: 0;
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.content > .breadcrumbs {
		background-color: @wcfContentBackgroundColor;
		border: 1px solid @wcfContainerBorderColor;
		border-radius: 6px;
		display: inline-block;
		margin-left: @wcfGapSmall;
		margin-right: @wcfGapSmall;
		max-width: 90%;
		
		> ul {
			> li {
				float: none;
				max-width: none;
				padding-right: 0;
				
				&:not(:last-child) {
					display: none;
				}
				
				> a {
					padding: @wcfGapTiny @wcfGapMedium;
					
					&::before {
						content: "\f062";
						font-family: FontAwesome;
						font-size: 14px;
						padding-right: @wcfGapSmall;
					}
				}
				
				> .pointer {
					display: none;
				}
			}
		}
		
		/* hide second breadcrumbs */
		~ .breadcrumbs {
			display: none;
		}
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.content > .breadcrumbs {
		margin-left: @wcfGapMedium;
		margin-right: @wcfGapMedium;
	}
}

.smallBreadcrumbs {
	> li {
		display: inline;
		font-size: @wcfSmallFontSize;
	}
}

/* tab menus */
.tabMenu {
	display: block;
	margin-top: @wcfGapLarge;
	position: relative;
	text-align: left;
	
	> ul {
		background-color: @wcfContainerAccentBackgroundColor;
		border-color: @wcfContainerBorderColor;
		border-style: solid;
		border-width: 1px 1px 0 1px;
		display: inline-block;
		font-size: 0;
		position: relative;
		white-space: nowrap;
		word-wrap: normal;
		
		.textShadow(@wcfContainerBackgroundColor);
		
		> li {
			display: inline-block;
			outline: 0;
			
			&.ui-state-active {
				> a {
					background-color: @wcfContainerBackgroundColor;
					border-color: @wcfContainerBorderColor @wcfContainerBorderColor @wcfContainerBackgroundColor;
					border-style: solid;
					border-width: 1px;
					color: @wcfLinkColor;
					font-weight: bold;
					z-index: 30;
				}
			}
			
			> a {
				color: @wcfDimmedColor;
				display: inline-block;
				font-size: 1.1rem;
				outline: 0;
				padding: 7px 10px;
				position: relative;
				text-decoration: none;
				z-index: 10;
				
				> .badge {
					top: -1px;
				}
			}
			
			&:not(.ui-state-active) {
				> a:hover {
					color: @wcfLinkColor;
				}
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.tabMenu {
		> ul > li.ui-state-active {
			margin-top: -1px;
			
			&:first-child {
				margin-left: -1px;
			}
			
			&:last-child {
				margin-right: -1px;
			}
		}
	
	}
}

@media all and (min-width: 801px) {
	.tabMenu > ul {
		padding: 0 5px 3px 5px;

		> li {
			> a {
				bottom: -3px;
				padding: 1px 10px 3px;
			}
			
			&.ui-state-active {
				> a {
					font-size: 1.3rem;
					margin-top: -10px;
					padding: 10px 15px 5px;
				}
				
				&:first-child {
					margin-left: -6px;
				}
				
				&:last-child {
					margin-right: -6px;
				}
			}
		}
	}
}

.tabMenu > ul > li.ui-state-active > a,
.tabMenu > ul > li.ui-state-disabled > a,
.tabMenu > ul > li.ui-state-processing > a {
	cursor: default;
}

.tabMenuContent {
	display: block;
	margin-top: -1px;
	min-height: @wcfGapLarge;
	position: relative;
	z-index: 20; /* Prevents border overlay during transition */
}

/* sub tabs */
.tabMenuContainer {
	&.containerPadding > .menu {
		margin: -@wcfGapMedium -@wcfGapLarge @wcfGapMedium -@wcfGapLarge; /* reverse paddings from .containerPadding */
	}
	
	> .menu {
		border-bottom: 1px solid @wcfContainerBorderColor;
		padding: @wcfGapTiny @wcfGapSmall;
		
		.linearGradient(@wcfContainerBackgroundColor, @wcfContainerBackgroundColor, @wcfContainerAccentBackgroundColor);
		
		ul {
			display: inline-block;
			font-size: 0;
			white-space: nowrap;
			
			li {
				display: inline-block;
				outline: 0;
				vertical-align: bottom;
				
				&.ui-state-active a,
				&.ui-state-active a:hover {
					background-color: @wcfButtonPrimaryBackgroundColor;
					border-color: @wcfButtonPrimaryBorderColor;
					color: @wcfButtonPrimaryColor;
					cursor: default;
				}
				
				a {
					background-color: @wcfContainerBackgroundColor;
					border: 1px solid @wcfContainerBorderColor;
					border-radius: @wcfButtonBorderRadius;
					color: @wcfButtonColor;
					display: block;
					font-size: @wcfSmallFontSize;
					margin: @wcfGapTiny 0;
					outline: 0;
					padding: @wcfGapTiny @wcfGapSmall;
					
					&:hover {
						background-color: @wcfButtonHoverBackgroundColor;
						border-color: @wcfButtonHoverBorderColor;
						color: @wcfButtonHoverColor;
						text-decoration: none;
					}
				}
				
				&:not(:last-child) {
					padding-right: @wcfGapTiny;
				}
				
				&.dropdown > a {
					font-size: 1.0rem;
					padding: 4px 7px 2px;
				}
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.tabMenuContainer.containerPadding > .menu {
		margin: -@wcfGapSmall -@wcfGapMedium @wcfGapSmall -@wcfGapMedium; /* reverse paddings from .containerPadding */
	}
}

.containerPadding > .tabMenuContainer:last-child {
	margin-bottom: @wcfGapSmall;
}

/* jquery ui fixes */
.ui-tabs .ui-tabs-hide {
	display: none !important;
}

.ui-helper-hidden {
	display: none;
}

.ui-helper-hidden-accessible {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px,1px,1px,1px);
}

/* ### tabular boxes ### */
.tabularBox {
	background-color: @wcfTabularBoxBackgroundColor;
	border: 1px solid @wcfContainerBorderColor;
	
	> .container {
		border: 0;
	}
}

.tabularBoxTitle > header {
	color: @wcfTabularBoxColor;
	padding: 5px 7px;
	
	> h2 {
		font-size: @wcfTitleFontSize;
		font-weight: bold;
		
		.textShadow(@wcfTabularBoxBackgroundColor);
		
		> a {
			color: @wcfTabularBoxColor;
			
			&:hover {
				color: @wcfTabularBoxHoverColor;
				text-decoration: none;
			}
		}
	}
	
	.icon {
		color: @wcfTabularBoxColor;
		
		.textShadow(@wcfTabularBoxBackgroundColor);
	}
}

@media only screen and (max-width: 800px) {
	.tabularBox {
		border-width: 1px 0;
	}
	
	.tabularBoxTitle {
		border-top-width: 0;
	}
}

@media only screen and (min-width: 641px) and (max-width: 800px) {
	.tabularBoxTitle > header {
		padding-left: @wcfGapMedium;
		padding-right: @wcfGapMedium;
	}
}

.table,
.cke_wysiwyg_div table {
	border-spacing: 0;
	width: 100%;
	
	/* cells */
	th,
	td {
		padding: @wcfGapSmall;
		text-align: left;
		vertical-align: middle;
		
		> label {
			cursor: pointer;
			display: block;
			margin: -@wcfGapSmall;
			padding: @wcfGapSmall;
			
			> input[type="checkbox"] {
				margin: -1px 3px 0;
			}
		}
	}
	
	/* headline */
	th {
		border-right: 1px solid rgba(0, 0, 0, .2);
		color: @wcfTabularBoxColor;
		font-size: @wcfSmallFontSize;
		font-weight: bold;
		white-space: nowrap;
		word-wrap: normal;
		
		.textShadow(@wcfTabularBoxBackgroundColor);
		.linearGradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, 0), rgba(0, 0, 0, .3));
		
		> a {
			color: @wcfTabularBoxColor;
			display: block;
			margin: -@wcfGapSmall;
			position: relative;
			
			&:hover {
				text-decoration: none;
			}
			
			> img {
				margin: -5px 0;
			}
		}
		
		&.active > a {
			background-color: rgba(0, 0, 0, .1);
			color: @wcfTabularBoxHoverColor;
			
			.boxShadowInset(0, 10px, rgba(0, 0, 0, .1), 10px, -10px);
		}
		
		&.ASC > a,
		&.DESC > a {
			padding-right: 20px;
		}
		
		&.ASC > a::after,
		&.DESC > a::after {
			display: inline-block;
			font-family: FontAwesome;
			font-size: 14px;
			position: absolute;
			margin-left: 4px;
			
			.textShadow(@wcfTabularBoxBackgroundColor);
		}
		
		&.ASC > a::after {
			content: "\f0de";
			top: 8px;
		}
		
		&.DESC > a::after {
			content: "\f0dd";
			top: 3px;
		}
		
		&:hover > a {
			background-color: rgba(0, 0, 0, .2);
			color: @wcfTabularBoxHoverColor;
		}
		
		> * {
			padding: @wcfGapSmall;
		}
	}
	
	/* content */
	td {
		background-color: @wcfContainerBackgroundColor;
		
		.transition(background, .1s);
		
		&.columnMark,
		&.columnStatus {
			text-align: center;
			width: 1px;
			white-space: nowrap;
			word-wrap: normal;
		}
		
		&.columnDigits,
		&.columnID {
			text-align: right;
			width: 1px;
			white-space: nowrap;
			word-wrap: normal;
		}
		
		&.columnIcon {
			text-align: left;
			width: 1px;
			white-space: nowrap;
			word-wrap: normal;
		}
		
		&.columnTitle {
			font-weight: bold;
			text-align: left;
		}
		
		&.columnText {
			font-weight: normal;
			text-align: left;
			max-width: 20%;
		}
		
		&.columnDate,
		&.columnRegistrationDate {
			font-size: @wcfSmallFontSize;
			text-align: right;
			width: 1px;
			white-space: nowrap;
			word-wrap: normal;
		}
		
		&.columnURL, &.columnSmallText {
			font-size: @wcfSmallFontSize;
			text-align: left;
		}
	}
	
	/* striped */
	> tbody {
		> tr:nth-child(even) > td {
			background-color: @wcfContainerAccentBackgroundColor;
		}
	}
	
	/* hover */
	> tbody {
		> tr {
			&:not(:last-child) {
				> td {
					border-bottom: 1px solid rgba(255, 255, 255, .3);
				}
			}
			
			&:hover {
				> td {
					background-color: @wcfContainerHoverBackgroundColor;
				}
			}
			
			> td:not(:last-child) {
				border-right: 1px solid rgba(255, 255, 255, .3);
			}
			
			> td.focus {
				background-color: @wcfContainerHoverBackgroundColor;
			}
			
			> td.left {
				text-align: left;
			}
			
			> td.right {
				text-align: right;
			}
		}
	}
	
	.statusDisplay {
		float: right;
		
		.statusIcons {
			float: right;
			margin-left: @wcfGapSmall;
			
			li {
				display: inline-block;
			}
		}
	}
	
	tr {
		&.jsMarked {
			color: @wcfSelectedColor;
			
			> td {
				background-color: @wcfSelectedBackgroundColor !important;
			}
			
			a:not(.badge) {
				color: @wcfSelectedColor;
			}
		}
	}
}

@media screen and (max-width: 800px) {
	.responsiveTable {
		display: block;
		
		thead, tbody, th, td, tr {
			display: block;
		}
		
		thead tr {
			display: none;
		}
		
		tr {
			border: 1px solid @wcfContainerBorderColor;
			border-top-width: 0;
			
			&:last-child {
				border-bottom-width: 0;
			}
		}
		
		td {
			text-align: left !important;
			max-width: none !important;
			width: auto !important;
		}
	}
}

/* ### definition lists ### */
dl.statsDataList {
	> dt {
		color: @wcfDimmedColor;
		display: block;
		float: right;
		font-size: @wcfSmallFontSize;
		line-height: 1.5;
		overflow: hidden;
		text-align: left;
		white-space: nowrap;
		width: 62%;
		word-wrap: normal;
		
		> a {
			text-decoration: none;
		}
		
		&:not(:first-child) {
			clear: both;
		}
	}
	
	> dd {
		color: @wcfColor;
		float: left;
		font-weight: bold;
		margin: 0;
		overflow: hidden;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 35%;
		word-wrap: normal;
		
		> a {
			text-decoration: none;
		}
	}
	
	&::after {
		display: table;
		content: "";
		clear: both;
	}
}

dl.inlineDataList {
	overflow: hidden;
	/*white-space: nowrap;*/
	
	> dd {
		display: inline-block;
		margin: 0 4px 0 0;
		padding: 0;
	}
	
	> dt {
		color: @wcfDimmedColor;
		display: inline-block;
		margin: 0;
		text-align: left;
		width: auto;
		
		&::after {
			content: ":";
		}
	}
}

dl.dataList {
	dt {
		float: left;
		overflow: hidden;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 35%;
		word-wrap: normal;
	}
	
	dd {
		text-align: left;
		margin-left: 38%;
	}
}

ul.inlineDataList, ul.dataList {
	li {
		display: inline-block;
		
		&:not(:last-child)::after {
			content: ",";
		}
	}
}

ul.inlineDataList {
	display: inline-block;
}

/* ### page navigation ### */
.contentNavigation .pageNavigation {
	float: left;
	margin: @wcfGapMedium + 5 0 3px;
	
	ul li {
		margin: 0 2px;
	}
}

.pageNavigation {
	ul {
		li {
			border-radius: @wcfSmallButtonBorderRadius;
			float: left;
			font-weight: bold;
			margin: 0 1px;
			min-width: 19px;
			padding: 0;
			text-align: center;
			
			&:not(.active):not(.disabled) {
				cursor: pointer;
			}
			
			&.disabled {
				background-image: none;
				border: 1px solid rgba(0, 0, 0, .1);
				cursor: not-allowed;
			}
			
			&.skip {	
				> a {
					padding: 2px 0 1px;
				}
				
				> span {
					padding: 3px 0 1px;
				}
			}
			
			&:not(.disabled):hover > a {
				color: @wcfButtonHoverColor;
			}
			
			&:not(.skip) > a {
				padding: 2px 3px;
			}
			
			&.active {
				> span {
					padding: 2px 3px;
				}
			}
			
			> a {
				color: @wcfButtonColor;
				display: block;
				text-decoration: none;
				
				.textShadow(@wcfButtonBackgroundColor);
			}
			
			> span:not(.invisible) {
				display: inline-block;
			}
		}
	}
}

@media only screen and (max-width: 800px) {
	.pageNavigation {
		> ul > li {
			&:not(.skip):not(.active) {
				display: none;
			}
			
			&:nth-last-child(2):not(.active) {
				display: block;
			}
			
			&.active {
				> span {
					&.invisible {
						display: inline-block;
					}
					
					&:not(.invisible) {
						display: none;
					}
				}
			}
		}
	}
}

.statusDisplay .pageNavigation {
	font-size: @wcfSmallFontSize;
	float: left;
	margin-top: 2px;
	
	ul {
		li {
			min-width: 13px;
			
			&:not(.skip) a {
				padding: 1px;
			}
		}
	}
}

/* ### sidebar ### */
.sidebar > div > fieldset:not(:last-child), .sidebar > div > div:not(:last-child) {
	border-bottom: 1px solid @wcfContainerBorderColor;
	margin-bottom: @wcfGapMedium;
}

.sidebar.collapsibleMenu > div > fieldset, .sidebar.collapsibleMenu > div > div {
	border-bottom-width: 0;
}

.sidebar {
	padding: @wcfGapLarge 0 @wcfGapSmall;
	
	fieldset {
		padding: @wcfGapSmall @wcfGapMedium @wcfGapMedium;
		margin-top: 0;
		
		/* collapsed sidebar overflow fix */
		box-sizing:border-box;
		-moz-box-sizing:border-box; /* firefox */
		min-width: 300px; /* webkit */
		width: 300px; /* firefox */
		
		> legend {
			border-width: 0;
			color: @wcfColor;
			font-family: @wcfBaseFontFamily;
			font-weight: normal;
			font-size: 1rem;
			padding: 0;
			text-transform: uppercase;
				
			.textShadow(@wcfSidebarBackgroundColor);
			
			> .badge {
				float: right;
			}
			
			> a {
				color: @wcfColor;
				text-decoration: none;
			}
			
			&.invisible + div {
				margin-top: -@wcfGapSmall;
			}
		}
		
		&::after {
			content: "";
			height: 0;
			display: block;
			clear: both;
		}
		
		.button.more {
			margin: 5px 0 0;
			float: right;
		}
		
		> nav {
			margin: 0 -@wcfGapMedium 0;
			
			ul {
				> li {
					&.active {
						background-color: @wcfContentBackgroundColor;
						
						> a {
							font-weight: bold;
						}
					}
					
					&:hover:not(.active) {
						> a {
							color: @wcfLinkHoverColor;
						}
					}
					
					> a {
						color: @wcfLinkColor;
						display: block;
						padding: @wcfGapTiny @wcfGapMedium @wcfGapSmall @wcfGapLarge;
						
						.textShadow(@wcfSidebarBackgroundColor);
						
						&:hover {
							text-decoration: none;
						}
					}
				}
			}
		}
	}
	
	.sidebarBoxList > li:not(:last-child) {
		margin-bottom: 7px;
	}
	
	.sidebarBoxList {
		overflow: hidden;
	}
	
	.sidebarBoxHeadline {
		> h3 {
			color: @wcfLinkColor;
			margin-bottom: 1px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
			word-wrap: normal;
			
			.textShadow(@wcfSidebarBackgroundColor);
			
			a {
				.textShadow(@wcfSidebarBackgroundColor);
			}
			
			small {
				text-shadow: none;
			}
		}
	}
	
	.formSubmit {
		margin-bottom: @wcfGapMedium;
		margin-top: 0;
		width: 300px;
	}
	
	&.collapsibleMenu {
		legend {
			color: @wcfLinkColor;
			cursor: pointer;
			font-weight: bold;
			font-size: 1.3rem;
			padding-left: (@wcfGapLarge + 16px + @wcfGapTiny);
			position: relative;
			margin-left: -@wcfGapMedium;
			text-transform: none;
			
			&::before {
				content: "\f054";
				display: inline-block;
				font-family: FontAwesome;
				font-size: 14px;
				height: 16px;
				left: 21px;
				position: absolute;
				text-align: center;
				top: 2px;
				width: 16px;
			}
			
			&.active::before {
				content: "\f078";
			}
		}
		
		nav {
			ul {
				> li {
					> a {
						padding-left: (@wcfGapLarge + 16px + @wcfGapTiny);
					}
				}
			}
		}
	}
	
	dl.inlineDataList {
		font-size: @wcfSmallFontSize;
		
		> dt {
			float: left;
		}
		
		> dd {
			display: block;
			padding-right: @wcfGapMedium;
			text-align: right;
		}
	}
}

/* print version */
@media print {
	* {
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		color: #000 !important;
		text-shadow: none !important;
	}
	
	html, body {
		font-size: 12pt !important;
	}
	
	.badge {
		&::before {
			content: "[";
		}
		
		&::after {
			content: "]";
		}
	}
	
	.content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.logo {
		margin-top: 14px !important;
	}
	
	a.externalURL::after {
		content: " (" attr(href) ")";
		font-size: .85rem;
	}
	
	.sidebar,
	.button,
	.navigationIcons,
	.navigationMenuItems,
	.navigationHeader,
	.userPanel,
	.styleChooser {
		display: none !important;
	}

}

/*
This is a dirty fix for a broken gutter / line number width calculation in Internet Explorer
see: http://beta.woltlab.com/index.php/Thread/3874-Kosmetik-Darstellungsfehler-IE10-Stil-bearbeiten/?postID=32177#post32177
*/
.CodeMirror-linenumber {
	min-width: 32px !important;
}

/* More line height for better readability */
.CodeMirror-lines {
	line-height: 1.2;
}

/* Force LTR in RTL languages */
.CodeMirror {
	direction: ltr;
}

/* twitter timeline on ACP index */
#news-twitter-timeline > iframe {
	width: 100% !important;
}

/* jQuery UI resizable */
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
