body,
html {
	color: #475569;
	font-family: Plus Jakarta Sans Variable,"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";
	/* font-family: Roboto, sans-serif; */
	font-size: 16px;
	line-height: 26px;
	margin: 0;
}
header{
	background-color: #fff;
}
.body{
	margin-top: 4rem;
}
.container{
	max-width: 1440px;
	position: relative; /* Navi */
}
.navbar{
	padding-top: 1px;
	padding-bottom: 1px;
}
.navbar-nav>.dropdown, .navbar-nav>.dropend, .navbar-nav>.dropstart, .navbar-nav>.dropup{
	position: initial;
}
.navbar-brand>img{
	height: 1.75rem;
}
.navbar-nav>.nav-item>.nav-link{
	color: #475569;
}
.navbar-nav>.nav-item>.nav-link:after{
	display: none;
}
.navbar-nav>.nav-item>.dropdown-menu{
	top: 100%;
	left:0;
	right:0;
	padding-top: 0;
	margin-top: 0;
	border: 0;
	border-radius: 0;
	text-align: center;
}
.navbar-nav>.nav-item>.dropdown-menu>ul{
	display: inline-block;
	text-align: left;
	padding-left: 0;
	list-style-type: none;
}
.navbar-nav>.nav-item>.dropdown-menu .dropdown-item.header{
	color: #94a3b8;
}
.navbar-nav>.nav-item>.dropdown-menu .dropdown-item.active, 
.navbar-nav>.nav-item>.dropdown-menu .dropdown-item:active{
	font-weight: normal;
    background-color: transparent;
    color: #1e2125;
}
.shadow{
	box-shadow: 0 0 #0000, 0 0 #0000, 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1)!important;
}
.shadow-md{
	box-shadow: 0 0 #0000, 0 0 #0000, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
}
.shadow-lg{
	box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
}
.px-45{
	padding-right: 32px;
	padding-left: 32px;
}
.header-img-wrap{
	margin-right: calc(-.5 * var(--bs-gutter-x));
	margin-left: calc(-.5 * var(--bs-gutter-x));	
}
@media (min-width: 576px) {
	.px-sm-45{
		padding-right: 32px;
		padding-left: 32px;
	}
}
@media (min-width: 768px) {
	.body{
		margin-top: 5rem;
	}
	.navbar-brand>img{
		height: 2.5rem;
	}
	.navbar{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.navbar-nav>.nav-item>.nav-link{
		font-size: 1.25rem;
	}
	.px-md-45{
		padding-right: 32px;
		padding-left: 32px;
	}
	.header-img-wrap{
		margin-right: 0;
		margin-left: 0;	
	}
}
@media (min-width: 992px) {
	.px-lg-45{
		padding-right: 32px;
		padding-left: 32px;
	}
}
@media (min-width: 1200px) {
	.px-xl-45{
		padding-right: 32px;
		padding-left: 32px;
	}
}
@media (min-width: 1400px) {
	.px-xxl-45{
		padding-right: 32px;
		padding-left: 32px;
	}
}

h1 {
	font-weight: 400;
	color: #007eb2;
	font-size: 1.875rem;
	line-height: 2.875rem;
}
h2,h3{
	font-weight: 400;
	border-bottom: 1px solid #d6dde6;
    margin: 2rem 0 3rem;
    padding: 0 0 1rem;
	font-size: 1.5rem;
}
h3{
	font-size: 1.25rem;
}

#loading {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	display: none;
	z-index: 1;
}

#blur {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	backdrop-filter: blur(12px);
	--tw-backdrop-blur: blur(12px);
	opacity: 0;
	display: none;
	z-index: 1;
}

#toasts {
	position: fixed;
	top: 1.5rem;
	right: 1.5rem;
	max-width: 90%;
	z-index: 2000;
	width: 350px;
}

#toasts .toast {
	border-radius: 0;
}

#toasts .toast.alert {
	padding: 0;
}

#toasts .toast.alert .toast-header {
	background-color: transparent;
	color: inherit;
	border-color: inherit;
}

#toasts .toast.alert.alert-danger {
	background-color: rgba(248, 215, 218, .85);
	border-color: rgba(245, 198, 203, .85);
}

