main {
	/* background: linear-gradient(135deg, rgba(var(--rgb-blue), 0.3), rgba(var(--rgb-green), 0.3)); */
	/* background-color: #f2f2f2; */
	/* padding-top: 58px; */
}

#sendPostloadingScreen {
	transition: all 0.3s;
	background-color: rgba(255, 255, 255, 0.8)!important;
}

.mh-custom {
	max-height: 300px;
}

.input-plus :focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}

.custom-rounded {
	border-radius: 100px!important;
	background-color: #EFF7F6;
	transition: all 0.4s;
}

.custom-rounded:hover {
	color: white!important;
}

.file-loader {
	position: absolute!important;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	transition: width .6s ease;
	background-color: rgba(var(--rgb-green), 0.2);
	pointer-events: none;
}

.input-group input[type=checkbox] {
	width: 16px;
	height: 16px;
}

.tab-content>.active {
	background-color: #fff;
}

.list-group > .list-group-item {
	background-color: transparent!important;
}

.info-card span {
	height: 50px;
	width: 50px;
	font-size: 22px;
}

.info-card h3 {
	line-height: 50px;
}

.custom-card-link:hover {
	box-shadow: 4px 4px 8px rgba(0,0,0,0.5);
	text-decoration: none;
}

.custom-info-cards > .custom-card-link {
	transform: translateX(0px);
	width: 100%;
	transition: all 0.15s;
}

.custom-info-cards > .custom-card-link:not(:last-child) {
	margin-bottom: 1rem;
}

.custom-info-cards > .custom-card-link:hover {
	transform: translateX(-10px);
}

.navbar .navbar-nav .nav-item .nav-link {
	line-height: 1.6;
	padding: 10px 15px;
	opacity: .8;
	font-size: 18px;
	font-weight: 600;
}

.nav-justified .nav-item {
	flex-basis: unset;
}

#navbar-accordion p > span {
	width: 100px;
	display: inline-block;
}

@media screen and (min-width: 992px) {
	.swing {
		animation-name: swing;
		animation-duration: 4s;
		animation-timing-function: ease-in-out;
		animation-fill-mode: forwards;
	}
}

@keyframes swing {
	0% {
		transform: rotate(0deg);
	}
	10% {color: grey;transform: rotate(20deg);}
	20% {color: grey;transform: rotate(-20deg);}
	30% {color: grey;transform: rotate(20deg);}
	40% {color: grey;transform: rotate(-20deg);}
	50% {color: grey;transform: rotate(20deg);}
	60% {color: grey;transform: rotate(-20deg);}
	70% {color: grey;transform: rotate(20deg);}
	80% {color: grey;transform: rotate(-20deg);}
	90% {color: grey;transform: rotate(20deg);}
	100% {
		transform: rotate(0deg);
	}
}

@keyframes submitAnimation {
	0% {background-color: #0069d9; border-color: var(--primary);}
	10% {background-color: var(--success); border-color: var(--success);}
	40% {background-color: #0069d9; border-color: var(--primary);}
	50% {background-color: var(--success); border-color: var(--success);}
	80% {background-color: #0069d9; border-color: var(--primary);}
	90% {background-color: var(--success); border-color: var(--success);}
	100% {background-color: var(--success); border-color: var(--success);}
}

.submitAnimation {
	animation-name: submitAnimation;
	animation-duration: 3s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;

	transition: all 1s;
}

.list-group-custom a {
	display: block;
	width: 100%;
	padding: .25rem 1.5rem;
	clear: both;
	font-weight: 400;
	color: #212529;
	text-align: inherit;
	white-space: nowrap;
	background-color: transparent;
	border: 0;
	border-right: 4px solid var(--primary);
	border-radius: 0;
	transition: all 0.2s;
	box-sizing: border-box;
}

.list-group-custom a:hover {
	border-right: 8px solid var(--primary);
	text-decoration: none;
}

.custom-border {
	border: 0;
	border-right: 4px solid var(--primary);
	border-radius: 0;
}

.navbar-nav .dropdown-menu {
	min-width: 280px;
}

/* Table */

#vertagsTabelle, #announcementTable, #procedureTable {
	min-width: 1360px;
}

#vertagsTabelle > thead > tr > th, #announcementTable > thead > tr > th, #procedureTable > thead > tr > th {
	word-wrap: break-word;
}

table {
	font-size: 13px!important;
	table-layout: fixed!important;
}

tr.disabled {
	background-color: #ececec;
	color: #b9b9b9!important;
}

table td {
	word-break: break-word!important;
	overflow-wrap: break-word!important;
}

table td > * {
	word-break: normal!important;
	overflow-wrap: unset!important;
}

.search-input {
	border-color: var(--main-dark) !important;
	background-color: rgba(0, 0, 0, 0.05);
}

#search-vertrag, #search-announcements, #search-procedures {
	border-color: rgba(0, 0, 0, 0.2)!important;
	background-color: rgba(0, 0, 0, 0.05);
}

