.input-group {
	width: 100%;
}

.input-group :not(:last-child) {
	border-right-width: 0px;
}

.input-group .form-control.picker__input:nth-last-of-type(2) {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	border-right-width: 1px;
}

.form-control.picker__input[readonly] {
	cursor: pointer;
	background-color: #fff;
	opacity: inherit;
}

.form-control.picker__input[disabled] {
	cursor: not-allowed;
	background-color: #eee;
	opacity: 1;
}

/* ===== loading ===== */
.glyphicon-refresh.loading {
	margin: 0 0 0 0.5em;
	-webkit-animation: spin 1.6s infinite linear;
	animation: spin 1.6s infinite linear;
}
@-webkit-keyframes spin {
	from { transform: scale(1) rotate(0deg);}
	to { transform: scale(1) rotate(360deg);}
}
@keyframes spin {
	from { transform: scale(1) rotate(0deg);}
	to { transform: scale(1) rotate(360deg);}
}

/* ===== picker ===== */
div.controls {
	position: relative;
}
@media (max-width: 768px) {

	div.datepickercontainer .picker {
		position: relative;
		width: 100%;
		max-width: 600px;
	}
	div.datepickercontainer .picker__holder {
		position: relative;
		box-shadow: none;
		border-top: 0px none;
	}
	/*
	div.datecontainer .picker__day {
		text-align: center;
	}
	div.datecontainer .picker__button--today,
	div.datecontainer .picker__button--clear {
		color: #007AFF;
		background: #f0f0f0;
		border: 1px solid #ffffff;
	}
	div.datecontainer .picker__day--today:before {
		border-top: 0.5em solid #007AFF;
	}
	div.datecontainer .picker__button--today:before {
		border-top: 0.66em solid #007AFF;
	}
	div.datecontainer .picker__day--highlighted:hover,
	div.datecontainer .picker--focused .picker__day--highlighted {
		background: #f0f0f0;
		color: #007AFF;
		border: 1px solid #f0f0f0;
	}
	div.datecontainer .picker__button--clear:before {
		color: #007AFF;
	}
	div.datecontainer .picker__day--infocus:hover,
	div.datecontainer .picker__day--outfocus:hover {
		background: #f0f0f0;
		color: #007AFF;
	}
	div.datecontainer .picker__nav--prev:hover,
	div.datecontainer .picker__nav--next:hover {
		background: #f0f0f0;
	}

	div.datecontainer .picker__footer {
		display: none;
	}
	*/

}

/* ===== file upload ===== */
div.styled_file {
	display: inline-block;
	position: relative;
	width: 150px;
	height: 34px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	vertical-align: middle;
}
div.styled_file.disabled {
	background: rgb(238, 238, 238);
	cursor: not-allowed;
}
div.styled_file input {
	display: block;
	position: absolute;
	z-index: 3;
	width: auto;
	height: 34px;
	right: 0;
	top: 0;
	font-size: 34px;
	line-height: 34px;
	opacity: 0;
	cursor: pointer;
}
div.styled_file.disabled input {
	display: none;
}
div.styled_file input[disabled], div.styled_file input[readonly] {
	opacity: 0;
}
div.styled_file div.styled_file_label {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	line-height: 34px;
}
div.styled_file.disabled div.styled_file_label {
	cursor: not-allowed;
}
div.styled_file div.styled_file_progress {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 0%;
	height: 100%;
	line-height: 34px;
	border: 1px solid #ffffff;
	background-color: #c0c0c0;
	background-image:
		-webkit-gradient(linear, 0 0, 100% 100%,
		color-stop(.25, rgba(255, 255, 255, .2)),
		color-stop(.25, transparent), color-stop(.5, transparent),
		color-stop(.5, rgba(255, 255, 255, .2)),
		color-stop(.75, rgba(255, 255, 255, .2)),
		color-stop(.75, transparent), to(transparent)
		);
	background-image:
		-webkit-linear-gradient(
		-45deg,
		rgba(255, 255, 255, .2) 25%,
		transparent 25%,
		transparent 50%,
		rgba(255, 255, 255, .2) 50%,
		rgba(255, 255, 255, .2) 75%,
		transparent 75%,
		transparent
		);
	background-image:
		-moz-linear-gradient(
		-45deg,
		rgba(255, 255, 255, .2) 25%,
		transparent 25%,
		transparent 50%,
		rgba(255, 255, 255, .2) 50%,
		rgba(255, 255, 255, .2) 75%,
		transparent 75%,
		transparent
		);
	background-image:
		-ms-linear-gradient(
		-45deg,
		rgba(255, 255, 255, .2) 25%,
		transparent 25%,
		transparent 50%,
		rgba(255, 255, 255, .2) 50%,
		rgba(255, 255, 255, .2) 75%,
		transparent 75%,
		transparent
		);
	background-image:
		-o-linear-gradient(
		-45deg,
		rgba(255, 255, 255, .2) 25%,
		transparent 25%,
		transparent 50%,
		rgba(255, 255, 255, .2) 50%,
		rgba(255, 255, 255, .2) 75%,
		transparent 75%,
		transparent
		);
	z-index: 1;
	-webkit-background-size: 40px 40px;
	-moz-background-size:    40px 40px;
	background-size:         40px 40px;
	-webkit-animation: progress-stripes 2s linear infinite;
	-o-animation: progress-stripes 2s linear infinite;
	animation: progress-stripes 2s linear infinite;
}
@-webkit-keyframes progress-stripes {
	from  { background-position: 0 0; }
	to    { background-position: 40px 0; }
}
@keyframes progress-stripes {
	from  { background-position: 0 0; }
	to    { background-position: 40px 0; }
}
div.styled_file.disabled div.styled_file_progress {
	border: 1px solid #eeeeee;
}
div.previewimg {
	height: 163px;
	margin-bottom: 15px;
	background: #f0f0f0;
}
div.preview img {
	max-width: 100%;
	max-height: 100%;
	border: 1px solid #ccc;
	border-radius: 4px;
}
a.remove {
	position: absolute;
	right: 0px;
	top: -25px;
}

