:root {	
	--bs-primary: #4b8e44;
	--bs-primary-rgb: 75,142,68;
	--bs-third: #7f57c9;
	
	--bs-primary: #7f57c9;
	--bs-primary-rgb: 127,87,201;
	--bs-third: #622dc4;
	
	--bs-font-monospace: 'Roboto Mono';
	--bs-code-color: #7f57c9;
	
	--bs-btn-bg: #7f57c9;
	--bs-btn-border-color: #7f57c9;
    --bs-btn-color: #7f57c9;
    --bs-btn-border-color: #7f57c9;
    --bs-btn-hover-bg: #7f57c9;
    --bs-btn-hover-border-color: #7f57c9;
}

.text-third {
	color: var(--bs-third);
}

body {
	font-family: 'Montserrat';
	font-weight: 400;
}

.font-mono {
	font-family: 'Roboto Mono';
}

header {
	height:5rem;
}

main {
	margin-top:5rem;
}

.calender-view-wrapper {
	position: fixed;
	top:5rem;
	bottom:0;
	width:50%;
	left:0;
}

.info-scroll-wrapper {
	width:50%;
	margin-left:50%;
	max-width: 50%;
}

.private-mode .info-scroll-wrapper {
	margin-left: 25%;
}

header nav a.active {
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--bs-primary);
}

/* Calendar View */

.calender-row-wrapper {
	display:flex;
	justify-content:space-between;
	padding:1rem;
	align-content: center;
	align-items: center;
	border-top-left-radius: 0.5rem;	
	border-top-right-radius: 0.5rem;	
}

.calendar-max-width {
	max-width: 650px;
	margin:auto;	
	border-radius: 0.5rem;
}

.calendar-max-width div:first-of-type {
	border-top-left-radius: 0.5rem;	
	border-top-right-radius: 0.5rem;	
}

.calendar-max-width div:last-of-type {
	border-bottom-left-radius: 0.5rem;	
	border-bottom-right-radius: 0.5rem;	
}

.calender-number-row-wrapper .calender-row-wrapper {
	border-bottom: 1px solid var(--bs-primary);
}

.calender-number-row-wrapper .calender-row-wrapper:last-of-type {
	border-bottom: none;
}

.calender-row-wrapper div {
	text-align: center;
	display: flex;
	flex-grow:1;
	justify-content: center;
}

.calender-row-wrapper span {
	border-radius: 0.5rem;
	width:2.5rem;
	height:2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border:2px solid transparent;
	position: relative;
} 

.calender-row-wrapper span.success {
	border-color:var(--bs-success);
}

.calender-row-wrapper span.danger {
	border-color:var(--bs-danger);
}

.calender-row-wrapper span.warning {
	border-color:var(--bs-warning);
}

.calender-row-wrapper span.success, 
.calender-row-wrapper span.danger,
.calender-row-wrapper span.warning,
span.thirty-day-reminder {
	background-color:rgba(255,255,255, 0.75);
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.50);
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.50);
}

.calender-row-wrapper span.active {
	background-color:#fff;
}

.custom-tooltip {
  --bs-tooltip-bg: var(--bd-violet-bg);
  --bs-tooltip-color: var(--bs-white);
}

.image-wrapper {
	max-height: 300px;
	overflow: hidden;
	position: relative;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
	object-position: center center;
	z-index: 1;
}

.image-wrapper .btn {
	position: absolute;
	left:0.5rem;
	bottom:0.5rem;
	z-index: 10;
}

.aufgabe-wrapper input:checked + label {
	color:var(--bs-primary);
}

.aufgaben-outer-wrapper .aufgabe-wrapper:last-of-type {
	border-color:transparent !important;
}

.btn-form {
	border-color:var(--bs-primary);
	background-color:rgba(var(--bs-primary-rgb), 0.1);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1rem 0.75rem;
	padding-top: 1.625rem;
    padding-bottom: 0.625rem;
	flex-wrap: wrap;
	position: relative;
	height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    line-height: 1.25;
}

.btn-form i {
	position: absolute;
	top:0.5rem;
	right: 0.5rem;
}

.btn-form .input-title {
	color: #6c757d;
	position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    max-width: 100%;
    height: 100%;
    padding: 1rem 0.75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
	transform: scale(0.85) translateY(-0.65rem) translateX(-0.2rem);
}

.btn-form .input-value {
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;	
}

@media (hover: hover) and (pointer: fine) {

	.btn-modal:hover,
	.btn-hover:hover {
		background-color:rgba(var(--bs-primary-rgb), 0.5);
	}
	
	.btn-hover:hover .text-success {
		display: none;
	}
}