#user-table tr td:nth-child(1n+3), #user-table tr th:nth-child(1n+3) {
	text-align: center;
}

#user-table td {
	vertical-align: middle!important;
}

/* Loader */

.loader {
	z-index: 9999;
}

/* Produktgruppen */

.produktgruppen {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	color: white;
}

.produktgruppen div {
	padding: 0.25rem 0;
	flex: 1 1 auto !important;
}

.produktgruppen div:nth-child(2n+1) {
	background-color: rgba(0,0,0,0.5);
}

.produktgruppen div:nth-child(2n+2) {
	background-color: rgba(0,0,0,0.4);
}

#vertrag-accordion > .w-100 {
	transition: all 0.2s;
}

/* Date */

.date {
	width: 30px;
	height: 44px;
}

.date > div {
	display: flex;
}

.date .day {
	font-size: 22px;
	line-height: 22px;
	height: 22px;
	font-weight: 800;
	justify-content: space-around;
}

.date .month {
	font-size: 12px;
	line-height: 12px;
	height: 12px;
	font-weight: 800;
	justify-content: space-between;
	text-transform: uppercase;
}

.date .year {
	font-size: 10px;
	line-height: 10px;
	height: 10px;
	font-weight: 300;
	justify-content: space-between;
}

#vertrag-accordion .w-100 .date-place {
	/* background-color: rgba(0,0,0,0.25); */
	transition: all 0.25s;
}

/* Megamenu */

.navbar .has-megamenu {
	position: static !important;
}

.megamenu .container {
	display: block!important;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.navbar .megamenu {
	left: 0;
	right: 0;
	margin: 0;
	padding: 0;

	border-width: 0;
	border-radius: 0;

	background-color: #EFF7F6;
	z-index: -1;
}

.megamenu.show {
	overflow:hidden;
	transition: transform 0.3s ease-out;
	opacity: 1;

	animation-name: showmegamenu;
	animation-duration: 1s;
}

@keyframes showmegamenu {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/* Filter */

/* #filter-elem > div {
	background-image: linear-gradient(to right, var(--success) 0%, var(--success) 20%, var(--filter-elem) 20%, var(--filter-elem) 100%);
	background-position: 0px 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: all 0.4s;
} */

#filter label {
	-webkit-text-fill-color: var(--filter-elem);
}

#filter label.active {
	-webkit-text-fill-color: var(--green);
}

#filter-elem > div.radioBorder {
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	background: linear-gradient(to right, var(--success) 0%, var(--success) calc(100% / 5), rgba(0,0,0,.2) calc(100% / 5), rgba(0,0,0,.2) 100%);
	background-position: 0px 100%;
	transition: all 0.4s;
}

#filter-elem > div.radioBorder.vertraege-radioBorder {
	height: 2px;
	width: 100%;
	position: absolute;
	bottom: 0;
	background: linear-gradient(to right, var(--success) 0%, var(--success) calc(100% / 6), rgba(0,0,0,.2) calc(100% / 6), rgba(0,0,0,.2) 100%);
	background-position: 0px 100%;
	transition: all 0.4s;
}

table > thead {
	background-color: rgba(0,0,0,.2)!important;
}

#filter .sort {
	width: 180px;
	background-color: rgba(0,0,0,.2);
}

@media (min-width: 1000px) {
	#filter .sort {
		width: 200px;
		background-color: rgba(0,0,0,.2);
	}
}

#filterToggle {
	font-size: 16px;
	white-space: normal!important;
}

#filterToggle.showMe {
	transform: scale(1);
	transition: all 0.2s;

	animation: toggleAnimation 7s infinite ease-in-out;
	animation-delay: 3s;
}

#filterToggle:hover, #filterToggle:focus {
	-webkit-animation: 0;
	animation: 0;
}

#filterToggle ~ .dropdown-menu {
	right: 0;
}

#filter .dropdown-item {
	white-space: normal!important;
}

#filter .dropdown-menu {
	width: 280px;
}

#alleKrankenkassen > div {
	background-color: rgba(0, 0, 0, 0.05);
}

#alleKrankenkassen .row {
	max-height: 300px;
}

#alleKrankenkassen a {
	text-decoration: underline solid transparent;
	transition: text-decoration .4s ease;
	font-size: 13px;
}

#alleKrankenkassen a:hover {
	text-decoration: underline solid Currentcolor;
}

