html {
	scroll-behavior: smooth;
}

/***************************
* bootstrap missing styles *
***************************/
/*
.row {
    display: flex;
    flex-wrap: wrap;
}

.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }

.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }

.d-none { display: none; }
.d-flex { display: flex; }
.justify-content-center { justify-content: center; }
.justify-content-around { justify-content: space-around; }
.justify-content-between { justify-content: space-between; }
.flex-direction-row { flex-direction: row; }
.flex-direction-column { flex-direction: column; }
*/

/* margins */
.m-0 { margin: 0; }
.m-1 { margin: 1em; }
.m-2 { margin: 2em; }
.m-3 { margin: 3em; }
.m-4 { margin: 4em; }
.m-5 { margin: 5em; }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 1em; }
.mt-2 { margin-top: 2em; }
.mt-3 { margin-top: 3em; }
.mt-4 { margin-top: 4em; }
.mt-5 { margin-top: 5em; }

.mr-0,
.me-0 { margin-right: 0; }
.mr-1,
.me-1 { margin-right: 0.5em; }
.mr-2,
.me-2 { margin-right: 2em; }
.mr-3,
.me-3 { margin-right: 3em; }
.mr-4,
.me-4 { margin-right: 4em; }
.mr-5,
.me-5 { margin-right: 5em; }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 1em; }
.mb-2 { margin-bottom: 2em; }
.mb-3 { margin-bottom: 3em; }
.mb-4 { margin-bottom: 4em; }
.mb-5 { margin-bottom: 5em; }

.ml-0,
.ms-0 { margin-left: 0; }
.ml-1,
.ms-1 { margin-left: 1em; }
.ml-2,
.ms-2 { margin-left: 2em; }
.ml-3,
.ms-3 { margin-left: 3em; }
.ml-4,
.ms-4 { margin-left: 4em; }
.ml-5,
.ms-5 { margin-left: 5em; }

.mx-0 { margin-left: 0; margin-right: 0; }
.mx-1 { margin-left: 1em; margin-right: 1em; }
.mx-2 { margin-left: 2em; margin-right: 2em; }
.mx-3 { margin-left: 3em; margin-right: 3em; }
.mx-4 { margin-left: 4em; margin-right: 4em; }
.mx-5 { margin-left: 5em; margin-right: 5em; }

.my-0 { margin-top: 0; margin-bottom: 0; }
.my-1 { margin-top: 1em; margin-bottom: 1em; }
.my-2 { margin-top: 2em; margin-bottom: 2em; }
.my-3 { margin-top: 3em; margin-bottom: 3em; }
.my-4 { margin-top: 4em; margin-bottom: 4em; }
.my-5 { margin-top: 5em; margin-bottom: 5em; }

/* paddings */
.p-0 { padding: 0em; }
.p-1 { padding: 1em; }
.p-2 { padding: 2em; }
.p-3 { padding: 3em; }
.p-4 { padding: 4em; }
.p-5 { padding: 5em; }

.pt-0 { padding-top: 0; }
.pt-1 { padding-top: 1em; }
.pt-2 { padding-top: 2em; }
.pt-3 { padding-top: 3em; }
.pt-4 { padding-top: 4em; }
.pt-5 { padding-top: 5em; }

.pr-0,
.pe-0 { padding-right: 0; }
.pr-1,
.pe-1 { padding-right: 1em; }
.pr-2,
.pe-2 { padding-right: 2em; }
.pr-3,
.pe-3 { padding-right: 3em; }
.pr-4,
.pe-4 { padding-right: 4em; }
.pr-5,
.pe-5 { padding-right: 5em; }

.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: 1em; }
.pb-2 { padding-bottom: 2em; }
.pb-3 { padding-bottom: 3em; }
.pb-4 { padding-bottom: 4em; }
.pb-5 { padding-bottom: 5em; }

.pl-0,
.ps-0 { padding-left: 0; }
.pl-1,
.ps-1 { padding-left: 1em; }
.pl-2,
.ps-2 { padding-left: 2em; }
.pl-3,
.ps-3 { padding-left: 3em; }
.pl-4,
.ps-4 { padding-left: 4em; }
.pl-5,
.ps-5 { padding-left: 5em; }

