.app-body {
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

.button {
	background-color: $ui-highlight-color;
	border: 10px none;
	border-radius: 4px;
	box-sizing: border-box;
	color: $primary-text-color;
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	height: 36px;
	letter-spacing: 0;
	line-height: 36px;
	overflow: hidden;
	padding: 0 16px;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: auto;

	&:active,
	&:focus,
	&:hover {background-color: lighten($ui-highlight-color, 10%);}

	&--destructive {
		transition: none;

		&:active,
		&:focus,
		&:hover {
			background-color: $error-red;
			transition: none;
		}
	}

	&:disabled,
	&.disabled {
		background-color: $ui-primary-color;
		cursor: default;
	}

	&::-moz-focus-inner {
		border: 0;
	}

	&::-moz-focus-inner,
	&:focus,
	&:active {
		outline: 0 !important;
	}

	&.button-alternative {
		color: $inverted-text-color;
		background: $ui-primary-color;

		&:active,
		&:focus,
		&:hover {
			background-color: lighten($ui-primary-color, 4%);
		}
	}

	&.button-alternative-2 {
		background: $ui-base-lighter-color;

		&:active,
		&:focus,
		&:hover {
			background-color: lighten($ui-base-lighter-color, 4%);
		}
	}

	&.button-secondary {
		color: $darker-text-color;
		background: transparent;
		padding: 3px 15px;
		border: 1px solid $ui-primary-color;

		&:active,
		&:focus,
		&:hover {
			border-color: lighten($ui-primary-color, 4%);
			color: lighten($darker-text-color, 4%);
		}

		&:disabled {
			opacity: 0.5;
		}
	}

	&.button--block {
		display: block;
		width: 100%;
	}
}

.column__wrapper {
	display: flex;
	flex: 1 1 auto;
	position: relative;
}

.icon-button {
	display: inline-block;
	padding: 0;
	color: $gab-secondary-text;
	border: none;
	background: transparent;
	cursor: pointer;
	transition: color 100ms ease-in;

	&:hover,
	&:active,
	&:focus {
		color: lighten($action-button-color, 7%);
		transition: color 200ms ease-out;
	}

	&.disabled {
		color: darken($action-button-color, 13%);
		cursor: default;
	}

	&.active {
		color: $highlight-text-color;
	}

	&::-moz-focus-inner {
		border: 0;
	}

	&::-moz-focus-inner,
	&:focus,
	&:active {
		outline: 0 !important;
	}

	&.inverted {
		color: $gab-secondary-text;

		&:hover,
		&:active,
		&:focus {
			color: darken($lighter-text-color, 7%);
		}

		&.disabled {
			color: lighten($lighter-text-color, 7%);
		}

		&.active {
			color: $highlight-text-color;

			&.disabled {
				color: lighten($highlight-text-color, 13%);
			}
		}
	}

	&.overlayed {
		box-sizing: content-box;
		background: rgba($base-overlay-background, 0.6);
		color: rgba($primary-text-color, 0.7);
		border-radius: 4px;
		padding: 2px;

		&:hover {
			background: rgba($base-overlay-background, 0.9);
		}
	}
}

.text-icon-button {
	color: $gab-secondary-text;
	border: none;
	background: transparent;
	cursor: pointer;
	font-weight: 600;
	font-size: 11px;
	padding: 0 3px;
	line-height: 27px;
	outline: 0;
	transition: color 100ms ease-in;

	&:hover,
	&:active,
	&:focus {
		color: darken($lighter-text-color, 7%);
		transition: color 200ms ease-out;
	}

	&.disabled {
		color: lighten($lighter-text-color, 20%);
		cursor: default;
	}

	&.active {
		color: $highlight-text-color;
	}

	&::-moz-focus-inner {
		border: 0;
	}

	&::-moz-focus-inner,
	&:focus,
	&:active {
		outline: 0 !important;
	}
}

.invisible {
	font-size: 0 !important;
	line-height: 0 !important;
	display: inline-block;
	width: 0;
	height: 0;
	position: absolute;

	img,
	svg {
		margin: 0 !important;
		border: 0 !important;
		padding: 0 !important;
		width: 0 !important;
		height: 0 !important;
	}
}

.ellipsis {
	&::after {
		content: "…";
	}
}

.timeline-compose-block {
	display: flex;
	align-items: flex-start;
	padding: 20px;
	border-radius: 10px;
	margin-bottom: 10px;
	background: $gab-background-container;
	body.theme-gabsocial-light & {
		@include light-theme-shadow();
		background: $gab-background-container-light;
	}
	.emoji-picker-wrapper {
		.emoji-picker-dropdown {top: 10px;}
	}
	.compose-form {
		flex: 1 1;
		padding: 0 0 0 20px !important;
		position: relative;
		.compose-form__autosuggest-wrapper {
			&:before {
				content: "";
				display: block;
				position: absolute;
				height: 0px;
				width: 0px;
				border-top: 11px solid transparent;
				border-right: 12px solid #fff;
				border-bottom: 11px solid transparent;
				border-left: 11px solid transparent;
				left: -22px;
				top: 13px;
			}
		.autosuggest-textarea__textarea {
			padding: 14px 32px 13px 10px !important;
			body.theme-gabsocial-light & {background: $gab-background-base-light;}
			}
		}
	}
}

.no-reduce-motion .spoiler-input {
	transition: height 0.4s ease, opacity 0.4s ease;
}

.emojione {
	font-size: inherit;
	vertical-align: middle;
	object-fit: contain;
	margin: -.2ex .15em .2ex;
	width: 16px;
	height: 16px;

	img {
		width: auto;
	}
}

.reply-indicator {
	border-radius: 4px;
	margin-bottom: 10px;
	background: $gab-background-base-light;
	padding: 10px;
	min-height: 23px;
	overflow-y: auto;
	flex: 0 2 auto;
	max-height: 500px;
	@media screen and (min-width: 320px) and (max-width: 375px) {max-height: 220px;}
	@media screen and (max-width: 320px) {max-height :130px;}
}

.reply-indicator__header {
	margin-bottom: 5px;
	overflow: hidden;
}

.reply-indicator__cancel {
	float: right;
	line-height: 24px;
}

.reply-indicator__display-name {
	color: $inverted-text-color;
	display: block;
	max-width: 100%;
	line-height: 24px;
	overflow: hidden;
	padding-right: 25px;
	text-decoration: none;
}

.reply-indicator__display-avatar {
	float: left;
	margin-right: 5px;
}

.status__content--with-action {
	cursor: pointer;
}

.status__content,
.reply-indicator__content {
	position: relative;
	font-size: 15px;
	line-height: 20px;
	word-wrap: break-word;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-top: 2px;
	color: $primary-text-color;

	&:focus {
		outline: 0;
	}

	&.status__content--with-spoiler {
		white-space: normal;

		.status__content__text {
			white-space: pre-wrap;
		}
	}

	.emojione {
		width: 20px;
		height: 20px;
		margin: -3px 0 0;
	}

	p {
		margin-bottom: 20px;
		white-space: pre-wrap;

		&:last-child {
			margin-bottom: 2px;
		}
	}

	a {
		color: $gab-brand-default;
		text-decoration: none;

		&:hover {
			text-decoration: underline;

			.fa {
				color: lighten($dark-text-color, 7%);
			}
		}

		&.mention {
			&:hover {
				text-decoration: none;

				span {
					text-decoration: underline;
				}
			}
		}

		.fa {
			color: $dark-text-color;
		}
	}

	.status__content__spoiler-link {
		background: $action-button-color;

		&:hover {
			background: lighten($action-button-color, 7%);
			text-decoration: none;
		}

		&::-moz-focus-inner {
			border: 0;
		}

		&::-moz-focus-inner,
		&:focus,
		&:active {
			outline: 0 !important;
		}
	}

	.status__content__text {
		display: none;

		&.status__content__text--visible {
			display: block;
		}
	}
}

.status__content.status__content--collapsed {
	max-height: 20px * 15; // 15 lines is roughly above 500 characters
}

.status__content__read-more-button {
	display: block;
	font-size: 15px;
	line-height: 20px;
	color: $gab-brand-default;
	border: 0;
	background: transparent;
	padding: 0;
	padding-top: 8px;
	&:hover,
	&:active {
		text-decoration: underline;
	}
}

.status__content__spoiler-link {
	display: inline-block;
	border-radius: 2px;
	background: transparent;
	border: 0;
	color: $inverted-text-color;
	font-weight: 700;
	font-size: 11px;
	padding: 0 6px;
	text-transform: uppercase;
	line-height: 20px;
	cursor: pointer;
	vertical-align: middle;
}

.status__wrapper--filtered {
	color: $dark-text-color;
	border: 0;
	font-size: inherit;
	text-align: center;
	line-height: inherit;
	margin: 0;
	padding: 15px;
	box-sizing: border-box;
	width: 100%;
	clear: both;
	border-bottom: 1px solid lighten($ui-base-color, 8%);
}

.status__prepend-icon-wrapper {
	left: -26px;
	position: absolute;
}

.focusable {
	&:focus {
		outline: 0;
		background: lighten($ui-base-color, 4%);

		.status.status-direct {
			background: lighten($ui-base-color, 12%);

			&.muted {
				background: transparent;
			}
		}

		.detailed-status,
		.detailed-status__action-bar {
			background: lighten($ui-base-color, 8%);
		}
	}
}

.status {
	padding: 8px 10px;
	padding-left: 68px;
	position: relative;
	min-height: 54px;
	border-bottom: 1px solid lighten($ui-base-color, 8%);
	cursor: default;

	@supports (-ms-overflow-style: -ms-autohiding-scrollbar) {
		// Add margin to avoid Edge auto-hiding scrollbar appearing over content.
		// On Edge 16 this is 16px and Edge <=15 it's 12px, so aim for 16px.
		padding-right: 26px; // 10px + 16px
	}

	@keyframes fade {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}

	opacity: 1;
	animation: fade 150ms linear;

	.video-player {
		margin-top: 8px;
	}

	&.status-direct:not(.read) {
		background: lighten($ui-base-color, 8%);
		border-bottom-color: lighten($ui-base-color, 12%);
	}

	&.light {
		.status__relative-time {
			color: $light-text-color;
		}

		.status__display-name {
			color: $inverted-text-color;
		}

		.display-name {
			strong {
				color: $inverted-text-color;
			}

			span {
				color: $light-text-color;
			}
		}

		.status__content {
			color: $inverted-text-color;

			a {
				color: $highlight-text-color;
			}

			a.status__content__spoiler-link {
				color: $primary-text-color;
				background: $ui-primary-color;

				&:hover {
					background: lighten($ui-primary-color, 8%);
				}
			}
		}
	}
}

.notification-favourite {
	.status.status-direct {
		background: transparent;

		.icon-button.disabled {
			color: lighten($action-button-color, 13%);
		}
	}
}

.status__relative-time,
.notification__relative_time {
	color: $dark-text-color;
	float: right;
	font-size: 14px;
}

.status__display-name {
	color: $dark-text-color;
}

.status__info .status__display-name {
	display: block;
	max-width: 100%;
	padding-right: 25px;
}

.status__info {
	font-size: 15px;
	z-index: 4;
}

.status-check-box {
	border-bottom: 1px solid $ui-secondary-color;
	display: flex;

	.status-check-box__status {
		margin: 10px 0 10px 10px;
		flex: 1;

		.media-gallery {
			max-width: 250px;
		}

		.status__content {
			padding: 0;
			white-space: normal;
		}

		.video-player {
			margin-top: 8px;
			max-width: 250px;
		}

		.media-gallery__item-thumbnail {
			cursor: default;
		}
	}
}

.status-check-box-toggle {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	justify-content: center;
	padding: 10px;
}

.status__prepend {
	margin-left: 68px;
	color: $dark-text-color;
	padding: 8px 0;
	padding-bottom: 2px;
	font-size: 14px;
	position: relative;

	.status__display-name strong {
		color: $dark-text-color;
	}

	> span {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

.status__action-bar {
	align-items: center;
	display: flex;
	margin-top: 25px;
	z-index: 4;

	&__counter {
		display: inline-flex;
		margin-right: 22px;
		align-items: center;

		.status__action-bar-button {
			margin-right: 4px;
		}

		&__label {
			display: inline-block;
			width: 14px;
			font-size: 12px;
			font-weight: 500;
			color: $action-button-color;
		}
	}
}

.status__action-bar-button {
	margin-right: 18px;
}

.status__action-bar-dropdown {
	height: 23.15px;
	width: 23.15px;
}

.detailed-status__action-bar-dropdown {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.detailed-status {
	background: lighten($ui-base-color, 4%);
	padding: 14px 10px;

	&--flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;

		.status__content,
		.detailed-status__meta {
			flex: 100%;
		}
	}

	.status__content {
		font-size: 19px;
		line-height: 24px;

		.emojione {
			width: 24px;
			height: 24px;
			margin: -1px 0 0;
		}

		.status__content__spoiler-link {
			line-height: 24px;
			margin: -1px 0 0;
		}
	}

	.video-player {
		margin-top: 8px;
	}
}

.detailed-status__meta {
	margin-top: 15px;
	color: $dark-text-color;
	font-size: 14px;
	line-height: 18px;
}

.detailed-status__action-bar {
	background: lighten($ui-base-color, 4%);
	border-top: 1px solid lighten($ui-base-color, 8%);
	border-bottom: 1px solid lighten($ui-base-color, 8%);
	display: flex;
	flex-direction: row;
	padding: 10px 0;
}

.detailed-status__link {
	color: $action-button-color;
	cursor: pointer;
	text-decoration: none;
	font-size: 13px;
}

.detailed-status__favorites,
.detailed-status__reblogs {
	display: inline-block;
	font-weight: 500;
	font-size: 12px;
	margin-left: 6px;
}

.reply-indicator__content {
	color: $gab-default-text-light;
	font-size: 14px;

	a {
		color: $lighter-text-color;
	}
}

.domain {
	padding: 10px;
	border-bottom: 1px solid lighten($ui-base-color, 8%);

	.domain__domain-name {
		flex: 1 1 auto;
		display: block;
		color: $primary-text-color;
		text-decoration: none;
		font-size: 14px;
		font-weight: 500;
	}
}

.domain__wrapper {
	display: flex;
}

.domain_buttons {
	height: 18px;
	padding: 10px;
	white-space: nowrap;
}

.account {
	padding: 10px;

  &:not(:last-of-type) {
	border-bottom: 1px solid lighten($ui-base-color, 8%);
  }

	&.compact {
		padding: 0;
		border-bottom: 0;

		.account__avatar-wrapper {
			margin-left: 0;
		}
	}

	.account__display-name {
		flex: 1 1 auto;
		display: block;
		color: $darker-text-color;
		overflow: hidden;
		text-decoration: none;
		font-size: 14px;
	}
}

.account__wrapper {
	display: flex;
}

.account__avatar-wrapper {
	float: left;
	margin-right: 12px;
}

.account__avatar {
	@include avatar-radius();
	position: relative;
	background-color: $ui-base-color;

	&-inline {
		display: inline-block;
		vertical-align: middle;
		margin-right: 5px;
	}

	&-composite {
		@include avatar-radius();
		overflow: hidden;

		& > div {
			@include avatar-radius();
			float: left;
			position: relative;
			box-sizing: border-box;
		}
	}
}

a .account__avatar {
	cursor: pointer;
}

.account__avatar-overlay {
	@include avatar-size(48px);

	&-base {
		@include avatar-radius();
		@include avatar-size(36px);
	}

	&-overlay {
		@include avatar-radius();
		@include avatar-size(24px);

		position: absolute;
		bottom: 0;
		right: 0;
		z-index: 1;
	}
}

.account__relationship {
	height: auto;
	padding: 0 0 0 5px;
	position: relative;

	.dismiss-account-btn {
		display: block;
		margin-bottom: 5px;
	}
}

.account__disclaimer {
	padding: 10px;
	border-top: 1px solid lighten($ui-base-color, 8%);
	color: $dark-text-color;

	strong {
		font-weight: 500;

		@each $lang in $cjk-langs {
			&:lang(#{$lang}) {
				font-weight: 700;
			}
		}
	}

	a {
		font-weight: 500;
		color: inherit;
		text-decoration: underline;

		&:hover,
		&:focus,
		&:active {
			text-decoration: none;
		}
	}
}

.account__action-bar {
	border-top: 1px solid lighten($ui-base-color, 8%);
	border-bottom: 1px solid lighten($ui-base-color, 8%);
	line-height: 36px;
	overflow: hidden;
	flex: 0 0 auto;
	display: flex;
}

.account__action-bar-dropdown {
	padding: 10px;

	.icon-button {
		vertical-align: middle;
	}

	.dropdown--active {
		.dropdown__content.dropdown__right {
			left: 6px;
			right: initial;
		}

		&::after {
			bottom: initial;
			margin-left: 11px;
			margin-top: -7px;
			right: initial;
		}
	}
}

.account__action-bar-links {
	display: flex;
	flex: 1 1 auto;
	line-height: 18px;
	text-align: center;
}

.account__action-bar__tab {
	text-decoration: none;
	overflow: hidden;
	flex: 0 1 100%;
	border-right: 1px solid lighten($ui-base-color, 8%);
	padding: 10px 0;
	border-bottom: 4px solid transparent;

	&.active {
		border-bottom: 4px solid $ui-highlight-color;
	}

	& > span {
		display: block;
		text-transform: uppercase;
		font-size: 11px;
		color: $darker-text-color;
	}

	strong {
		display: block;
		font-size: 15px;
		font-weight: 500;
		color: $primary-text-color;

		@each $lang in $cjk-langs {
			&:lang(#{$lang}) {
				font-weight: 700;
			}
		}
	}
}

.account-authorize {
	padding: 14px 10px;

	.detailed-status__display-name {
		display: block;
		margin-bottom: 15px;
		overflow: hidden;
	}
}

.account-authorize__avatar {
	float: left;
	margin-right: 10px;
}

.status__display-name,
.status__relative-time,
.detailed-status__display-name,
.detailed-status__datetime,
.detailed-status__application,
.account__display-name {
	text-decoration: none;
}

.status__display-name,
.account__display-name {
	strong {
		color: $primary-text-color;
	}
}

.muted {
	.emojione {
		opacity: 0.5;
	}
}

.status__display-name,
.reply-indicator__display-name,
.detailed-status__display-name,
a.account__display-name {
	&:hover strong {
		text-decoration: underline;
	}
}

.account__display-name strong {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
}

.detailed-status__application,
.detailed-status__datetime {
	color: inherit;
}

.detailed-status__display-name {
	color: $secondary-text-color;
	display: block;
	line-height: 24px;
	margin-bottom: 15px;
	overflow: hidden;

	strong,
	span {
		display: block;
		text-overflow: ellipsis;
		overflow: hidden;
	}

	strong {
		font-size: 16px;
		color: $primary-text-color;
	}
}

.detailed-status__display-avatar {
	float: left;
	margin-right: 10px;
}

.status__avatar {
	height: 48px;
	left: 10px;
	position: absolute;
	top: 10px;
	width: 48px;
}

.status__expand {
	width: 68px;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	cursor: pointer;
}

.muted {
	.status__content p,
	.status__content a {
		color: $dark-text-color;
	}

	.status__display-name strong {
		color: $dark-text-color;
	}

	.status__avatar {
		opacity: 0.5;
	}

	a.status__content__spoiler-link {
		background: $ui-base-lighter-color;
		color: $inverted-text-color;

		&:hover {
			background: lighten($ui-base-lighter-color, 7%);
			text-decoration: none;
		}
	}
}

.notification__message {
	margin: 0 10px 0 68px;
	padding: 8px 0 0;
	cursor: default;
	color: $gab-secondary-text;
	font-size: 15px;
	line-height: 22px;
	position: relative;

	.fa {
		color: $highlight-text-color;
	}

	> span {
		display: inline;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

.notification__favourite-icon-wrapper {
	left: -26px;
	position: absolute;

	.star-icon {
		color: $gold-star;
	}
}

.star-icon.active {
	color: $gold-star;
}

.notification__display-name {
	color: inherit;
	font-weight: 500;
	text-decoration: none;

	&:hover {
		color: $primary-text-color;
		text-decoration: underline;
	}
}

.notification__relative_time {
	float: right;
}

.display-name {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
}

.display-name__html {
	font-weight: 600;
	padding-right: 4px;
}

.display-name__account {
	font-size: 14px;
}

.status__relative-time,
.detailed-status__datetime {
	&:hover {
		text-decoration: underline;
	}
}

.image-loader {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	.image-loader__preview-canvas {
		max-width: $media-modal-media-max-width;
		max-height: $media-modal-media-max-height;
		background: url('../images/void.png') repeat;
		object-fit: contain;
	}

	.loading-bar {
		position: relative;
	}

	&.image-loader--amorphous .image-loader__preview-canvas {
		display: none;
	}
}

.zoomable-image {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;

	img {
		max-width: $media-modal-media-max-width;
		max-height: $media-modal-media-max-height;
		width: auto;
		height: auto;
		object-fit: contain;
	}
}

.navigation-bar {
	padding: 10px;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	cursor: default;
	color: $darker-text-color;

	strong {
		color: $secondary-text-color;
	}

	a {
		color: inherit;
	}

	.permalink {
		text-decoration: none;
	}

	.navigation-bar__actions {
		position: relative;

		.icon-button.close {
			position: absolute;
			pointer-events: none;
			transform: scale(0.0, 1.0) translate(-100%, 0);
			opacity: 0;
		}

		.compose__action-bar .icon-button {
			pointer-events: auto;
			transform: scale(1.0, 1.0) translate(0, 0);
			opacity: 1;
		}
	}
}

.navigation-bar__profile {
	flex: 1 1 auto;
	margin-left: 8px;
	line-height: 20px;
	margin-top: -1px;
	overflow: hidden;
}

.navigation-bar__profile-account {
	display: block;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
}

.navigation-bar__profile-edit {
	color: inherit;
	text-decoration: none;
}


//////////////////////////////////


.columns-area {
	display: flex;
	flex: 1 1 auto;
	flex-direction: row;
	justify-content: flex-start;
	overflow-x: auto;
	position: relative;

	&__panels {
		display: flex;
		justify-content: center;
		width: 100%;
		height: 100%;

		&__pane {
			height: 100%;

			// NOTE: regression-watch -- watch for regressions on this before deleting permanently
			//overflow: hidden;

			pointer-events: none;
			display: flex;
			justify-content: flex-end;
			padding-top: 10px;

			&--start {
				justify-content: flex-start;
			}

			&__inner {
				width: 285px;
				pointer-events: auto;
				height: 100%;
			}
		}

		&__main {
			box-sizing: border-box;
			width: 100%;
			max-width: 600px;
			display: flex;
			flex-direction: column;

			@media screen and (min-width: 360px) {
				padding: 0 10px;
			}
		}
	}
}

.react-swipeable-view-container {
	&,
	.columns-area,
	.drawer,
	.column {
		height: 100%;
	}
}

.react-swipeable-view-container > * {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.column {
	width: 350px;
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;

	article {
		// TEMPORARY - content of columns may be significantly altered
		background: $gab-background-container;
	}
}

.ui {
	display: block;
	width: 100%;
	padding: 0 0 100px 0;

	.page {
	display: flex;
	flex-direction: column;
	width: 100%;

	&__top {
	  display: flex;
	  width: 100%;
	  height: auto;
			z-index: 105;

			@media (min-width:895px) {
				top: -290px;
				position: sticky;
			}
	}

	&__columns {
	  display: flex;
	  flex-direction: column;
	  width: 100%;
	  height: 100%;
	}
  }
}

.drawer {
	width: 300px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow-y: hidden;
}

.drawer__tab {
	display: block;
	flex: 1 1 auto;
	padding: 15px 5px 13px;
	color: $darker-text-color;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	border-bottom: 2px solid transparent;
}

.column,
.drawer {
	flex: 1 1 100%;
	overflow: hidden;
}

@media screen and (min-width: 631px) {
	.columns-area {
		padding: 0;
	}

	.column,
	.drawer {
		flex: 0 0 auto;
		padding: 10px;
		padding-left: 5px;
		padding-right: 5px;

		&:first-child {
			padding-left: 10px;
		}

		&:last-child {
			padding-right: 10px;
		}
	}

	.columns-area > div {
		.column,
		.drawer {
			padding-left: 5px;
			padding-right: 5px;
		}
	}
}

// TEMPORARY - need a default size for the avatars for now
// They are sized individually all over the application and need to change with breakpoints as well
// Might create a mixin to accept the size attribute and apply the various properties where necessary
.account__avatar {
	width: 56px;
	height: 56px;
	background-size: cover;
}

.columns-area--mobile {
	flex-direction: column;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	
	.column,
	.drawer {
		width: 100%;
		height: 100%;
		padding: 0;
	}

	.autosuggest-textarea__textarea {
		font-size: 16px;
	}

	.search__input {
		line-height: 18px;
		font-size: 16px;
		padding: 15px;
		padding-right: 30px;
	}

	.search__icon .fa {
		top: 15px;
	}

	@media screen and (min-width: 360px) {
		padding: 10px 0;
	}

	@media screen and (min-width: 630px) {
		.detailed-status {
			padding: 15px;

			.media-gallery,
			.video-player {
				margin-top: 15px;
			}
		}

		.account__header__bar {
			padding: 5px 10px;
		}

		.navigation-bar,
		.compose-form {
			padding: 15px;
		}

		.compose-form .compose-form__publish .compose-form__publish-button-wrapper {
			padding-top: 15px;
		}

		.status {
			padding: 15px 15px 15px (48px + 15px * 2);
			min-height: 48px + 2px;

			&__avatar {
				left: 15px;
				top: 17px;
			}

			&__content {
				padding-top: 5px;
			}

			&__prepend {
				margin-left: 48px + 15px * 2;
				padding-top: 15px;
			}

			&__prepend-icon-wrapper {
				left: -32px;
			}

			.media-gallery,
			.video-player {
				margin-top: 10px;
			}
		}

		.account {
			padding: 15px 10px;
		}

		.notification {
			&__message {
				margin-left: 48px + 15px * 2;
				padding-top: 15px;
			}

			&__favourite-icon-wrapper {
				left: -32px;
			}

			.status {
				padding-top: 8px;
			}

			.account {
				padding-top: 8px;
			}

			.account__avatar-wrapper {
				margin-left: 17px;
				margin-right: 15px;
			}
		}
	}
}

.floating-action-button {
	z-index: 1000;
	display: none;
	@media screen and (max-width: $nav-breakpoint-3) {display: flex;}
	position: fixed;
	bottom: 14px;
	right: 14px;
	width: 61px;
	height: 52px;
	background-image: url('../images/sprite-main-navigation.png');
	background-repeat: no-repeat;
	background-size: 161px 152px;
	background-position: -100px 0;
	background-color: transparent;
  border: none;
	&:hover,
	&:focus,
	&:active {background-position: -100px -100px;}
}

@media screen and (min-width: 360px) {
	.getting-started__wrapper,
	.getting-started__trends,
	.search {
		margin-bottom: 10px;
	}
}

// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
// This controls where the left column breaks.
@media screen and (max-width: 600px + (285px * 1) + (10px * 1)) {
	.columns-area__panels__pane--left {
		display: none;
	}
}

// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
@media screen and (min-width: 600px + (285px * 1) + (10px * 1)) {
	.search-page .search {
		display: none;
	}
}

// NOTE - Remove all of these weird breakpoint calculations which just spit out an integer.
@media screen and (max-width: 600px + (285px * 2) + (10px * 2)) {
	.columns-area__panels__pane--right {
		display: none;
	}
}

.icon-with-badge {
	position: relative;

	&__badge {
		position: absolute;
		box-sizing: border-box;
		left: -16px;
		top: -14px;
		@media screen and (max-width: $nav-breakpoint-1) {
			left: 27px;
			top: 0;
		}
		min-width: 16px;
		height: 16px;
		padding: 1px 3px 0;
		border-radius: 8px;
		text-align: center;
		@include font-montserrat();
		@include font-size(14);
		@include line-height(14);
		color: #fff;
		background: $gab-alert-red;
	}
}

.column-link--transparent .icon-with-badge__badge {
	border-color: darken($ui-base-color, 8%);
}

.promo-panel {
  margin-top: 10px;
  padding: 10px 10px 20px 10px;
  border-bottom: 1px solid lighten($ui-base-color, 4%);

  .promo-panel-item {
	display: block;

	&:not(:first-of-type) {
	  margin-top: 20px;
	}

	&__icon {
	  margin-right: 12px;
	}

	&__message {
	  display: block;
	  font-size: 14px;
	  line-height: 16px;
	  margin-top: 6px;
	  color: $primary-text-color;

	  &--dark {
		color: $ui-secondary-color;
	  }
	}
  }
}

.drawer__pager {
	box-sizing: border-box;
	padding: 0;
	flex-grow: 1;
	position: relative;
	overflow: hidden;
	display: flex;
}

.drawer__inner {
	top: 0;
	left: 0;
	background: lighten($ui-base-color, 13%);
	box-sizing: border-box;
	padding: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	overflow-y: auto;
	width: 100%;
	height: 100%;

	&.darker {
		background: $ui-base-color;
	}
}

.drawer__inner__gabsocial {
	background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
	flex: 1;
	min-height: 47px;
	display: none;

	> img {
		display: block;
		object-fit: contain;
		object-position: bottom left;
		width: 100%;
		height: 100%;
		pointer-events: none;
		user-drag: none;
		user-select: none;
	}

	@media screen and (min-height: 640px) {
		display: block;
	}
}

.pseudo-drawer {
	background: lighten($ui-base-color, 13%);
	font-size: 13px;
	text-align: left;
}

.drawer__header {
	flex: 0 0 auto;
	font-size: 16px;
	background: lighten($ui-base-color, 8%);
	margin-bottom: 10px;
	display: flex;
	flex-direction: row;

	a {
		transition: background 100ms ease-in;

		&:hover {
			background: lighten($ui-base-color, 3%);
			transition: background 200ms ease-out;
		}
	}
}

.slist {
	&--flex {
		display: flex;
		flex-direction: column;
	}

	&__append {
		flex: 1 1 auto;
		position: relative;
		min-height: 120px;
	}
}

.column-back-button {
	background: lighten($ui-base-color, 4%);
	color: $highlight-text-color;
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 16px;
	line-height: inherit;
	border: 0;
	text-align: unset;
	padding: 15px;
	margin: 0;
	z-index: 3;
	outline: 0;

	&:hover {
		text-decoration: underline;
	}
}

.column-header__back-button {
	background: lighten($ui-base-color, 4%);
	border: 0;
	font-family: inherit;
	color: $highlight-text-color;
	cursor: pointer;
	white-space: nowrap;
	font-size: 16px;
	padding: 0 5px 0 0;
	z-index: 3;

	&:hover {
		text-decoration: underline;
	}

	&:last-child {
		padding: 0 15px 0 0;
	}
}

.column-back-button__icon {
	display: inline-block;
	margin-right: 5px;
}

.column-back-button--slim {
	position: relative;
}

.column-back-button--slim-button {
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 16px;
	padding: 15px;
	position: absolute;
	right: 0;
	top: -48px;
}

.react-toggle {
	display: inline-block;
	position: relative;
	cursor: pointer;
	background-color: transparent;
	border: 0;
	padding: 0;
	user-select: none;
	-webkit-tap-highlight-color: rgba($base-overlay-background, 0);
	-webkit-tap-highlight-color: transparent;
}

.react-toggle-screenreader-only {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.react-toggle--disabled {
	cursor: not-allowed;
	opacity: 0.5;
	transition: opacity 0.25s;
}

.react-toggle-track {
	width: 50px;
	height: 24px;
	padding: 0;
	border-radius: 30px;
	background-color: $ui-base-color;
	transition: background-color 0.2s ease;
}

.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
	background-color: darken($ui-base-color, 10%);
}

.react-toggle--checked .react-toggle-track {
	background-color: $gab-brand-default;
}

.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
	background-color: lighten($gab-brand-default, 10%);
}

.react-toggle-track-check {
	position: absolute;
	width: 14px;
	height: 10px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	line-height: 0;
	left: 8px;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.react-toggle--checked .react-toggle-track-check {
	opacity: 1;
	transition: opacity 0.25s ease;
}

.react-toggle-track-x {
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	line-height: 0;
	right: 10px;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.react-toggle--checked .react-toggle-track-x {
	opacity: 0;
}

.react-toggle-thumb {
	position: absolute;
	top: 1px;
	left: 1px;
	width: 22px;
	height: 22px;
	border: 1px solid $ui-base-color;
	border-radius: 50%;
	background-color: darken($simple-background-color, 2%);
	box-sizing: border-box;
	transition: all 0.25s ease;
	transition-property: border-color, left;
}

.react-toggle--checked .react-toggle-thumb {
	left: 27px;
	border-color: $gab-brand-default;
}

.column-link {
	background: lighten($ui-base-color, 8%);
	color: $primary-text-color;
	display: block;
	font-size: 16px;
	padding: 15px;
	text-decoration: none;

	&:hover,
	&:focus,
	&:active {
		background: lighten($ui-base-color, 11%);
	}

	&:focus {
		outline: 0;
	}

	&--transparent {
		background: transparent;
		color: $ui-secondary-color;

		&:hover,
		&:focus,
		&:active {
			background: transparent;
			color: $primary-text-color;
		}

		&.active {
			color: $ui-highlight-color;
		}
	}
}

.column-link__icon {
	display: inline-block;
	margin-right: 5px;
}

.column-link__badge {
	display: inline-block;
	border-radius: 4px;
	font-size: 12px;
	line-height: 19px;
	font-weight: 500;
	background: $ui-base-color;
	padding: 4px 8px;
	margin: -6px 10px;
}

.column-subheading {
	background: $ui-base-color;
	color: $dark-text-color;
	padding: 8px 20px;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	cursor: default;
}

.getting-started__wrapper,
.getting-started,
.flex-spacer {
	background: $ui-base-color;
}

.getting-started__wrapper {
	flex: 0 0 auto;
}

.flex-spacer {
	flex: 1 1 auto;
}

.getting-started {
	color: $dark-text-color;
	overflow: auto;

	&__footer {
		flex: 0 0 auto;
		padding: 10px;
		padding-top: 20px;

		ul {
			margin-bottom: 10px;
		}

		ul li {
			display: inline;
		}

		p {
			color: $dark-text-color;
			font-size: 13px;
			margin-bottom: 20px;

			a {
				color: $gab-secondary-text;
				text-decoration: underline;
			}
		}

		a {
			text-decoration: none;
			color: $gab-secondary-text;

			&:hover,
			&:focus,
			&:active {
				text-decoration: underline;
			}
		}
	}

	&__trends {
		background: $ui-base-color;
		flex: 0 1 auto;

		@media screen and (max-height: 810px) {
			.trends__item:nth-child(3) {
				display: none;
			}
		}

		@media screen and (max-height: 720px) {
			.trends__item:nth-child(2) {
				display: none;
			}
		}

		@media screen and (max-height: 670px) {
			display: none;
		}
	}
}

.keyboard-shortcuts {
	padding: 8px 0 0;
	overflow: hidden;
	background-color: $classic-base-color;
	border-radius: 6px;

	@media screen and (max-width: 960px) {
		height: 90vh;
	}

	&__header {
		display: block;
		position: relative;
		border-bottom: 1px solid lighten($classic-base-color, 8%);
		border-radius: 6px 6px 0 0;
		padding-top: 12px;
		padding-bottom: 12px;

		&__title {
			display: block;
			width: 80%;
			margin: 0 auto;
			font-size: 18px;
			font-weight: bold;
			line-height: 24px;
			color: $primary-text-color;
			text-align: center;
		}
	}

	&__close {
	position: absolute;
	right: 10px;
	top: 10px;
	}

	&__content {
		display: flex;
		flex-direction: row;
		padding: 15px;

		@media screen and (max-width: 960px) {
			flex-direction: column;
			overflow: hidden;
		overflow-y: scroll;
		height: calc(100% - 80px);
			-webkit-overflow-scrolling: touch;
		}
	}

	table {
		thead {
			display: block;
			padding-left: 10px;
			margin-bottom: 10px;
			color: $primary-text-color;
			font-size: 16px;
			font-weight: 600;
		}

		tr {
			font-size: 12px;
		}

		td {
			padding: 0 10px 8px;
		}

		kbd {
			display: inline-block;
			padding: 2px 8px;
			background-color: lighten($ui-base-color, 8%);
			border: 1px solid darken($ui-base-color, 4%);
			border-radius: 4px;
		}
	}
}

.setting-text {
	color: $darker-text-color;
	background: transparent;
	border: none;
	border-bottom: 2px solid $ui-primary-color;
	box-sizing: border-box;
	display: block;
	font-family: inherit;
	margin-bottom: 10px;
	padding: 7px 0;
	width: 100%;

	&:focus,
	&:active {
		color: $primary-text-color;
		border-bottom-color: $highlight-text-color;
	}

	@media screen and (max-width: 600px) {
		font-size: 16px;
	}
}

.no-reduce-motion button.icon-button i.fa-retweet {
	background-position: 0 0;
	height: 19px;
	transition: background-position 0.9s steps(10);
	transition-duration: 0s;
	vertical-align: middle;
	width: 22px;

	&::before {
		display: none !important;
	}

}

.no-reduce-motion button.icon-button.active i.fa-retweet {
	transition-duration: 0.9s;
	background-position: 0 100%;
}

.reduce-motion button.icon-button i.fa-retweet {
	color: $action-button-color;
	transition: color 100ms ease-in;
}

.reduce-motion button.icon-button.active i.fa-retweet {
	color: $highlight-text-color;
}

.status-card {
	display: flex;
	font-size: 14px;
	border: 1px solid lighten($ui-base-color, 8%);
	border-radius: 4px;
	color: $dark-text-color;
	margin-top: 14px;
	text-decoration: none;
	overflow: hidden;

	&__actions {
		bottom: 0;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		display: flex;
		justify-content: center;
		align-items: center;

		& > div {
			background: rgba($base-shadow-color, 0.6);
			border-radius: 8px;
			padding: 12px 9px;
			flex: 0 0 auto;
			display: flex;
			justify-content: center;
			align-items: center;
		}

		button,
		a {
			display: inline;
			color: $secondary-text-color;
			background: transparent;
			border: 0;
			padding: 0 8px;
			text-decoration: none;
			font-size: 18px;
			line-height: 18px;

			&:hover,
			&:active,
			&:focus {
				color: $primary-text-color;
			}
		}

		a {
			font-size: 19px;
			position: relative;
			bottom: -1px;
		}
	}
}

a.status-card {
	cursor: pointer;

	&:hover {
		background: lighten($ui-base-color, 8%);
	}
}

.status-card-photo {
	cursor: zoom-in;
	display: block;
	text-decoration: none;
	width: 100%;
	height: auto;
	margin: 0;
}

.status-card-video {
	iframe {
		width: 100%;
		height: 100%;
	}
}

.status-card__title {
	display: block;
	font-weight: 500;
	margin-bottom: 5px;
	color: $darker-text-color;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none;
}

.status-card__content {
	flex: 1 1 auto;
	overflow: hidden;
	padding: 14px 14px 14px 8px;
}

.status-card__description {
	color: $darker-text-color;
}

.status-card__host {
	display: block;
	margin-top: 5px;
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.status-card__image {
	flex: 0 0 100px;
	background: lighten($ui-base-color, 8%);
	position: relative;

	& > .fa {
		font-size: 21px;
		position: absolute;
		transform-origin: 50% 50%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}

.status-card.horizontal {
	display: block;

	.status-card__image {
		width: 100%;
	}

	.status-card__image-image {
		border-radius: 4px 4px 0 0;
	}

	.status-card__title {
		white-space: inherit;
	}
}

.status-card.compact {
	border-color: lighten($ui-base-color, 4%);

	&.interactive {
		border: 0;
	}

	.status-card__content {
		padding: 8px;
		padding-top: 10px;
	}

	.status-card__title {
		white-space: nowrap;
	}

	.status-card__image {
		flex: 0 0 60px;
	}
}

a.status-card.compact:hover {
	background-color: lighten($ui-base-color, 4%);
}

.status-card__image-image {
	border-radius: 4px 0 0 4px;
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-size: cover;
	background-position: center center;
}

.load-more {
	display: block;
	color: $dark-text-color;
	background-color: transparent;
	border: 0;
	font-size: inherit;
	text-align: center;
	line-height: inherit;
	margin: 0;
	padding: 15px;
	box-sizing: border-box;
	width: 100%;
	clear: both;
	text-decoration: none;

	&:hover {
		background: lighten($ui-base-color, 2%);
	}
}

.load-gap {
	border-bottom: 1px solid lighten($ui-base-color, 8%);
}

.regeneration-indicator {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	color: $dark-text-color;
	background: $ui-base-color;
	cursor: default;
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	padding: 20px;

	& > div {
		width: 100%;
		background: transparent;
		padding-top: 0;
	}

	&__label {
		strong {
			display: block;
			margin-bottom: 10px;
			color: $dark-text-color;
		}

		span {
			font-size: 15px;
			font-weight: 400;
		}
	}
}

.column-header__wrapper {
	position: relative;
	flex: 0 0 auto;
	border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  overflow: hidden;

	&.active {
		&::before {
			display: block;
			content: "";
			position: absolute;
			top: 35px;
			left: 0;
			right: 0;
			margin: 0 auto;
			width: 60%;
			pointer-events: none;
			height: 28px;
			z-index: 1;
			background: radial-gradient(ellipse, rgba($ui-highlight-color, 0.23) 0%, rgba($ui-highlight-color, 0) 60%);
		}
	}
}

.column-header {
	display: flex;
	font-size: 16px;

	background: $gab-background-container;
	body.theme-gabsocial-light & {
		background: $gab-background-container-light;
		color: $gab-default-text-light;
	}

	flex: 0 0 auto;
	cursor: pointer;
	position: relative;
	z-index: 2;
	outline: 0;
	overflow: hidden;

	& > button,
	& > .btn {
		margin: 0;
		border: none;
		padding: 15px;
		color: inherit;
		background: transparent;
		font: inherit;
		text-align: left;
		text-overflow: ellipsis;
		text-decoration: none;
		overflow: hidden;
		white-space: nowrap;

		&.grouped {
			margin: 6px;
		}

		&.active {
			color: $primary-text-color;
			border-radius: 10px;
			background-color: rgba($highlight-text-color, .1);
		}
	}

	& > .column-header__back-button {
		color: $highlight-text-color;
	}

	&.active {
		box-shadow: 0 1px 0 rgba($highlight-text-color, 0.3);

		.column-header__icon {
			color: $highlight-text-color;
			text-shadow: 0 0 10px rgba($highlight-text-color, 0.4);
		}
	}

	&:focus,
	&:active {
		outline: 0;
	}
}

.column-header__buttons {
	height: 48px;
	display: flex;
	margin-left: auto;
}

.column-header__links .text-btn {
	margin-right: 10px;
}

.column-header__button {
	cursor: pointer;
	border: 0;
	padding: 0 15px;
	font-size: 16px;
	color: #fff;
	background: $gab-background-container;
	body.theme-gabsocial-light & {
		color: $gab-default-text-light;
		background: $gab-background-container-light;
	}
	&:hover {color: lighten($darker-text-color, 7%);}

	&.active {
		color: $primary-text-color;
		background: lighten($ui-base-color, 8%);

		&:hover {
			color: $primary-text-color;
			background: lighten($ui-base-color, 8%);
		}
	}
}

.column-header__collapsible {
	max-height: 70vh;
	overflow: hidden;
	overflow-y: auto;
	color: $darker-text-color;
	transition: max-height 150ms ease-in-out, opacity 300ms linear;
	opacity: 1;

	&.collapsed {
		max-height: 0;
		opacity: 0.5;
	}

	&.animating {
		overflow-y: hidden;
	}

	hr {
		height: 0;
		background: transparent;
		border: 0;
		border-top: 1px solid lighten($ui-base-color, 12%);
		margin: 10px 0;
	}
}

.column-header__collapsible-inner {
	background: #3f3f3f;
	body.theme-gabsocial-light & {background: #e6e6e6;}
	padding: 15px;
}

.column-header__setting-btn {
	&:hover {
		color: $darker-text-color;
		text-decoration: underline;
	}
}

.column-header__setting-arrows {
	float: right;

	.column-header__setting-btn {
		padding: 0 10px;

		&:last-child {
			padding-right: 0;
		}
	}
}

.text-btn {
	display: inline-block;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.column-header__icon {
	display: inline-block;
	margin-right: 5px;
}

.loading-indicator {
	color: $dark-text-color;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	overflow: visible;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	span {
		display: block;
		float: left;
		margin-left: 50%;
		transform: translateX(-50%);
		margin: 82px 0 0 50%;
		white-space: nowrap;
	}
}

.loading-indicator__figure {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 42px;
	height: 42px;
	box-sizing: border-box;
	background-color: transparent;
	border: 0 solid lighten($ui-base-color, 26%);
	border-width: 6px;
	border-radius: 50%;
}

.no-reduce-motion .loading-indicator span {
	animation: loader-label 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.no-reduce-motion .loading-indicator__figure {
	animation: loader-figure 1.15s infinite cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

@keyframes loader-figure {
	0% {
		width: 0;
		height: 0;
		background-color: lighten($ui-base-color, 26%);
	}

	29% {
		background-color: lighten($ui-base-color, 26%);
	}

	30% {
		width: 42px;
		height: 42px;
		background-color: transparent;
		border-width: 21px;
		opacity: 1;
	}

	100% {
		width: 42px;
		height: 42px;
		border-width: 0;
		opacity: 0;
		background-color: transparent;
	}
}

@keyframes loader-label {
	0% { opacity: 0.25; }
	30% { opacity: 1; }
	100% { opacity: 0.25; }
}

.video-error-cover {
	align-items: center;
	background: $base-overlay-background;
	color: $primary-text-color;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	margin-top: 8px;
	position: relative;
	text-align: center;
	z-index: 100;
}

.media-spoiler {
	background: $base-overlay-background;
	color: $darker-text-color;
	border: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	appearance: none;

	&:hover,
	&:active,
	&:focus {
		padding: 0;
		color: lighten($darker-text-color, 8%);
	}
}

.media-spoiler__warning {
	display: block;
	font-size: 14px;
}

.media-spoiler__trigger {
	display: block;
	font-size: 11px;
	font-weight: 700;
}

.spoiler-button {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 100;

	&--minified {
		display: block;
		left: 4px;
		top: 4px;
		width: auto;
		height: auto;
	}

	&--hidden {
		display: none;
	}

	&__overlay {
		display: block;
		background: transparent;
		width: 100%;
		height: 100%;
		border: 0;

		&__label {
			display: inline-block;
			background: rgba($base-overlay-background, 0.5);
			border-radius: 8px;
			padding: 8px 12px;
			color: $primary-text-color;
			font-weight: 500;
			font-size: 14px;
		}

		&:hover,
		&:focus,
		&:active {
			.spoiler-button__overlay__label {
				background: rgba($base-overlay-background, 0.8);
			}
		}
	}
}

.modal-container--preloader {
	background: lighten($ui-base-color, 8%);
}

.account--panel {
	background: lighten($ui-base-color, 4%);
	border-top: 1px solid lighten($ui-base-color, 8%);
	border-bottom: 1px solid lighten($ui-base-color, 8%);
	display: flex;
	flex-direction: row;
	padding: 10px 0;
}

.account--panel__button,
.detailed-status__button {
	flex: 1 1 auto;
	text-align: center;
}

.column-settings__outer {
	background: lighten($ui-base-color, 8%);
	padding: 15px;
}

.column-settings__section {
	color: $darker-text-color;
	cursor: default;
	display: block;
	font-weight: 500;
	margin-bottom: 10px;
}

.column-settings__hashtags {
	.column-settings__row {
		margin-bottom: 15px;
	}

	.column-select {
		&__control {
			@include search-input();
		}

		&__placeholder {
			color: $dark-text-color;
			padding-left: 2px;
			font-size: 12px;
		}

		&__value-container {
			padding-left: 6px;
		}

		&__multi-value {
			background: lighten($ui-base-color, 8%);

			&__remove {
				cursor: pointer;

				&:hover,
				&:active,
				&:focus {
					background: lighten($ui-base-color, 12%);
					color: lighten($darker-text-color, 4%);
				}
			}
		}

		&__multi-value__label,
		&__input {
			color: $darker-text-color;
		}

		&__clear-indicator,
		&__dropdown-indicator {
			cursor: pointer;
			transition: none;
			color: $dark-text-color;

			&:hover,
			&:active,
			&:focus {
				color: lighten($dark-text-color, 4%);
			}
		}

		&__indicator-separator {
			background-color: lighten($ui-base-color, 8%);
		}

		&__menu {
			@include search-popout();
			padding: 0;
			background: $ui-secondary-color;
		}

		&__menu-list {
			padding: 6px;
		}

		&__option {
			color: $inverted-text-color;
			border-radius: 4px;
			font-size: 14px;

			&--is-focused,
			&--is-selected {
				background: darken($ui-secondary-color, 10%);
			}
		}
	}
}

.column-settings__row {
	.text-btn {
		margin-bottom: 15px;
	}
}

.relationship-tag {
	color: $primary-text-color;
	margin-bottom: 4px;
	display: block;
	vertical-align: top;
	background-color: $base-overlay-background;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 500;
	padding: 4px;
	border-radius: 4px;
	opacity: 0.7;

	&:hover {
		opacity: 1;
	}
}

.setting-toggle {
	display: block;
	line-height: 24px;
}

.setting-toggle__label {
	color: $darker-text-color;
	display: inline-block;
	margin-bottom: 14px;
	margin-left: 8px;
	vertical-align: middle;
}

.empty-column-indicator,
.error-column {
	color: $dark-text-color;
	background: $ui-base-color;
	text-align: center;
	padding: 40px;
	font-size: 15px;
	font-weight: 400;
	cursor: default;
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;

	@supports(display: grid) { // hack to fix Chrome <57
		contain: strict;
	}

	& > span {
		max-width: 400px;
	}

	a {
		color: $highlight-text-color;
		text-decoration: none;

		&:hover {
			text-decoration: underline;
		}
	}
}

.error-column {
	flex-direction: column;
}

@keyframes heartbeat {
	from {
		transform: scale(1);
		animation-timing-function: ease-out;
	}

	10% {
		transform: scale(0.91);
		animation-timing-function: ease-in;
	}

	17% {
		transform: scale(0.98);
		animation-timing-function: ease-out;
	}

	33% {
		transform: scale(0.87);
		animation-timing-function: ease-in;
	}

	45% {
		transform: scale(1);
		animation-timing-function: ease-out;
	}
}

.no-reduce-motion .pulse-loading {
	transform-origin: center center;
	animation: heartbeat 1.5s ease-in-out infinite both;
}

@keyframes shake-bottom {
	0%,
	100% {
		transform: rotate(0deg);
		transform-origin: 50% 100%;
	}

	10% {
		transform: rotate(2deg);
	}

	20%,
	40%,
	60% {
		transform: rotate(-4deg);
	}

	30%,
	50%,
	70% {
		transform: rotate(4deg);
	}

	80% {
		transform: rotate(-2deg);
	}

	90% {
		transform: rotate(2deg);
	}
}

.no-reduce-motion .shake-bottom {
	transform-origin: 50% 100%;
	animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
}

.emoji-picker-dropdown__menu {
	background: $simple-background-color;
	position: absolute;
	box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
	border-radius: 4px;
	margin-top: 5px;
	z-index: 20000;

	.emoji-mart-scroll {
		transition: opacity 200ms ease;
	}

	&.selecting .emoji-mart-scroll {
		opacity: 0.5;
	}
}

.emoji-picker-dropdown__modifiers {
	position: absolute;
	top: 60px;
	right: 11px;
	cursor: pointer;
}

.emoji-picker-dropdown__modifiers__menu {
	position: absolute;
	z-index: 4;
	top: -4px;
	left: -8px;
	background: $simple-background-color;
	border-radius: 4px;
	box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
	overflow: hidden;

	button {
		display: block;
		cursor: pointer;
		border: 0;
		padding: 4px 8px;
		background: transparent;

		&:hover,
		&:focus,
		&:active {
			background: rgba($ui-secondary-color, 0.4);
		}
	}

	.emoji-mart-emoji {
		height: 22px;
	}
}

.emoji-mart-emoji {
	span {
		background-repeat: no-repeat;
	}
}

.upload-area {
	align-items: center;
	background: rgba($base-overlay-background, 0.8);
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	visibility: hidden;
	width: 100%;
	z-index: 2000;

	* {
		pointer-events: none;
	}
}

.upload-area__drop {
	width: 320px;
	height: 160px;
	display: flex;
	box-sizing: border-box;
	position: relative;
	padding: 8px;
}

.upload-area__background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	border-radius: 4px;
	background: $ui-base-color;
	box-shadow: 0 0 5px rgba($base-shadow-color, 0.2);
}

.upload-area__content {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: $secondary-text-color;
	font-size: 18px;
	font-weight: 500;
	border: 2px dashed $ui-base-lighter-color;
	border-radius: 4px;
}

.upload-progress {
	padding: 10px;
	color: $lighter-text-color;
	overflow: hidden;
	display: flex;

	.fa {
		font-size: 34px;
		margin-right: 10px;
	}

	span {
		font-size: 12px;
		text-transform: uppercase;
		font-weight: 500;
		display: block;
	}
}

.upload-progess__message {
	flex: 1 1 auto;
}

.upload-progress__backdrop {
	width: 100%;
	height: 6px;
	border-radius: 6px;
	background: $ui-base-lighter-color;
	position: relative;
	margin-top: 5px;
}

.upload-progress__tracker {
	position: absolute;
	left: 0;
	top: 0;
	height: 6px;
	background: $ui-highlight-color;
	border-radius: 6px;
}

.emoji-button {
	display: block;
	font-size: 24px;
	line-height: 24px;
	margin-left: 2px;
	width: 24px;
	outline: 0;
	cursor: pointer;

	&:active,
	&:focus {
		outline: 0 !important;
	}

	img {
		filter: grayscale(100%);
		opacity: 0.8;
		display: block;
		margin: 0;
		width: 22px;
		height: 22px;
		margin-top: 2px;
	}

	&:hover,
	&:active,
	&:focus {
		img {
			opacity: 1;
			filter: none;
		}
	}
}

.dropdown--active .emoji-button img {
	opacity: 1;
	filter: none;
}

.privacy-dropdown__dropdown {
	position: absolute;
	background: $simple-background-color;
	box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
	border-radius: 4px;
	margin-left: 40px;
	overflow: hidden;
	z-index: 10000;

	&.top {
		transform-origin: 50% 100%;
	}

	&.bottom {
		transform-origin: 50% 0;
	}
}

.privacy-dropdown__option {
	color: $inverted-text-color;
	padding: 10px;
	cursor: pointer;
	display: flex;

	&:hover,
	&.active {
		background: $ui-highlight-color;
		color: $primary-text-color;
		outline: 0;

		.privacy-dropdown__option__content {
			color: $primary-text-color;

			strong {
				color: $primary-text-color;
			}
		}
	}

	&.active:hover {
		background: lighten($ui-highlight-color, 4%);
	}
}

.privacy-dropdown__option__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}

.privacy-dropdown__option__content {
	flex: 1 1 auto;
	color: $lighter-text-color;

	strong {
		font-weight: 500;
		display: block;
		color: $inverted-text-color;

		@each $lang in $cjk-langs {
			&:lang(#{$lang}) {
				font-weight: 700;
			}
		}
	}
}

.privacy-dropdown.active {
	.privacy-dropdown__value {
		background: $simple-background-color;
		border-radius: 4px 4px 0 0;
		box-shadow: 0 -4px 4px rgba($base-shadow-color, 0.1);

		.icon-button {
			transition: none;
		}

		&.active {
			background: $ui-highlight-color;

			.icon-button {
				color: $primary-text-color;
			}
		}
	}

	&.top .privacy-dropdown__value {
		border-radius: 0 0 4px 4px;
	}

	.privacy-dropdown__dropdown {
		display: block;
		box-shadow: 2px 4px 6px rgba($base-shadow-color, 0.1);
	}
}

.search {
	position: relative;
}

.search__input {
	display: block;
	padding: 7px 30px 6px 10px;
	@include search-input();
}

.search__icon {
	&::-moz-focus-inner {
		border: 0;
	}

	&::-moz-focus-inner,
	&:focus {
		outline: 0 !important;
	}

	.fa {
		cursor: default;
		display: inline-block;
		position: absolute;
		top: 8px;
		right: 6px;
		z-index: 2;
		width: 18px;
		height: 18px;
		@include font-size(16);
		color: $gab-placeholder-accent;
		opacity: 0;
		pointer-events: none;

		&.active {
			pointer-events: auto;
			opacity: 1;
		}
	}
	.fa-search.active {pointer-events: none;}

	.fa-times-circle {
		cursor: pointer;
		@include font-size(17);
		color: $gab-alert-red;
		&:hover {color: lighten($gab-alert-red, 7%);}
	}
}

.search-results__header {
	color: $dark-text-color;
	background: lighten($ui-base-color, 2%);
	padding: 15px;
	font-weight: 500;
	font-size: 16px;
	cursor: default;

	.fa {
		display: inline-block;
		margin-right: 5px;
	}
}

.search-results__section {
	margin-bottom: 5px;

	h5 {
		background: darken($ui-base-color, 4%);
		border-bottom: 1px solid lighten($ui-base-color, 8%);
		cursor: default;
		display: flex;
		padding: 15px;
		font-weight: 500;
		font-size: 16px;
		color: $dark-text-color;

		.fa {
			display: inline-block;
			margin-right: 5px;
		}
	}

	.account:last-child,
	& > div:last-child .status {
		border-bottom: 0;
	}
}

.search-results__hashtag {
	display: block;
	padding: 10px;
	color: $secondary-text-color;
	text-decoration: none;

	&:hover,
	&:active,
	&:focus {
		color: lighten($secondary-text-color, 4%);
		text-decoration: underline;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////////////////


.loading-bar {
	background-color: $highlight-text-color;
	height: 3px;
	position: absolute;
	top: 0;
	left: 0;
}

.media-gallery__gifv__label {
	display: block;
	position: absolute;
	color: $primary-text-color;
	background: rgba($base-overlay-background, 0.5);
	bottom: 6px;
	left: 6px;
	padding: 2px 6px;
	border-radius: 2px;
	font-size: 11px;
	font-weight: 600;
	z-index: 1;
	pointer-events: none;
	opacity: 0.9;
	transition: opacity 0.1s ease;
	line-height: 18px;
}

.media-gallery__gifv {
	&.autoplay {
		.media-gallery__gifv__label {
			display: none;
		}
	}

	&:hover {
		.media-gallery__gifv__label {
			opacity: 1;
		}
	}
}

.attachment-list {
	display: flex;
	font-size: 14px;
	border: 1px solid lighten($ui-base-color, 8%);
	border-radius: 4px;
	margin-top: 14px;
	overflow: hidden;

	&__icon {
		flex: 0 0 auto;
		color: $dark-text-color;
		padding: 8px 18px;
		cursor: default;
		border-right: 1px solid lighten($ui-base-color, 8%);
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size: 26px;

		.fa {
			display: block;
		}
	}

	&__list {
		list-style: none;
		padding: 4px 0;
		padding-left: 8px;
		display: flex;
		flex-direction: column;
		justify-content: center;

		li {
			display: block;
			padding: 4px 0;
		}

		a {
			text-decoration: none;
			color: $dark-text-color;
			font-weight: 500;

			&:hover {
				text-decoration: underline;
			}
		}
	}

	&.compact {
		border: 0;
		margin-top: 4px;

		.attachment-list__list {
			padding: 0;
			display: block;
		}

		.fa {
			color: $dark-text-color;
		}
	}
}

/* Media Gallery */
.media-gallery {
	box-sizing: border-box;
	margin-top: 8px;
	overflow: hidden;
	border-radius: 4px;
	position: relative;
	width: 100%;
}

.media-gallery__item {
	border: none;
	box-sizing: border-box;
	display: block;
	float: left;
	position: relative;
	border-radius: 4px;
	overflow: hidden;

	&.standalone {
		.media-gallery__item-gifv-thumbnail {
			transform: none;
			top: 0;
		}
	}
}

.media-gallery__item-thumbnail {
	cursor: zoom-in;
	display: block;
	text-decoration: none;
	color: $secondary-text-color;
	line-height: 0;
	position: relative;
	z-index: 1;

	&,
	img {
		height: 100%;
		width: 100%;
	}

	img {
		object-fit: cover;
	}
}

.media-gallery__preview {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background: $base-overlay-background;

	&--hidden {
		display: none;
	}
}

.media-gallery__gifv {
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.media-gallery__item-gifv-thumbnail {
	cursor: zoom-in;
	height: 100%;
	object-fit: cover;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: 1;
}

.media-gallery__item-thumbnail-label {
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	position: absolute;
}
/* End Media Gallery */

/* Status Video Player */
.status__video-player {
	background: $base-overlay-background;
	box-sizing: border-box;
	cursor: default; /* May not be needed */
	margin-top: 8px;
	overflow: hidden;
	position: relative;
}

.status__video-player-video {
	height: 100%;
	object-fit: cover;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: 1;
}

.status__video-player-expand,
.status__video-player-mute {
	color: $primary-text-color;
	opacity: 0.8;
	position: absolute;
	right: 4px;
	text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
}

.status__video-player-spoiler {
	display: none;
	color: $primary-text-color;
	left: 4px;
	position: absolute;
	text-shadow: 0 1px 1px $base-shadow-color, 1px 0 1px $base-shadow-color;
	top: 4px;
	z-index: 100;

	&.status__video-player-spoiler--visible {
		display: block;
	}
}

.status__video-player-expand {
	bottom: 4px;
	z-index: 100;
}

.status__video-player-mute {
	top: 4px;
	z-index: 5;
}

.detailed,
.fullscreen {
	.video-player__volume__current,
	.video-player__volume::before {
		bottom: 27px;
	}

	.video-player__volume__handle {
		bottom: 23px;
	}

}

.video-player {
	overflow: hidden;
	position: relative;
	background: $base-shadow-color;
	max-width: 100%;
	border-radius: 4px;

	&:focus {
		outline: 0;
	}

	video {
		max-width: 100vw;
		max-height: 80vh;
		z-index: 1;
	}

	&.fullscreen {
		width: 100% !important;
		height: 100% !important;
		margin: 0;

		video {
			max-width: 100% !important;
			max-height: 100% !important;
			width: 100% !important;
			height: 100% !important;
		}
	}

	&.inline {
		video {
			object-fit: contain;
			position: relative;
			top: 50%;
			transform: translateY(-50%);
		}
	}

	&__controls {
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		right: 0;
		box-sizing: border-box;
		background: linear-gradient(0deg, rgba($base-shadow-color, 0.85) 0, rgba($base-shadow-color, 0.45) 60%, transparent);
		padding: 0 15px;
		opacity: 0;
		transition: opacity .1s ease;

		&.active {
			opacity: 1;
		}
	}

	&.inactive {
		video,
		.video-player__controls {
			visibility: hidden;
		}
	}

	&__spoiler {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 4;
		border: 0;
		background: $base-overlay-background;
		color: $darker-text-color;
		transition: none;
		pointer-events: none;

		&.active {
			display: block;
			pointer-events: auto;

			&:hover,
			&:active,
			&:focus {
				color: lighten($darker-text-color, 7%);
			}
		}

		&__title {
			display: block;
			font-size: 14px;
		}

		&__subtitle {
			display: block;
			font-size: 11px;
			font-weight: 500;
		}
	}

	&__buttons-bar {
		display: flex;
		justify-content: space-between;
		padding-bottom: 10px;
	}

	&__buttons {
		font-size: 16px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;

		&.left {
			button {
				padding-left: 0;
			}
		}

		&.right {
			button {
				padding-right: 0;
			}
		}

		button {
			background: transparent;
			padding: 2px 10px;
			font-size: 16px;
			border: 0;
			color: rgba($white, 0.75);

			&:active,
			&:hover,
			&:focus {
				color: $white;
			}
		}
	}

	&__time-sep,
	&__time-total,
	&__time-current {
		font-size: 14px;
		font-weight: 500;
	}

	&__time-current {
		color: $white;
		margin-left: 60px;
	}

	&__time-sep {
		display: inline-block;
		margin: 0 6px;
	}

	&__time-sep,
	&__time-total {
		color: $white;
	}

	&__volume {
		cursor: pointer;
		height: 24px;
		display: inline;

		&::before {
			content: "";
			width: 50px;
			background: rgba($white, 0.35);
			border-radius: 4px;
			display: block;
			position: absolute;
			height: 4px;
			left: 70px;
			bottom: 20px;
		}

		&__current {
			display: block;
			position: absolute;
			height: 4px;
			border-radius: 4px;
			left: 70px;
			bottom: 20px;
			background: lighten($ui-highlight-color, 8%);
		}

		&__handle {
			position: absolute;
			z-index: 3;
			border-radius: 50%;
			width: 12px;
			height: 12px;
			bottom: 16px;
			left: 70px;
			transition: opacity .1s ease;
			background: lighten($ui-highlight-color, 8%);
			box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
			pointer-events: none;
		}
	}

	&__link {
		padding: 2px 10px;

		a {
			text-decoration: none;
			font-size: 14px;
			font-weight: 500;
			color: $white;

			&:hover,
			&:active,
			&:focus {
				text-decoration: underline;
			}
		}
	}

	&__seek {
		cursor: pointer;
		height: 24px;
		position: relative;

		&::before {
			content: "";
			width: 100%;
			background: rgba($white, 0.35);
			border-radius: 4px;
			display: block;
			position: absolute;
			height: 4px;
			top: 10px;
		}

		&__progress,
		&__buffer {
			display: block;
			position: absolute;
			height: 4px;
			border-radius: 4px;
			top: 10px;
			background: lighten($ui-highlight-color, 8%);
		}

		&__buffer {
			background: rgba($white, 0.2);
		}

		&__handle {
			position: absolute;
			z-index: 3;
			opacity: 0;
			border-radius: 50%;
			width: 12px;
			height: 12px;
			top: 6px;
			margin-left: -6px;
			transition: opacity .1s ease;
			background: lighten($ui-highlight-color, 8%);
			box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
			pointer-events: none;

			&.active {
				opacity: 1;
			}
		}

		&:hover {
			.video-player__seek__handle {
				opacity: 1;
			}
		}
	}

	&.detailed,
	&.fullscreen {
		.video-player__buttons {
			button {
				padding-top: 10px;
				padding-bottom: 10px;
			}
		}
	}
}

.media-spoiler-video {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	cursor: pointer;
	margin-top: 8px;
	position: relative;
	border: 0;
	display: block;
}

.media-spoiler-video-play-icon {
	border-radius: 100px;
	color: rgba($primary-text-color, 0.8);
	font-size: 36px;
	left: 50%;
	padding: 5px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}
/* End Video Player */

.account-gallery__container {
	display: flex;
	flex-wrap: wrap;
	padding: 4px 2px;
}

.account-gallery__item {
	border: none;
	box-sizing: border-box;
	display: block;
	position: relative;
	border-radius: 4px;
	overflow: hidden;
	margin: 2px;

	&__icons {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 24px;
	}
}

.notification__filter-bar,
.account__section-headline {
	background: darken($ui-base-color, 4%);
	border-bottom: 1px solid lighten($ui-base-color, 8%);
	cursor: default;
	display: flex;
	flex-shrink: 0;

	button {
		background: darken($ui-base-color, 4%);
		border: 0;
		margin: 0;
	}

	button,
	a {
		display: block;
		flex: 1 1 auto;
		color: $secondary-text-color;
		padding: 15px 0;
		font-size: 14px;
		font-weight: 500;
		text-align: center;
		text-decoration: none;
		position: relative;

		&.active {
			color: $primary-text-color;

			&::before,
			&::after {
				display: block;
				content: "";
				position: absolute;
				bottom: 0;
				left: 50%;
				width: 0;
				height: 0;
				transform: translateX(-50%);
				border-style: solid;
				border-width: 0 10px 10px;
				border-color: transparent transparent lighten($ui-base-color, 8%);
			}

			&::after {
				bottom: -1px;
				border-color: transparent transparent $ui-base-color;
			}
		}
	}
}

.account__section-headline {
	button,
	a {
		flex: none;
		padding: 18px 15px;
		font-size: 16px;
		font-weight: 600;
	}
}

::-webkit-scrollbar-thumb {
	border-radius: 0;
}

.search-popout-container{
	width: 251px;
	@media screen and (max-width: $nav-breakpoint-2) {width: 100%;}
}

.search-popout {
	@include search-popout();
}

noscript {
	text-align: center;

	img {
		width: 200px;
		opacity: 0.5;
		animation: flicker 4s infinite;
	}

	div {
		font-size: 14px;
		margin: 30px auto;
		color: $secondary-text-color;
		max-width: 400px;

		a {
			color: $highlight-text-color;
			text-decoration: underline;

			&:hover {
				text-decoration: none;
			}
		}
	}
}

@keyframes flicker {
	0% { opacity: 1; }
	30% { opacity: 0.75; }
	100% { opacity: 1; }
}

@media screen and (max-width: 630px) and (max-height: 400px) {
	$duration: 400ms;
	$delay: 100ms;

	.tabs-bar,
	.search {
		will-change: margin-top;
		transition: margin-top $duration $delay;
	}

	.navigation-bar {
		will-change: padding-bottom;
		transition: padding-bottom $duration $delay;
	}

	.navigation-bar {
		& > a:first-child {
			will-change: margin-top, margin-left, margin-right, width;
			transition: margin-top $duration $delay, margin-left $duration ($duration + $delay), margin-right $duration ($duration + $delay);
		}

		& > .navigation-bar__profile-edit {
			will-change: margin-top;
			transition: margin-top $duration $delay;
		}

		.navigation-bar__actions {
			& > .icon-button.close {
				will-change: opacity transform;
				transition: opacity $duration * 0.5 $delay,
										transform $duration $delay;
			}

			& > .compose__action-bar .icon-button {
				will-change: opacity transform;
				transition: opacity $duration * 0.5 $delay + $duration * 0.5,
										transform $duration $delay;
			}
		}
	}

	.is-composing {
		.tabs-bar,
		.search {
			margin-top: -50px;
		}

		.navigation-bar {
			padding-bottom: 0;

			& > a:first-child {
				margin: -100px 10px 0 -50px;
			}

			.navigation-bar__profile {
				padding-top: 2px;
			}

			.navigation-bar__profile-edit {
				position: absolute;
				margin-top: -60px;
			}

			.navigation-bar__actions {
				.icon-button.close {
					pointer-events: auto;
					opacity: 1;
					transform: scale(1.0, 1.0) translate(0, 0);
					bottom: 5px;
				}

				.compose__action-bar .icon-button {
					pointer-events: none;
					opacity: 0;
					transform: scale(0.0, 1.0) translate(100%, 0);
				}
			}
		}
	}
}

.embed-modal {
	max-width: 80vw;
	max-height: 80vh;

	h4 {
		padding: 30px;
		font-weight: 500;
		font-size: 16px;
		text-align: center;
	}

	.embed-modal__container {
		padding: 10px;

		.hint {
			margin-bottom: 15px;
		}

		.embed-modal__html {
			outline: 0;
			box-sizing: border-box;
			display: block;
			width: 100%;
			border: none;
			padding: 10px;
			font-family: $font-monospace, monospace;
			background: $ui-base-color;
			color: $primary-text-color;
			font-size: 14px;
			margin: 0;
			margin-bottom: 15px;

			&::-moz-focus-inner {
				border: 0;
			}

			&::-moz-focus-inner,
			&:focus,
			&:active {
				outline: 0 !important;
			}

			&:focus {
				background: lighten($ui-base-color, 4%);
			}

			@media screen and (max-width: 600px) {
				font-size: 16px;
			}
		}

		.embed-modal__iframe {
			width: 400px;
			max-width: 100%;
			overflow: hidden;
			border: 0;
		}
	}
}

.account__moved-note {
	padding: 14px 10px;
	padding-bottom: 16px;
	background: lighten($ui-base-color, 4%);
	border-top: 1px solid lighten($ui-base-color, 8%);
	border-bottom: 1px solid lighten($ui-base-color, 8%);

	&__message {
		position: relative;
		margin-left: 58px;
		color: $dark-text-color;
		padding: 8px 0;
		padding-top: 0;
		padding-bottom: 4px;
		font-size: 14px;

		> span {
			display: block;
			overflow: hidden;
			text-overflow: ellipsis;
		}
	}

	&__icon-wrapper {
		left: -26px;
		position: absolute;
	}

	.detailed-status__display-avatar {
		position: relative;
	}

	.detailed-status__display-name {
		margin-bottom: 0;
	}
}

.column-inline-form {
	padding: 7px 15px;
	padding-right: 5px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background: lighten($ui-base-color, 4%);

	label {
		flex: 1 1 auto;

		input {
			width: 100%;
			margin-bottom: 6px;

			&:focus {
				outline: 0;
			}
		}
	}

	.icon-button {
		flex: 0 0 auto;
		margin: 0 5px;
	}
}

.drawer__backdrop {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba($base-overlay-background, 0.5);
}

.list-editor {
	background: $ui-base-color;
	flex-direction: column;
	border-radius: 8px;
	box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
	width: 380px;
	overflow: hidden;

	@media screen and (max-width: 420px) {
		width: 90%;
	}

	h4 {
		padding: 15px 0;
		background: lighten($ui-base-color, 13%);
		font-weight: 500;
		font-size: 16px;
		text-align: center;
		border-radius: 8px 8px 0 0;
	}

	.drawer__pager {
		height: 50vh;
	}

	.drawer__inner {
		border-radius: 0 0 8px 8px;

		&.backdrop {
			width: calc(100% - 60px);
			box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
			border-radius: 0 0 0 8px;
		}
	}

	&__accounts {
		overflow-y: auto;
	}

	.account__display-name {
		&:hover strong {
			text-decoration: none;
		}
	}

	.account__avatar {
		cursor: default;
	}

	.search {
		margin-bottom: 0;
	}
}

.list-adder {
	background: $ui-base-color;
	flex-direction: column;
	border-radius: 8px;
	box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
	width: 380px;
	overflow: hidden;

	@media screen and (max-width: 420px) {
		width: 90%;
	}

	&__account {
		background: lighten($ui-base-color, 13%);
	}

	&__lists {
		background: lighten($ui-base-color, 13%);
		height: 50vh;
		border-radius: 0 0 8px 8px;
		overflow-y: auto;
	}

	.list {
		padding: 10px;
		border-bottom: 1px solid lighten($ui-base-color, 8%);
	}

	.list__wrapper {
		display: flex;
	}

	.list__display-name {
		flex: 1 1 auto;
		overflow: hidden;
		text-decoration: none;
		font-size: 16px;
		padding: 10px;
	}
}

.focal-point-modal {
	max-width: 80vw;
	max-height: 80vh;
	position: relative;
}

.focal-point {
	position: relative;
	cursor: pointer;
	overflow: hidden;

	&.dragging {
		cursor: move;
	}

	img {
		max-width: 80vw;
		max-height: 80vh;
		width: auto;
		height: auto;
		margin: auto;
	}

	&__reticle {
		position: absolute;
		width: 100px;
		height: 100px;
		transform: translate(-50%, -50%);
		background: url('../images/reticle.png') no-repeat 0 0;
		border-radius: 50%;
		box-shadow: 0 0 0 9999em rgba($base-shadow-color, 0.35);
	}

	&__overlay {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
}

.account__header__content {
	color: $darker-text-color;
	font-size: 14px;
	font-weight: 400;
	overflow: hidden;
	word-break: normal;
	word-wrap: break-word;

	p {
		margin-bottom: 20px;

		&:last-child {
			margin-bottom: 0;
		}
	}

	a {
		color: inherit;
		text-decoration: underline;

		&:hover {
			text-decoration: none;
		}
	}
}

.trends {
	&__header {
		color: $dark-text-color;
		background: lighten($ui-base-color, 2%);
		border-bottom: 1px solid darken($ui-base-color, 4%);
		font-weight: 500;
		padding: 15px;
		font-size: 16px;
		cursor: default;

		.fa {
			display: inline-block;
			margin-right: 5px;
		}
	}

	&__item {
		display: flex;
		align-items: center;
		padding: 15px;
		border-bottom: 1px solid lighten($ui-base-color, 8%);

		&:last-child {
			border-bottom: 0;
		}

		&__name {
			flex: 1 1 auto;
			color: $dark-text-color;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;

			strong {
				font-weight: 500;
			}

			a {
				color: $darker-text-color;
				text-decoration: none;
				font-size: 14px;
				font-weight: 500;
				display: block;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;

				&:hover,
				&:focus,
				&:active {
					span {
						text-decoration: underline;
					}
				}
			}
		}

		&__current {
			flex: 0 0 auto;
			width: 100px;
			font-size: 24px;
			line-height: 36px;
			font-weight: 500;
			text-align: center;
			color: $secondary-text-color;
		}

		&__sparkline {
			flex: 0 0 auto;
			width: 50px;

			path {
				stroke: lighten($highlight-text-color, 6%) !important;
			}
		}
	}
}

.layout-toggle {
	display: flex;
	padding: 5px;

	button {
		box-sizing: border-box;
		flex: 0 0 50%;
		background: transparent;
		padding: 5px;
		border: 0;
		position: relative;

		&:hover,
		&:focus,
		&:active {
			svg path:first-child {
				fill: lighten($ui-base-color, 16%);
			}
		}
	}

	svg {
		width: 100%;
		height: auto;

		path:first-child {
			fill: lighten($ui-base-color, 12%);
		}

		path:last-child {
			fill: darken($ui-base-color, 14%);
		}
	}

	&__active {
		color: $ui-highlight-color;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background: lighten($ui-base-color, 12%);
		border-radius: 50%;
		padding: 0.35rem;
	}
}

.wtf-panel {
  display: flex;
  width: 100%;
  border-radius: 10px;
  flex-direction: column;
  height: auto;
  box-sizing: border-box;

	background: $gab-background-container;
	body.theme-gabsocial-light & {
		@include light-theme-shadow();
		background: $gab-background-container-light;
	}

	&:not(:last-of-type) {
		margin-bottom: 10px;
	}

  .wtf-panel-header {
	display: flex;
	align-items: baseline;
	margin-bottom: 10px;
	padding: 15px 15px 0 15px;

	&__icon {
	  margin-right: 10px;
	}

	&__label {
	  flex: 1 1;
	  color: $primary-text-color;
	  font-size: 16px;
	  font-weight: bold;
	  line-height: 19px;
	}
  }

  &__content {
	width: 100%;
	padding-top: 8px;
  }

  &__list {
	padding: 0 5px;
  }

	&__subtitle {
		display: block;
		padding: 0 15px;
		color: $secondary-text-color;
	}

	&__form {
		display: block;
		padding: 15px;

		&.button {
			width: 100%;
		}
	}

  .wtf-panel-list-item {
	display: block;
	padding-bottom: 10px;

	&:not(:first-of-type) {
	  margin-top: 12px;
	}

	&:not(:last-of-type) {
	  border-bottom: 1px solid lighten($ui-base-color, 8%);
	}

	&__content {
	  display: flex;
	  flex-direction: row;
	  min-height: 46px;
	  margin-left: 58px;
	}

	&__account-block {
	  display: flex;
	  position: relative;
	  align-items: baseline;
	  padding-right: 10px;

	  &__avatar {
		height: 46px;
		width: 46px;
		background-color: red;
		left: -58px;
		position: absolute;
	  }

	  &__name {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		margin-top: 6px;

		&__name {
		  color: $primary-text-color;
		  font-size: 14px;
		  font-weight: bold;
		  line-height: 16px;
		  margin-bottom: 2px;
		  max-height: 32px; //2 lines of text
		  overflow: hidden;
		}

		&__username {
		  color: $lighter-text-color;
		  font-size: 12px;
		  line-height: 14px;
		}
	  }
	}

	&__follow-block {
	  margin-left: auto;
	  padding-top: 6px;

	  &__button {
		display: flex;
	  }

	  &__icon {
		color: $primary-text-color;
	  }
	}
  }
}

.verified-icon {
	display: inline-block;
	margin: 0 4px 0 1px;
	vertical-align: top;
	position: relative;
	width: 15px;
	height: 15px;

	&:before {
		display: block;
		content: "";
		position: absolute;
		background-color: #00A3ED;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		border-radius: 50%;
	}

	&:after {
		display: block;
		position: absolute;
		content: '\f00c';
		font: normal normal normal 14px/1 FontAwesome;
		font-size: inherit;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		color: #fff;
		font-size: 0.6em;
		line-height: 15px;
		width: 15px;
		height: 15px;
		text-align: center;
	}
}

.compose-modal {
	padding: 8px 0 0;
	overflow: hidden;
	background-color: $classic-base-color;
	border-radius: 6px;
	flex-direction: column;
	width: 600px;

	&__header {
		display: block;
		position: relative;
		border-bottom: 1px solid lighten($classic-base-color, 8%);
		border-radius: 6px 6px 0 0;
		padding-top: 12px;
		padding-bottom: 12px;

		&__title {
			display: block;
			width: 80%;
			margin: 0 auto;
			font-size: 18px;
			font-weight: bold;
			line-height: 24px;
			color: $gab-background-base-light;
			text-align: center;
		}
	}

	&__close {
	position: absolute;
	right: 10px;
	top: 10px;
	}

	&__content {
		display: flex;
		flex-direction: row;
		padding: 10px;

		.timeline-compose-block {
			background: transparent !important;
			width: 100%;
			padding: 10px 5px;
			margin-bottom: 0;
		}
	}

	@media screen and (max-width:895px) {
		height: 100vh;
		width: 100vw;
	}
}

.account-timeline {
	&__header {
		display: block;
		width: 100%;
	}
}

.profile-info-panel {
	display: flex;
	position: relative;

	&__content {
		display: flex;
		flex-direction: column;
		flex: 1 1;

		@media (min-width:895px) {
			padding-top: 60px;
		}
	}

	.profile-info-panel-content {
		display: flex;

		&__name {
			display: block;

			.account-role {
				vertical-align: top;
			}

			.emojione {
				width: 22px;
				height: 22px;
			}

			h1 {
				span:first-of-type {
					font-size: 20px !important;
					line-height: 1.25;
					color: #ffffff;
					body.theme-gabsocial-light & {color: $gab-default-text-light;}
					font-weight: 600 !important;
					overflow: hidden;
					white-space: nowrap;
					text-overflow: ellipsis;
				}

				small {
					display: block;
					font-size: 16px;
					line-height: 1.5;
					color: $secondary-text-color;
					font-weight: 400;
					overflow: hidden;
					text-overflow: ellipsis;
				}
			}
		}

		&__bio {
			display: block;
			flex: 1 1;
			color: $primary-text-color;
			margin: 15px 0;
			font-size: 15px;
			line-height: 1.25;

			a {
				color: lighten($ui-highlight-color, 8%);
			}
		}

		&__fields {
			display: flex;
			flex-direction: column;
			border-top: 1px solid lighten($ui-base-color, 12%);
			padding: 10px 0;
			margin: 5px 0;

			@media screen and (max-width:895px) {
				border-bottom: 1px solid lighten($ui-base-color, 12%);
			}

			a {
				color: lighten($ui-highlight-color, 8%);
			}

			dl:first-child .verified {
				border-radius: 0 4px 0 0;
			}

			.verified a {
				color: $valid-value-color;
			}

			&__item {
				display: flex;
				padding: 2px 0;
				margin: 2px 0;
				flex: 1 1;

				* {
					font-size: 15px;
					line-height: 24px;
				}

				dt {
					min-width: 26px;
				}

				dd {
					padding-left: 4px;
				}
			}
		}
	}
}

.unauthorized-modal {
	width: 440px !important;

	&__content {
		display: flex;
    width: 100%;
    height: 150px;
    justify-content: center;
    align-items: center;
		flex-direction: column;
	}

	.unauthorized-modal-content {
		&__text {
			display: block;
	    margin-bottom: 18px;
	    color: #fff;
	    font-size: 14px;
		}

		&__button {
    	width: 200px;
		}
	}

	&__footer {
		display: flex;
		border-top: 1px solid #666;
		padding: 10px;
		justify-content: center;
		align-items: center;

		> span {
			font-size: 14px;
			color: $secondary-text-color;

			a {
				color: $gab-brand-default !important;
			}
		}
	}

	@media screen and (max-width:895px) {
		height: 270px !important;
    width: 330px !important;
	}
}

.error-boundary {
	> div {
		margin: auto;

		span {
			display: block;
			text-align: center;
			color: $secondary-text-color;
		}

		a {
			display: block;
			margin: 15px auto;
			text-align: center;
			color: $gab-brand-default;
		}
	}
}

.search-header {
	display: block;
	width: 100%;

	&__text-container {
		display: none;
		padding: 25px 0;
		background-color: lighten($ui-base-color, 6%);

		@media (min-width:895px) {
			display: block;
		}
	}

	&__title-text {
		color: $primary-text-color;
		font-size: 27px;
		font-weight: bold;
		line-height: 32px;
		overflow: hidden;
		padding-left: 20px;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 1200px;
		margin: 0 auto;
	}

	&__type-filters-tabs {
		display: flex;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;

		@media screen and (max-width:895px) {
			max-width: 580px;
		}
	}

	@media (min-width:895px) and (max-width:1190px) {
		&__title-text,
		&__type-filters-tabs {
			max-width: 900px;
		}
	}
}

.timeline-queue-header {
	display: block;
	width: 100%;
	height: 52px;
	position: relative;
	background-color: darken($ui-base-color, 8%);
	border-bottom: 1px solid;
	border-top: 1px solid;
	border-color: darken($ui-base-color, 4%);

	&__btn {
		display: block;
		width: 100%;
		height: 100%;
		text-align: center;
		line-height: 52px;
		font-size: 14px;
		cursor: pointer;
		color: $secondary-text-color;
	}
}