@keyframes toggleAnimation {
	0% {transform: scale(1);}
	4% {transform: scale(0.8);}
	8% {transform: scale(1.1);}
	12% {transform: scale(0.96);}
	15% {transform: scale(1.03);}
	18% {transform: scale(0.99);}
	20% {transform: scale(1);}

	100% {transform: scale(1);}
}

#filter-elem .flex-column {
	height: 1px;
}

#filter-elem .down .up {
	-webkit-text-fill-color: var(--filter-elem);
}

#filter-elem .down .down {
	-webkit-text-fill-color: var(--filter-elem);
}

#filter-elem .up.active .down {
	-webkit-text-fill-color: var(--green);
}

#filter-elem .up .down {
	-webkit-text-fill-color: var(--filter-elem);
}

#filter-elem .up .up {
	-webkit-text-fill-color: var(--filter-elem);
}

#filter-elem .down.active .up {
	-webkit-text-fill-color: var(--green);
}

#filter-elem label {
	border: 0;
	width: 100%;
	font-size: 13px;
	padding: 0.5rem 0.25rem;
	letter-spacing: -1px;
	margin-bottom: 0;
}

_::-webkit-full-page-media, _:future, :root #filter-elem label {
	color:rgb(var(--rgb-green)); 
}

#filter-elem label:hover {
	cursor: pointer;
}

@media (min-width: 1000px) and (max-width: 1200px) {
	#filter-elem label {
		padding: 0.5rem 0.5rem;
		font-size: 16px;
	}
}

@media (min-width: 1200px) and (max-width: 1300px) {
	#filter-elem label {
		font-size: 12px;
		padding: 0.5rem 0.5rem;
		font-weight: 800;
	}
}

@media (min-width: 1300px) and (max-width: 1600px) {
	#filter-elem label {
		font-size: 13px;
		padding: 0.5rem 0.5rem;
		font-weight: 800;
	}
}

@media (min-width: 1600px) {
	#filter-elem label {
		padding: 0.5rem 1rem;
		font-size: 16px;
	}
}

/* VERTRAG */

.highlightcolor { background-color:#FFFF00; }

div.searchkeys { width: 220px; flex: 0 0 auto; }

#vertrag-accordion .info { width: 160px; flex: 0 0 auto; }

#vertrag-accordion .info div { line-height: 30px; font-size: 1rem; }

/* @media  (min-width: 1500px) {
	#vertrag-details > div {
		max-width: 1400px;
	}
} */

/* #vertrag-inhalt > div:nth-child(2n+1) { background-color: rgba(0, 0, 0, 0.1); } */

[id$=-inhalt] > div > div:first-child { margin: 0 2rem; word-break: break-all; font-weight: bolder; }
[id$=-inhalt] > div > div:nth-child(2n) { border-radius: 2rem; white-space: normal !important; margin: 0 1rem; padding: 0.5rem 1rem; font-size: 20px!important; line-height: 27px!important; background-color: rgba(0, 0, 0, 0.05); }
[id$=-inhalt] > div {
	width: 50%;
	margin-bottom: 1.5rem!important;
}

#cover {
	/* background-image: url(https://www.sani-aktuell.de/wp-content/uploads/Mitgliederbereich.png); */
	background-color: rgba(var(--rgb-green), 0.1);
	background-repeat: no-repeat;
	/* background-position: 50% 50%; */
	background-size: cover;
	padding-top: 64px;
	min-height: 240px;
}

#cover.root {
	min-height: 340px;
}

#cover .small-decor {
	transform: translateY(calc(100% - 1px));
}

#login-cover {
	opacity: 0.6;
}

#login-nav {
	height: 70px;
	background-color: rgba(255, 255, 255, 0.6);
}

#vertrag-accordion [id*=demo].collapse.in {
	display: table-row!important;
}

#vertrag-accordion [id*=demo].collapse {
	display: none!important;
}

.hover-primary {
	background-color: rgba(var(--rgb-green), 0.2)!important;
}
.hover-info {
	background-color: rgba(var(--rgb-blue), 0.2)!important;
}
.hover-success {
	background-color: rgba(var(--rgb-green), 0.2)!important;
}
.hover-danger {
	background-color: rgba(var(--rgb-red), 0.2)!important;
}
.hover-warning {
	background-color: rgba(var(--rgb-yellow), 0.2)!important;
}

.hover-primary-2 {
	background-color: rgba(var(--rgb-green), 0.1)!important;
}
.hover-info-2 {
	background-color: rgba(var(--rgb-blue), 0.1)!important;
}
.hover-success-2 {
	background-color: rgba(var(--rgb-green), 0.1)!important;
}
.hover-danger-2 {
	background-color: rgba(var(--rgb-red), 0.1)!important;
}
.hover-warning-2 {
	background-color: rgba(var(--rgb-yellow), 0.1)!important;
}