#toasts .toast.alert.alert-warning {
	background-color: rgba(255, 243, 205, .85);
	border-color: rgba(255, 238, 186, .85);
}

#toasts .toast.alert.alert-info {
	background-color: rgba(209, 236, 241, .85);
	border-color: rgba(190, 229, 235, .85);
}

#toasts .toast.alert.alert-success {
	background-color: rgba(212, 237, 218, .85);
	border-color: rgba(195, 230, 203, .85);
}

@media (max-width: 390px) {
	#toasts {
		top: 1.5rem;
		right: 1.5rem;
		left: 1.5rem;
		max-width: 100%;
		width: auto;
	}
}

label{
	padding: .625rem;
}
.form-control {
	border-color: #475569;
	border-radius: 0;
	padding: .625rem;
}
.col-form-label {
	padding-top: calc(.375rem + 4px);
	padding-bottom: calc(.375rem + 4px);
}
.col-form-label.required {
	line-height: .75rem;
}
.col-form-label.required .x-small{
	font-size: .688rem;
}


.select2-container {
	min-height: 2.875rem;
}

.select2-container.select2-container--open {
	z-index: 1500;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 1.9;
	padding: .45rem 1.5rem .45rem .75rem;
	height: 2.875rem;
}

.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
	border-radius: 0;
	min-height: 2.875rem;
	border-color: #475569;
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: 2.875rem;
}

.select2-container .select2-selection--single .select2-selection__arrow b {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' aria-hidden='true' %3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E");
	border: 0;
	margin: 0;
	width: 20px;
    height: 20px;
	left: 0;
    top: 14px;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	transform: rotate(180deg);
}

.select2-results__option {
	font-size: .875rem;
	padding: .438rem;
	padding-left: 40px;
    position: relative;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
	background-color: #e9ecef;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: #f5f5f5;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: #D2D4D6;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
	background-color: #f3f4f6;
	color: #475569;
}

.select2-container--default .select2-results__option[aria-selected=true]::before{
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='color-blue' fill='none' viewBox='0 0 24 24' stroke='%230369a1' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'%3E%3C/path%3E%3C/svg%3E");
    position: absolute;
    display: block;
	width: 20px;
    height: 20px;
    left: 10px;
    top: 10px;
	color: #0369a1;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
	width: 30px;
}

.color-blue{
	color: #0369a1;
}

#calendar-wrapper {
	font-size: .875rem;
}

#calendar-wrapper .button {
	display: flex;
	justify-content: space-between;
	padding: 0 3rem;
	position: relative;
	top: 85px;
	margin-top: -60px;
}

#calendar-wrapper #prev-month,
#calendar-wrapper #next-month {
	display: inline-block;
	width: auto;
}

#calendar-wrapper .month-wrapper {
	display: flex;
	justify-content: center;
}

#calendar-wrapper table {
	margin-bottom: 2rem;
}

#calendar-wrapper table .monthyear {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

#calendar-wrapper table tr {
	display: flex;
	justify-content: space-between;
}

#calendar-wrapper table th,
#calendar-wrapper table td {
	width: 2.375rem;
	height: 2.375rem;
	border-radius: 0;
	justify-content: center;
	align-items: center;
	margin: .313rem;
}

#calendar-wrapper table th {
	width: 100%;
	display: flex;
}

#calendar-wrapper table thead tr:first-child th {
	width: 100%;
	justify-content: flex-start;
	height: 1.5rem;
}

#calendar-wrapper table thead tr:nth-child(2) {
	border-bottom: solid 1px black;
}

#calendar-wrapper table tbody tr:first-child {
	margin-top: .875rem;
}

#calendar-wrapper table td {
	display: inline-flex;
}

#calendar-wrapper table td .daynum {
	font-weight: bold;
}

#calendar-wrapper table td.extra {
	opacity: 0;
}

#calendar-wrapper table td.current {
	cursor: pointer;
	background: url('../img/vermietung/kalender/frei2.png');
}

#calendar-wrapper table td.ganztags {
	background: url('../img/vermietung/kalender/ganztags.png');
}

#calendar-wrapper table td.belegt {
	background: url('../img/vermietung/kalender/belegt.png');
}

