:root {
	--bs-body-font-family:'Avenir';
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
body>.container {
    flex-grow: 1;
}

img {object-fit: cover;}

p:last-child {margin-bottom:0;}


.navbar-expand-lg .navbar-nav .dropdown-menu .dropdown-menu {
  right: -100%;
  top: 0;
}

.navbar-brand {
	background-image:url('images/logobaum.svg');
	background-size:contain;
	background-repeat:no-repeat;
	width:2rem;
	height:2rem;
}



.row>* {position:relative;}

.grid {
  display: grid;
  list-style-type:none;
  padding:0;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 2px;
  grid-auto-flow: dense;
}
.grid > * {position:relative;overflow:hidden;width: auto;}
.grid > *.grid-large {
    grid-column-end: span 2;
    grid-row-end: span 2;
}
.grid > *.grid-xlarge {
    grid-column-end: span 3;
    grid-row-end: span 3;
}
.grid > *.grid-wide {
    grid-column-end: span 2;
}
.grid > *.grid-xwide {
    grid-column-end: span 3;
}

.grid * img,
.fakegrid * img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.fakegrid {position:absolute;z-index:1;list-style-type:none;padding:0;margin:0;}
.fakegrid>* {position:absolute;transition:all 0.5s;}


.banner {
    position: relative;
}
.banner h1 {
    position: absolute;
    top: 0;
    z-index: 1;
    color: white;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

video.background {
	height: 100vh;
	position: fixed;
	top:0;
	left:0;
	z-index:-1;
	width: 100vw;
	object-fit: cover;
	max-width: auto;
}

footer {background:#ddd;margin-top:3rem;}


/*******************/
/*    float-fix.   */

.col::after,
.container::after,
.container-fluid::after {
    content: '';
    clear: both;
    display: block;
}

/*******************/




@media screen and (max-width: 767px) {

}