.placeholder {
	height: 50px;
}

#vertraege_create fieldset > .row {
	margin: 0!important;
}

#iknumbers {
	max-height: 400px;
}

#iknumbers > div:nth-child(2n+1){
	background-color: rgba(0, 0, 0, 0.1);
}

/* Stammdaten */

#basedata ::-webkit-input-placeholder {
	border-bottom: 1px solid rgba(var(--rgb-blue),1);
}
#basedata ::-moz-placeholder {
	border-bottom: 1px solid rgba(var(--rgb-blue),1);
}
#basedata :-moz-placeholder {   /* Older versions of Firefox */   
	border-bottom: 1px solid rgba(var(--rgb-blue),1);
}
#basedata :-ms-input-placeholder { 
	border-bottom: 1px solid rgba(var(--rgb-blue),1);
}

#basedata ::-webkit-input-placeholder {
    border-bottom: 1px solid rgba(var(--rgb-blue),1);
}

#stammdaten > .active {
	color: rgb(var(--rgb-green));
}

/* Team-Strukturen */

.rounded-rounded > select::-webkit-scrollbar {
	width: 10px;
	z-index: -1;
}

/* Track */
.rounded-rounded > select::-webkit-scrollbar-track {
	background: rgba(var(--rgb-blue), 0.2);
	z-index: -1;
}

/* Handle */
.rounded-rounded > select::-webkit-scrollbar-thumb {
	background: rgb(var(--rgb-blue));
	z-index: -1;
}

/* Handle on hover */
.rounded-rounded > select::-webkit-scrollbar-thumb:hover {
	background: rgba(var(--rgb-blue), 0.6);
	z-index: -1;
}

.info-date .tage {
	font-size: 16px;
	margin: -6px 0;
}
.info-date div:first-child > div, .info-date div:last-child > div {
	font-size: 12px;
}

.sticky-js {
	overflow: auto!important;
	padding-bottom: 1em;
}

/* PDF */

#optionen {
	max-height: 400px;
	overflow: auto;
}

#hoverClass {
	position: fixed;
	width: 10px;
	height: 10px;
	border: 1px solid red;
	z-index: 9999;
	pointer-events: none;
}

.pdf-width {
	width: 210mm!important;
}

page {
	background: white;
	display: block;
	margin: 0 auto;
	margin-bottom: 5px;
	page-break-after: auto;
}

page[size="A4"] {  
	width: 210mm;
	height: 297mm;
}

page[size="A4"][layout="portrait"] {
	width: 297mm;
	height: 210mm;
}

@media print {
	body, page {
		margin: 0;
		box-shadow: 0;
		page-break-after: auto;
	}
}

.pdf-content {
	padding: 0;
	position: relative;
	height: 100%;
	width: 100%;
	font-size: 14px;
	page-break-after: auto;
}

.pdf-content .x::before {
	content: "";
	position: absolute;
	top: 0;
	left: -7px;
	border: 2px solid red;
	width: 100%;
	height: 100%;
	box-sizing: unset;
	cursor: pointer;
}

.optionCheckbox:after {
	content: " - Checkbox setzen";
}

.pdf-element {
	position: absolute;
	overflow: hidden;
}

.pdf-element:not(.draggable) {
	resize: horizontal;
}

.no-resize {
	resize: none!important;;
}

.pdf-element.checkbox {
	overflow: unset!important
}

.pdf-element.checkbox .checkbox {
	width: calc(100% - 25px);
}

.pdf-element.checkbox:hover {
	border: 1px solid black;
}

.pdf-element.checkbox *:not(span) {
	display: none;
}

.pdf-element.checkbox:hover *:not(span) {
	display: block;
}

.pdf-element.checkbox::before {
	content: "x";
}

.pdf-element.draggable .draggable-arrows {
	display: none;
}

.pdf-element:not(.draggable) .draggable-text {
	display: none;
}

#outer div {
	display: inline-block;
	font-size: 18px;
	line-height: 1em;
}

/* Status */

tr.active {
	background-color: rgba(0, 0, 0, 0.1);
}

.status-border-success {
	border-left: 4px solid rgb(var(--rgb-green));
}

.status-border-danger {
	border-left: 4px solid rgb(var(--rgb-red));
}

.status-border-info {
	border-left: 4px solid rgb(var(--rgb-blue));
}

.status-success::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background-color: rgb(var(--rgb-green));
}

.status-danger::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background-color: rgb(var(--rgb-red));
}

.edit-fieldset {
	opacity: 0;
}

fieldset[disabled=disabled] .edit-fieldset {
	opacity: 1;
}

a:focus-visible {
	outline: none!important;
}

.h-0 {
	height: auto!important;
}