#calendar-wrapper table td.vormittags {
	background: url('../img/vermietung/kalender/vormittags.png');
}

#calendar-wrapper table td.nachmittags {
	background: url('../img/vermietung/kalender/nachmittags.png');
}

#calendar-wrapper table td.anfrage {
	background: url('../img/vermietung/kalender/anfrage.png');
}

#calendar-wrapper table td[data-off].current {
	cursor: default;
	opacity: .5;
}
#calendar-wrapper table td.current.ganztags,
#calendar-wrapper table td.current.belegt{
	cursor: default;
}

.card {
	background-color: #e2f4fd;
	border-color: #e5e7eb;
	border-radius: .25rem;
	box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
}

.btn-bi {
	color: #009FE3;
	font-size: 2rem;
}

.page-content {
	max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.custom-control {
	position: relative;
	height: 2.375rem;
	padding-top: .375rem;
}

.custom-control>input {
	position: absolute;
	opacity: 0;
}

.custom-control>span:last-child {
	padding-left: 2rem;

}

.custom-control>span:last-child::before {
	content: '';
	position: absolute;
	width: 1.563rem;
	height: 1.563rem;
	border: solid 1px #475569;
	background-color: white;
	left: 0;
	top: .375rem;
}

.custom-control>input:focus~span:last-child::before {
	outline: 0;
	border-color: #86b7fe;
	box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}
.custom-control>input:checked~span:last-child::before {
	content: '\F26E';
	font-family: 'bootstrap-icons';
	font-size: 1.5rem;
	line-height: 1;
}

.btn-custom {
	color: white;
	background-color: #0369a1;
	border-color: #0369a1;
	border-radius: 0;
	font-size: .875rem;
	padding: 0.5rem 2rem;
}

.btn-custom:hover {
	color: white;
}

footer{
	font-size: .875rem;
	color: white;
}
footer a, footer a:active, footer a:visited{
	color: white;
	text-decoration: none;
}
footer a:hover{
	color: #7dd3fc;
}
footer nav>ul{
	list-style-type: none;
	padding: 0;
	margin: 0;
}
footer nav>ul>li{
	padding: 0 .5rem;
}
footer nav>ul>li>a{
	color: inherit;
}
footer>div:first-child{
	background-color: #003f5e;
}
footer>div:last-child{
	background-color: #002a3c;
}
footer .logo-white{
	color: white;
	max-width: 150px;
	height: auto;
}
footer .logo-colored{
	max-width: 150px;
	height: auto;
}

@media (min-width: 768px) {
	footer{
		font-size: 1rem;
	}
	footer .logo-white{
		max-width: 170px;
	}
	footer .logo-colored{
		max-width: 200px;
	}
}

.select2.error>span>span{
	border-color: red;
}
textarea.error,
input.error{
	border-color: red;
}

table.veranstaltungsraum{
}
table.veranstaltungsraum>thead>tr>td{
	background-color: #005ba6;
	color: white;
	font-weight: bold;
	font-size: .813rem;
	vertical-align: bottom;
}
table.veranstaltungsraum>thead>tr>td,
table.veranstaltungsraum>tbody>tr>td{
	padding: .25rem;
	font-size: .813rem;
}
table.veranstaltungsraum>tbody>tr>td:first-child{
	font-weight: bold;
	font-size: 1rem;
}

.popup-gallery>a{

}
.popup-gallery>div{
	padding-bottom: var(--bs-gutter-x);
}
.popup-gallery>div>a>img{
	max-width: 100%;
}

.bg-gray{
	background-color: #f1f5f9;
}

.standort a{
	color: #007eb2;
	text-decoration: none;
}
.standort .standort-text{
	background-color: white;
	font-size: 1.125rem;
}
.standort .standort-text>h2{
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 500;
	color: #007eb2;
	padding-bottom: 0;
	border: 0;
}
.standort>div>div{
	position: relative;
}

@media (min-width: 768px) {
	.standort .standort-text{
		transform: translate(-5rem, 5rem);
	}
	.standort .flex-row-reverse .standort-text{
		transform: translate(5rem, 5rem);
	}

}