div.map {
	width: 100%;
	height: 200px;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 15px;
}

div.geoposition .row {
	margin: 0 -7px;
}
div.geoposition .row > div {
	padding: 0 7px 14px 7px;
}

textarea.rtearea {
	height: 20em;
	font-family: "Monospaced", "Courier New", Courier, monospace;
	font-size: 13px;
}

.wysiwyg-wrapper textarea.rtearea {
	border: 0px none;
}
.wysiwyg-toolbar-list a {
	display: block;
	color: #333;
	text-decoration: none;
	padding: 0.25em 0.5em;
}
.wysiwyg-toolbar-list a > *{
	margin: 0;
	padding: 0;
}
.wysiwyg-editor {
	background-color: #ffffff;
}
.wysiwyg-container.readonly .wysiwyg-editor {
	cursor: not-allowed;
	background-color: #eeeeee;
}
.wysiwyg-container.readonly .wysiwyg-toolbar-icon,
.wysiwyg-container.readonly .wysiwyg-toolbar-icon:hover {
	color: #808080;
	cursor: not-allowed;
	background-color: #eeeeee;
}
.wysiwyg-container.showsource .wysiwyg-placeholder {
	display: none !important;
}
.wysiwyg-container.fullscreen {
	position: fixed;
	background: #ffffff;
	z-index: 9999;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.wysiwyg-container.fullscreen .wysiwyg-toolbar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 32px;
	z-index: 10;
	overflow: auto;
    white-space: nowrap;
}
.wysiwyg-container.fullscreen .wysiwyg-wrapper {
	padding-top: 32px;
	height: 100%;
	width: 100%;
}
.wysiwyg-container.fullscreen .wysiwyg-placeholder {
	padding-top: 32px;
}
.wysiwyg-container.fullscreen .wysiwyg-editor {
	max-height: 100%;
	height: 100%;
}
.wysiwyg-container.fullscreen textarea.rtearea {
	height: 100%;
}
.wysiwyg-editor td {
	border: 1px dashed #ccc;
	padding: 0.5em;
}
.wysiwyg-popup input {
	max-width: 210px;
	padding-right: 30px;
	display: inline-block;
}

.hastooltip input {
	padding-right: 32px;
	position: relative;
}
.hastooltip .tooltipinfo {
	position: absolute;
	width: 28px;
	height: 28px;
	color: #ccc;
	font-size: 18px;
	line-height: 28px;
	right: 3px;
	top: 3px;
	z-index: 10;
	text-align: center;
	overflow: hidden;
	/* overlay selects and maybe correct click event handler bug in some browsers */
	background: #fff;
	border-radius: 3px;
}
label.hastooltip .tooltipinfo {
	height: 20px;
	line-height: 20px;
	top: 0px;
}
.hastooltip .tooltipinfo span {
	display: inline-block;
	vertical-align: middle;
	line-height: 16px;
}
.tooltip.bottom {
	right: 0;
}
.tooltip.bottom .tooltip-arrow {
	left: auto;
	right: 12px;
}
.tooltip.bottom .tooltip-inner {
	max-width: 100%;
}

/* typeahead */
span.twitter-typeahead {
	display: block !important;
}
span.twitter-typeahead .tt-hint {
	color: #cccccc;
}
span.twitter-typeahead .tt-menu {
	width: 100%;
	background: #ffffff;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid #cccccc;
	max-height: 230px;
	overflow: auto;
}
span.twitter-typeahead .tt-suggestion {
	padding: 6px 12px;
	cursor: pointer;
}
span.twitter-typeahead .tt-suggestion-name {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
span.twitter-typeahead .tt-suggestion-desc {
	opacity: 0.67;
	font-size: 10px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* abstract */
[data-abstract] {
	border-top: 1px solid #ccc;
}
[data-abstract] .abstract {
	background: #f0f0f0;
	cursor: pointer;
}
[data-abstract] .abstract-caption {
	display: table;
	width: 100%;
}
[data-abstract] .abstract-row {
	display: table-row;
}
[data-abstract] .abstract .abstract-item {
	display: table-cell;
	width: 33%;
	padding: 10px 0 10px 15px;
	max-width: 300px; /* for ellipsis */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
[data-abstract] .abstract .abstract-item:first-of-type {
	width: 16.5%;
	font-weight: bold;
}
[data-abstract] .abstract .abstract-item:nth-of-type(2) {
	width: 66%;
}
[data-abstract] .abstract .abstract-item:last-of-type {
	width: 16.5%;
	padding-right: 32px;
}
[data-abstract][aria-expanded=false] .abstract ~ * {
	position: absolute;
	visibility: hidden;
	width: 0;
	height: 0;
	overflow: hidden;
}

[data-preset],
[data-preset] input {
	display: none;
}

[data-deletable] {
	position: relative;
}
[data-deletable] .deletable-handle {
	position: absolute;
	right: 15px;
	top: 9px;
}
[data-deletable][data-abstract] .deletable-handle {
	top: 49px;
}

.controls .openurl {
	cursor: pointer;
}
[data-unlock] {
	margin: -2px;
}

[data-default-target] {
	cursor: pointer;
}
[data-default-target]:hover {
	background: rgba(128, 128, 128, 0.15) !important;
}