/**
 * Mein Chatserver
 * ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
 * Licensed Materials - Property of mein-chatserver.de.
 * © Copyright 2024. All Rights Reserved.
 *
 * @version 1.0.0
 * @author  Adrian Preuß
 */
* {
	box-sizing: border-box;
	font-smoothing: antialiased;
	font-smooth: always;
	text-rendering: optimizeLegibility;
    outline: none !important;
}

textarea:focus,
textarea:focus,
input:focus {
    outline: none;
    box-shadow: none !important;
}

:not(input, textarea, .alert, .alert *)::selection {
	background: transparent;
}

.icon-link .bi {
    margin-bottom: .5rem !important;
}

.container-scroll {	
	margin-right: auto;
	margin-left: auto;
}

.container-scroll.full-size {
	width: calc(100vw);
}

.container-scroll .row {
	width: 100%;
	max-width: calc(100vw);
	overflow-x: auto;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	white-space: nowrap;
	margin-right: auto;
	margin-left: auto;
}

.container-scroll .col {
	display: inline-block;
	width: auto;
	margin-right: auto;
	margin-left: auto;
}

.container-scroll .card {
    min-width: 230px;
}

@media (max-width: 576px){
	.container-scroll [class*=row-cols-]>* {
		width: inherit;
	}
}

textarea.form-control.h-100 {
	display: block;
	min-height: 100%;
	max-height: 100%;
	height: 100%;
	resize: none;
}

.xtrasmall {
	font-size: 10px;
	margin-top: -1px;
	position: relative;
	display: block;
}

/* Divider */
.divider:after,
.divider:before {
	content: "";
	flex: 1;
	height: 3px;
	background: var(--bs-secondary-bg-subtle);
}

/* Copy & Paste Form */
.input-copy .form-control,
.input-copy .input-group-text {
	background: var(--bs-primary-bg-subtle);
	color: var(--bs-gray-dark);
	border: none !important;
}

.input-copy .form-control.small {
	width: 85px;
	max-width: 85px;
	text-align: center;
	background: var(--bs-secondary-bg-subtle);
}

.input-copy .form-control {
	border-right: none !important;
	font-weight: bold;
}

.input-copy .input-group-text {
	min-width: inherit !important;
	border-left: none !important;
}

.input-copy .form-control.copy-success {
	background: var(--bs-success-bg-subtle);
	color: var(--bs-gray-dark);
	border: none !important;
}

.input-copy .form-control.copy-danger {
	background: var(--bs-danger-bg-subtle);
	color: var(--bs-gray-dark);
	border: none !important;
}

/* Tooltips */
.tooltip.success {
	--bs-tooltip-bg: var(--bs-success);
}

.tooltip.danger {
	--bs-tooltip-bg: var(--bs-danger);
}

/* Buttons */
.btn-xs {
	--bs-btn-padding-y: .25rem;
	--bs-btn-padding-x: .5rem;
	--bs-btn-font-size: .75rem;
}

.btn-integrated {
	margin: -1px 0 0 0;
	--bs-btn-border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}


/* Timeline */
.timeline .date {
	flex-basis: 115px;
}

.timeline .line {
	flex-basis: 300px;
}

.timeline .vr {
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.timeline .dot {
	display: inline-block;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	width: 20px;
	height: 20px;
	left: 50% !important;
	transform: translateX(-50%) !important;
	border-radius: 100%;
}

.timeline .label {
	position: absolute;
	z-index: 2;
	top: 0;
	left: calc(50% + 18px);
}

@media (min-width: 0px) and (max-width: 991px) {
	.timeline .line {
		flex-basis: 100%;
	}
	
	.timeline .vr {
		left: 50px !important;
		transform: translateX(-50px) !important;
	}

	.timeline .dot {
		left: 0px !important;
	}
	
	.timeline .dot[data-date] {
		visibility: visible;
	}
	
	.timeline .dot[data-date=""] {
		visibility: hidden;
	}
	
	.timeline .dot[data-date]::after{
		content: attr(data-date);
		margin-top: 0;
		margin-bottom: .5rem;
		font-weight: 500;
		line-height: 0;
		font-size: 1.25rem;
		margin-left: 28px;
		--bs-text-opacity: 1;
		color: var(--bs-secondary-color) !important;
	}
	
	.timeline .label {
		left: inherit;
		right: 0px;
	}
}

.timeline ul.list {
	margin-top: 35px;
	list-style: square;
}

.timeline ul.list li {
	color: var(--bs-primary);
}

.timeline ul.list li span {
	color: var(--bs-body-color);
}