/* pt-sans-caption-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans Caption';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/pt-sans-caption-v19-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--primarycolor: #143D68;
	--secondarycolor: #DFE0D9;

	--buttoncolor: #BFD2F0;

	--bs-body-font-family: 'PT Sans Caption';
	--bs-body-font-size: 17px;
    --bs-body-font-weight: 700;
    --bs-body-line-height: 1.5;
    --bs-body-color: var(--primarycolor);
	--bs-border-radius:2rem;

}

body {
}

body::before {
	content:'';
	display:none;
	position:absolute;
	height:3310px;
	inset:0;
	background:url(images/HM3um4.jpg);
	background-size: 1194px auto;
	background-position:center top;
	z-index:1200;
	background-repeat:no-repeat;
	opacity:0.3;
}

a {text-decoration:none;color:var(--bs-body-color);}

h1,h2 {font-size:40px;}
h1 {
    text-transform: uppercase;
    letter-spacing: 0.17rem;
    line-height: 1.3;
	
}

h2 {
    text-transform: uppercase;
    letter-spacing: .23rem;
    line-height: 1.36;
	margin-bottom:1rem;
}

.no_breadcrump h2 {margin-bottom: 2.8rem;}

h3 {
	text-transform: uppercase;
	font-size: 23px;
    line-height: 1.24;
	letter-spacing: 0.1rem;
}

h6 {font-size:12px;display:none;}

.btn-primary {
    --bs-btn-color: var(--primarycolor);
    --bs-btn-bg: var(--buttoncolor);
    --bs-btn-border-color: var(--buttoncolor);
    --bs-btn-hover-color: white;
    --bs-btn-hover-bg: var(--primarycolor);
    --bs-btn-hover-border-color: white;
    --bs-btn-focus-shadow-rgb: 255,255,255;
    --bs-btn-active-color: white;
    --bs-btn-active-bg: white;
    --bs-btn-active-border-color: white;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: white;
    --bs-btn-disabled-bg: white;
    --bs-btn-disabled-border-color: white;
}
.btn {
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: 0.75rem;
    letter-spacing: 0.03rem;
}

.large-margin {
    margin: 6.5rem 19%;
}
.large-margin+.large-margin {
    margin-top: -1.7rem;
}

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

.startbox.media {
    align-items: stretch;
}
.startbox.media figure img {
    height: 100%;
    object-fit: cover;
}

.startbox.media figure::before {
    content: '';
    background: url(/files/public/images/fisel-icon.svg);
    height: 23%;
    width: 28%;
    position: absolute;
    bottom: 11%;
    background-size: contain;
    left: 6%;
    opacity: 0.75;
    background-repeat: no-repeat;
    transition:opacity 5s;
}

.startbox.media.fadeout-icon figure::before {opacity:0;}

.startbox.media .rte {padding: 0!important;}

@media screen and (min-width: 769px) {

.startbox.media figure {
    position: relative;
    overflow: hidden;
    width: 50%;
}

.startbox.media .rte {
    display: flex;
    flex-direction: column;
    width: 34.7%;
    flex-grow: 1;
    justify-content: flex-end;
}
	.startbox .rte :last-child {height: 39.4%;}
}
@media screen and (min-width: 1099px) {
	.startbox.media figure {width:65.3%;}
}


.startbox .rte > * {
    margin: 0;
}



.startbox .rte h1 {
    margin: 0 20% 3.4rem 2.4rem;

    /*display: flex;
    flex-direction: column;
    justify-content: flex-end;*/
}
.startbox .rte h3 {
    margin: 0;
    padding: 1rem 2.4rem 2.4rem;
    background: var(--primarycolor);
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/**************************************************/

.h1-anim h1 {
    position: relative;
	transition:opacity 1s;
}
.h1-anim:not(.begin) h1 {opacity:0;}

.h1-anim h1 span {
	transition:opacity 4s;
}
.h1-anim h1 span:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.h1-anim.show h1 span:nth-child(1) {opacity:0;}
.h1-anim.show h1 span:nth-child(2) {opacity:1;}

.mehr p {
    margin: 0;
    line-height: .6;
    letter-spacing: 0.05rem;
}
.mehr h2 {
    margin: 0;
    line-height: .8;
}

.no_breadcrumb .mod_breadcrumb {display:none;}

.mod_breadcrumb {
    position: absolute;
    margin: 3.5rem 2rem;
	z-index: 1;
}
.breadcrumb {
	--bs-breadcrumb-divider:'>';
	--bs-breadcrumb-divider-color:var(--primarycolor);
	--bs-breadcrumb-item-active-color:var(--primarycolor);
}
.breadcrumb-item:first-child,
:first-child+.breadcrumb-item::before {
    display: none;
}

@media screen and (min-width: 769px) {
	
	.media.rte_borderbottom .rte {padding-top:5.5rem;}
	
.rte_borderbottom .rte::after {
    content: '';
    position: absolute;
    background: var(--secondarycolor);
    width: 100%;
    height: 21%;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.media.rte_borderbottom {
	align-items: flex-start;
	}
.rte-w-66 .rte {
    width: 66%;
}
}

.background-primarycolor {background: var(--primarycolor);color:white;}
.background-secondarycolor {background: var(--secondarycolor);}


.background-image {
    background: url(/files/public/images/riedlingen_blass.jpg);
    background-size: cover;
	color:white;
}


.scroll-list ul {
    list-style: none;
    padding: 13% 18.5%;
    background: var(--primarycolor);
    margin-right: 3rem;
	margin-bottom:0;
    overflow: auto;
    height: 24rem;
    color: white;
}
.scroll-list li {
    margin-bottom: 1.5rem;
}

.scroll-list .wrapper {
	position:relative;
}


.slidernavi {
    position: absolute;
    left: 50%;
    transform: rotate(90deg);
}
.scroll-list .slidernavi {
    right: 0;
    top: 50%;
	left:auto;
	transform:none;
}
.slidernavi button {
    border: 0;
    background: url(/files/public/images/tiny-arrow.svg);
    height: 1rem;
    width: 1.4rem;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 0;
    background-position: center;
    position: absolute;
	right: 0.7rem;
    top: 50%;
    transform: translateY(calc(-50% - 1rem));
}

.slidernavi button:last-child {
    transform: rotate(180deg) translateY(calc(50% - 1rem));
}

.slidernavi::after {
    content: '';
    background: url(/files/public/images/tiny-line.svg);
    position: absolute;
    top: 50%;
    height: 0.25rem;
    right: 1.4rem;
    width: 1.2rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(50%,-50%);
}



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


.navbar {
	--bs-navbar-color:var(--primarycolor);
	--bs-navbar-hover-color:white;
	--bs-navbar-toggler-focus-width:0;
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23143D68' stroke-width='2' d='M1 6h28M1 16h28M1 25h28'/%3e%3c/svg%3e");
}

.no_breadcrumb .navbar {
	margin-bottom: 1.6rem;
}

.navbar-brand {
    margin: 0.1rem 1.8rem 1.3rem;
}


.no_breadcrumb .navbar-brand {
    width: 7.5rem;
    padding: 0;
    margin: 0rem 1.8rem -2rem;
}
@media screen and (min-width: 1099px) {

.no_breadcrumb .navbar-brand {
    width: 12.5rem;
    padding: 0;
    margin: 1.1rem 1.8rem -4rem;
}
}



.navbar-brand img {
    width: 100%;
}

.phone {
    text-align: right;
    margin-right: 1.35rem;
    margin-left: auto;
    font-size: 1.4rem;
    letter-spacing: 0.153rem;
    margin-top: 0.84rem;
    line-height: 1.4;
}

.navbar-toggler {
    margin-right: 2.76rem;
    border: 0;
    background: var(--buttoncolor);
    border-radius: 0;
    padding: .8rem .58rem;
}
.navbar-toggler-icon {
    width: 2.35rem;
    height: 1.5em;
}

.offcanvas {
	--bs-offcanvas-height:100vh;
    display: flex;
	background: var(--secondarycolor);
}

.offcanvas a:hover {color:white;}

.offcanvas-header {
	justify-content: flex-end;
    padding: 2.3rem 4.3rem 0;
}

.offcanvas-header .btn-close {
	--bs-btn-close-focus-shadow:0;
	--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23143D68'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
	opacity:1;
	
    padding: 0;
    margin: 0;
    width: 1.8rem;
    height: 1.8rem;
    background-size: 100%;
}
.offcanvas-body {
    padding: 0.6rem 6.4rem 3.4rem 4.8rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}



.navbar-nav {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}


.nav-link {
    font-size: 1.45rem;
	letter-spacing: 0.08rem;
    text-transform: uppercase;
}
.nav-item {
}
.nav-item:first-child {
    width: 100%;
	margin-bottom: 3.7rem;
}

.nav-item:nth-child(n+2) .nav-link::before {
    content: '';
    height: 7.9rem;
    width: 8.3rem;
    background-size: 100%;
    border-radius: 50%;
    display: block;
    margin-bottom: 1.3rem;
    margin-left: -0.5rem;
}
.nav-item:nth-child(2) .nav-link::before {background-image: url(images/menu-trauerfall.jpg);}
.nav-item:nth-child(3) .nav-link::before {background-image: url(images/menu-trauerfeier.jpg);}
.nav-item:nth-child(4) .nav-link::before {background-image: url(images/menu-vorsorge.jpg);}
.nav-item:nth-child(5) .nav-link::before {background-image: url(images/menu-ratgeber.jpg);}


.dropdown-menu {
    display: block;
	background:transparent;
    border: 0;
	--bs-dropdown-item-padding-x:0;
    --bs-dropdown-item-padding-y: 0.3rem;
    --bs-dropdown-padding-y: 0.8rem;
	--bs-dropdown-link-hover-bg:transparent;
	--bs-dropdown-link-hover-color:white;
	--bs-dropdown-link-active-bg: transparent;
	font-size: 1.05rem;
}
/**************************************************/

.menu-footer .rte {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    letter-spacing: 0.04rem;
}
.menu-footer .rte p:first-child img {
    width: 8.6rem;
    height: auto;
    margin-bottom: -0.3rem;
}
.menu-footer p:last-child {
    margin-bottom: 1.1rem;
}
.menu-footer p {
    margin: 0 0.6rem 0 0;
}
.menu-footer p:last-child img {
    margin-right: 0.3rem;
}


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

.media {position:relative;}
.media figure {position:relative;z-index:2;}

figure {
    margin: 0;
}
figure img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 769px) {

.media {
    display: flex;
    align-items: center;
    /*justify-content: stretch;*/
}
.media .rte {
    width: 50%;
}
.media figure {
    width: 50%;
    margin: 0;
}
.media--right figure {
    order: 2;
}



.media--left .rte {
    padding: 0 6% 0 6%;
}
.media--right .rte {
    padding: 0 10% 0 0;
}
.media--above {
    flex-direction: column;
    align-items: center;
}
.media--above figure {
    width: 100%;
}
.media--above .rte {
    width: 64%;
}
	
}
/**************************************************/

.invisible {
    display: none;
}

.form-check-input:checked {
    background-color: var(--primarycolor);
    border-color:  var(--primarycolor);
}

.widget-submit .btn.btn-primary {
    background-color: var(--primarycolor);
    border-color:  var(--primarycolor);
	color:white;
}
.widget-submit .btn.btn-primary:hover {
    background-color: white;
    border-color:  var(--primarycolor);
	color:var(--primarycolor);
}

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

.carousel-inner {
    padding: 0;
	margin:0;
    list-style: none;
}
.carousel-control-prev {
    left: -15%;
}
.carousel-control-next {
    right: -15%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: url(/files/public/images/arrow.svg);
    width: 2.5rem;
    height: 2.5rem;
}

.carousel-control-prev-icon {
    transform:rotate(180deg);
}

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

.slider .wrapper {
	position:relative;
	overflow-x:auto;
}
.slider ul {
	display:flex;
	list-style:none;
	padding:0;
}
.slider li {
	width:50%;
	flex-shrink:0;
	padding:0 2rem;
}

.slider li:first-child {margin-left:25%;}
.slider li:last-child {padding-right:calc(25% + 2rem)!important;width:75%;}


.slider h2 {
    text-align: center;
    margin-bottom: 4rem;
}

.slider figure {
    padding: 13% 12%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.slider figure figcaption {
    order: 3;
    padding: 0 10%;
    text-align: center;
}

.slider figure img {
    order: 2;
    margin: 1.4rem 0 2rem;
    object-fit: cover;
    width: 100%;
    aspect-ratio: 2;
}
.slider figure h3 {
    order: 1;
}

.content-text.slider .wrapper {
    padding: 4rem 0;
}
.content-text.slider li {
    padding: 0 1.5rem;
}
.slider li span {
    display: flex;
	text-align:center;
    border: 1px solid var(--primarycolor);
    text-transform: uppercase;
    font-size: 23px;
    letter-spacing: 0.1rem;
    width: 100%;
    flex-direction: column;
    height: 7.5rem;
    justify-content: center;
    padding: 0 1rem;
}


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

a[href="#top"] {
    position: fixed;
    background: var(--primarycolor);
    height: 3rem;
    width: 3rem;
    right: -4rem;
    bottom: 1rem;
    border-radius: 50%;
    transition: right 1s;
    z-index: 1111;
    cursor: pointer;
}

a[href="#top"]::before {
    content: '';
    border-style: solid;
    border-color: transparent transparent white transparent;
    border-width: 1rem 0.7rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -6%);
}

.scrolled a[href="#top"] {
    right: 1rem;
}



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

@media screen and (min-width: 769px) {
	footer .rte {
    display: flex;
    justify-content: space-between;
    padding: 3rem 8.6% 2rem 10.7%;
    line-height: 1.37;
	}
footer .rte p:first-child img {
    width: 10.7rem;
    height: auto;
    margin: 0.13rem 1rem 0 0.13rem;
}
footer p:nth-child(2) {
    margin-top: 0.15rem;
    margin-left: auto;
    margin-right: 2rem;
}
footer p:nth-child(3) {
    margin-right: 6.6%;
    margin-left: auto;
    line-height: 1.4;
}
footer p:last-child {
    line-height: 1;
}
		}
/**************************************************/

@media screen and (min-width: 992px) {

.mt-lg-n5 {margin-top:-3rem;}
.ps-lg-5 {padding-left: 2.5rem!important;}
	
}
@media screen and (max-width: 991px) {

	.startbox .rte h1 {margin: 3rem;}
	.media.rte_borderbottom:not(.startbox) .rte {padding: 5.5rem 3rem 3rem 2.4rem!important;}
	
	
	.media--above:not(.startbox) .rte,
	.media--right:not(.startbox) .rte,
	.media--left:not(.startbox) .rte {padding:3rem!important;margin:0 auto;}

	.rte_borderbottom img {
    object-fit: cover;
    aspect-ratio: 0.8;
}
	
	.slider li span {height:15.5rem;}
	
	.large-margin {
    margin: 3.5rem 12%;
}
		h1,h2 {font-size:30px;}

}

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

	.media.rte_borderbottom:not(.startbox) .rte {padding: 3rem!important;}

	.rte_borderbottom img {aspect-ratio: auto;}
	
	.navbar-brand {margin: 5rem auto 0rem auto;width: 12.5rem;}

	.no_breadcrumb .navbar-brand {
    width: 12.5rem;
    padding: 0;
    margin: 5rem auto 0rem;
}
	
	.phone {
    position: absolute;
    top: 0;
    margin: 0.1rem;
    padding: 0;
    line-height: 1.2;
}
	.navbar-toggler {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
}
	.offcanvas-body {
    padding: 1rem;
    flex-direction: column;
    align-items: center;
	}
	.navbar-nav {
    flex-direction: column;
    justify-content: center;
}
	.mod_breadcrumb {position:static;}
	
	.nav-item:last-child .nav-link::before {display:none;}
	
	.menu-footer .rte {
    flex-direction: column;
    align-items: center;
}
	.menu-footer .rte > * {
    margin: 2rem 0 0;
}
	/*.startbox.media .rte {padding-top:2rem!important;}*/
	
	/*.startbox .rte :last-child {padding-top: 2rem;}*/
	
	
	.scroll-list ul {margin:0;padding:10%;height:auto;overflow:visible;}
	
	.slider li {padding: 0 1rem;}
	.slider figure {padding: 13% 0%;}
	
	/*.mod_article .rte {padding: 1rem;}*/
	footer .rte {
    padding: 2rem 0;
    text-align: center;
}
	footer a {white-space:nowrap;}
}