.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: 1em; padding-right: 1em; }
.px-2 { padding-left: 2em; padding-right: 2em; }
.px-3 { padding-left: 3em; padding-right: 3em; }
.px-4 { padding-left: 4em; padding-right: 4em; }
.px-5 { padding-left: 5em; padding-right: 5em; }

.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: 1em; padding-bottom: 1em; }
.py-2 { padding-top: 2em; padding-bottom: 2em; }
.py-3 { padding-top: 3em; padding-bottom: 3em; }
.py-4 { padding-top: 4em; padding-bottom: 4em; }
.py-5 { padding-top: 5em; padding-bottom: 5em; }


/* font-size 
.fs-24 { font-size: 24px; }
.fs-28 { font-size: 28px; }
.fs-32 { font-size: 32px; }
.fs-36 { font-size: 36px; }
[class*="fs-"] { line-height: 1.5;; }

.display-1 {
    font-size: 48px;
}
.display-2 {
    font-size: 42px;
}
.display-3 {
    font-size: 36px;
}
.display-4 {
    font-size: 32px;
}
.display-5 {
    font-size: 28px;
}
[class*="display-"] {
    padding: 0.5em 0;
    font-style: italic;
    line-height: 1;
}
*/

/* text color 
.text-white {
    color: #fff;
}
.text-primary {
	color: #3167db;
}

.text-center {
	text-align: center;
}
*/
.bold {
    font-weight: bold;
    color: #000;;
}

/* card 
.card {
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
    overflow: hidden;
}
.card .card-body {
    padding: 24px;
}
.card img.card-img-top {
	width: 100%;
}
.card .card-title {
    font-size: 28px;
}
.card .card-subtitle {
	font-size: 18px;
	margin-top: 0;
	color: #1d71f7;
}
.card .card-text {

}
*/
/****************************
* !bootstrap missing styles *
****************************/



#datenschutz h6 {
    margin-top: 1em;
}





/*
.swiper-bg {
	position:absolute;
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center;
	background-repeat: no-repeat;
	animation: kenburns 15s infinite;
}
*/
/*
.swiper-slide {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
.swiper-slide img {
    position: absolute;
    width: 100%;

    animation: move 6s ease infinite;
    -ms-animation: move 6s ease infinite;
    -webkit-animation: move 6s ease infinite;
    -moz-animation: move 6s ease infinite;   
}
*/

.swiper-slide {
    overflow: hidden;
}
.swiper-slide > img {
    display: none;
    /*
    width: 100%;
    */
    height: 100%;
    aspect-ratio: 1700 / 605; 
}
.swiper-slide-caption {
    position: absolute;
}
.swiper-slide-active {
    
}
.swiper-slide-active > img {
    display: block;
    position: absolute;
    object-fit: cover;
}

.kenburns {
    animation: kenburns 20s ease-in infinite;
    -ms-animation: kenburns 20s ease-in infinite;
    -webkit-animation: kenburns 20s ease-in infinite;
    -moz-animation: kenburns 20s ease-in infinite;
}
.kenburns-top-left {
    animation: kenburns_top_left 12s ease-in infinite;
    -ms-animation: kenburns_top_left 12s ease-in infinite;
    -webkit-animation: kenburns_top_left 12s ease-in infinite;
    -moz-animation: kenburns_top_left 12s ease-in infinite;   
}
.kenburns-top-right {
    animation: kenburns_top_right 12s ease-in infinite;
    -ms-animation: kenburns_top_right 12s ease-in infinite;
    -webkit-animation: kenburns_top_right 12s ease-in infinite;
    -moz-animation: kenburns_top_right 12s ease-in infinite;   
}
.kenburns-bottom-left {
    animation: kenburns_bottom_left 12s ease-in infinite;
    -ms-animation: kenburns_bottom_left 12s ease-in infinite;
    -webkit-animation: kenburns_bottom_left 12s ease-in infinite;
    -moz-animation: kenburns_bottom_left 12s ease-in infinite;   
}
.kenburns-bottom-right {
    animation: kenburns_bottom_right 12s ease-in infinite;
    -ms-animation: kenburns_bottom_right 12s ease-in infinite;
    -webkit-animation: kenburns_bottom_right 12s ease-in infinite;
    -moz-animation: kenburns_bottom_right 12s ease-in infinite;   
}
  
@keyframes kenburns {
	0%, 100% {
        transform: scale(1) translate(0, 0);
	}
	50% {
        transform: scale(1.1) translate(0, 0);
	}
}
@keyframes kenburns_top_left {
	0%, 100% {
        transform: scale(1.1) translate(0, 0);
        /* transform-origin: top left; */
	}
	50% {
        transform: scale(1);
	}
}
@keyframes kenburns_top_right {
	0%, 100% {
        transform: scale(1.1) translate(0, 0);
        transform-origin: top right;
	}
	50% {
        transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburns_bottom_left {
	0%, 100% {
        transform: scale(1.1) translate(0, 0);
        transform-origin: bottom left;
	}
	50% {
        transform: scale(1) translate(0, 0);
	}
}
@keyframes kenburns_bottom_right {
	0%, 100% {
        transform: scale(1.1) translate(0, 0);
        transform-origin: bottom right;
	}
	50% {
        transform: scale(1) translate(0, 0);
	}
}

@-webkit-keyframes move {
    0% {
        -webkit-transform-origin: bottom left;
        -moz-transform-origin: bottom left;
        -ms-transform-origin: bottom left;
        -o-transform-origin: bottom left;
        transform-origin: bottom left;
        transform: scale(1);
        -ms-transform: scale(1);
        /* IE 9 */
        -webkit-transform: scale(1);
        /* Safari and Chrome */
        -o-transform: scale(1);
        /* Opera */
        -moz-transform: scale(1);
        /* Firefox */
    }
    50% {
        transform: scale(1.2);
        -ms-transform: scale(1.2);
        /* IE 9 */
        -webkit-transform: scale(1.2);
        /* Safari and Chrome */
        -o-transform: scale(1.2);
        /* Opera */
        -moz-transform: scale(1.2);
        /* Firefox */
    }
    100% {
        transform: scale(1);
        -ms-transform: scale(1);
        /* IE 9 */
        -webkit-transform: scale(1);
        /* Safari and Chrome */
        -o-transform: scale(1);
        /* Opera */
        -moz-transform: scale(1.8);
        /* Firefox */
    }
}


.pb-100 {
    padding-bottom: 100px;
}
.pb-80 {
    padding-bottom: 80px;
}

.bg-gray-100 .slick-project-caption,
.bg-gray-200 .slick-project-caption {
        background: #fff !important;
}


.text-dark {
    color: #000;
}
.context-dark .card .card-body {
    color: rgba(255, 255, 255, 0.66);
}



.cta-modern-text {
    padding-left: 0;
    text-indent: 0;
}



.alert {
    border: 2px solid #0006;
    padding: 1em;
    color: #000c;
    background-color: #0001;
}
.alert-success {
    border-color: #090 !important;
    color: #090;
    background-color: #0903;
}
.alert-error {
    border-color: #f00 !important;
    color: #f00;
    background-color: #f003;
}


footer p.rights a {
	color:#fff;
}


.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }


.marquee {
    /*
    width: 100%;
    line-height: 50px;
    background-color: red;
    color: white;
    box-sizing: border-box;
    */
    padding: 1em 0;
    white-space: nowrap;
    overflow: hidden;
}
.marquee p {
    display: inline-block;
    padding-left: 100%;
    animation: marquee-right-to-left 15s linear infinite;
}
@keyframes marquee-right-to-left {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(-100%, 0); }
}
@keyframes marquee-left-to-right {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(100%, 0); }
}
@keyframes marquee-bottom-to-top {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(0, -100%); }
}
@keyframes marquee-top-to-bottom {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(0, 100%); }
}


[class*="column-count-"] {
    text-align: justify;
    hyphens: auto;
    column-gap: 5em;
    column-rule: 1px solid #fff4;
}
@media (max-width: 767px) {
    .column-count-2 {
        column-count: 1;
    }
    .column-count-3 {
        column-count: 1;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .column-count-2 {
        column-count: 2;
    }
    .column-count-3 {
        column-count: 2;
    }
}
@media (min-width: 992px) {
    .column-count-2 {
        column-count: 2;
    }
    .column-count-3 {
        column-count: 3;
    }
}


.breadcrumbs-custom-title {
    /* text-shadow: 1px 1px 10px #0003, 1px 1px 2px #0003; */
    color: #0c54a0 !important;
    text-shadow: 1px 1px 10px #fffc, 1px 1px 2px #fff9;
}

