/* ==========================================================================
   General Spacing and Divider Line Rules
   ========================================================================== */
body:has(.ppuxtoppar:empty) .pageheader {
  padding: 0 0 60px 0;
}
.parsys:empty + *:not(:empty),
*:not(.parsys) + .parsys > :first-child:has(.cross-template-component:not([class*="--background-gray"])) {
  padding: 60px 0;
  border-top: solid 1px #ededed;
}
*:not(.parsys) + .parsys > :first-child:has(.cross-template-component:not([class*="--background-gray"])):only-child {
  padding: 60px 0 0 0;
}
.parsys:has(> :last-child [class*="--background-gray"]) + *:not(.parsys):has([class*="--background-gray"]) {
  border-top: solid 1px #ededed;
  margin-top: -1px;
}
.parsys:has(> :last-child [class*="--background-gray"]) + *:not(.parsys):has(.cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
}
/* ==========================================================================
   Component Specific Modifications
   ========================================================================== */
#frame_layer {
  /* If embedded component follows a parsys, where last child has no background, add space and divider line to top */
}
#frame_layer .pageheader + .ppuxtoppar:has(> :first-child .cross-template-component) {
  padding-top: 60px;
}
#frame_layer .pageheader + .ppuxtoppar:has( > :first-child:is(.seovalueaddedcontentcarousel)) {
  padding-top: 0;
}
#frame_layer .seovalueaddedcontentcarousel {
  padding-bottom: 0;
  border-top: 0;
}
#frame_layer .seovalueaddedcontentcarousel + *:has(.cross-template-component) {
  border-top: 0;
}
#frame_layer .parsys > *:has( .cross-template-component:not([class*="--background-gray"])) + .seovalueaddedcontentcarousel {
  padding-top: 0;
}
#frame_layer .ppuxtoppar > :only-child:has( .cross-template-component:not([class*="--background-gray"])) {
  padding: 60px 0;
}
#frame_layer .ppuxtoppar:empty + .productFiltering,
#frame_layer .ppuxtoppar:empty + .ppUX2020_filter_wrap {
  padding-top: 0;
  border-top: solid 1px #ededed;
}
#frame_layer .ppuxtoppar:empty + .productFiltering > :first-child,
#frame_layer .ppuxtoppar:empty + .ppUX2020_filter_wrap > :first-child {
  padding-top: 60px;
}
#frame_layer .ppuxtoppar:has(> :last-child [class*="--background-gray"]) + .productFiltering,
#frame_layer .ppuxtoppar:has(> :last-child [class*="--background-gray"]) + .ppUX2020_filter_wrap,
#frame_layer .ppuxtoppar:has(> :last-child [class*="--background-gray"]) + .productcards:has( .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
}
#frame_layer .ppuxtoppar:has( > :last-child .cross-template-component:not([class*="--background-gray"])) + .productFiltering,
#frame_layer .ppuxtoppar:has( > :last-child .cross-template-component:not([class*="--background-gray"])) + .ppUX2020_filter_wrap {
  padding-top: 60px;
  border-top: solid 1px #ededed;
}
#frame_layer .ppuxtoppar:has(> :last-child .cross-template-component) + .productFiltering .PF_productfiltering__title,
#frame_layer .ppuxtoppar:has(> :last-child .cross-template-component) + .ppUX2020_filter_wrap .PF_productfiltering__title {
  margin-top: 0;
}
#frame_layer .ppuxtoppar:has( > :last-child .cross-template-component:not([class*="--background-gray"]):is(.seoVacCarousel)) + .productFiltering {
  border-top: 0;
}
#frame_layer .parsys:has( > :last-child .cross-template-component:not([class*="--background-gray"])) + .productcards:has( .cross-template-component:not([class*="--background-gray"])),
#frame_layer .parsys:has( > :last-child .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinks:has( .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
  border-top: solid 1px #ededed;
}
#frame_layer > .productcards:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinksBanner:has( > :first-child .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
}
#frame_layer > .productcards:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinksBanner:has( > :first-child .cross-template-component:not([class*="--background-gray"])) > :first-child {
  border-top: solid 1px #ededed;
}
#frame_layer > .productcards:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinksBanner:has(> :first-child [class*="--background-gray"]),
#frame_layer > .productcards:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinksBanner:empty + .usefulRelatedLinks:has(.card) {
  margin-top: 60px;
}
#frame_layer > .productcards:has([class*="--background-gray"]) + .usefulRelatedLinksBanner:has(> :first-child [class*="--background-gray"]) {
  border-top: solid 1px #ededed;
  margin-top: -1px;
}
#frame_layer > .productcards:has([class*="--background-gray"]) + .usefulRelatedLinksBanner:has( > :first-child .cross-template-component:not([class*="--background-gray"])) > :first-child {
  border-top: 0;
}
#frame_layer > .productcards:has( .cross-template-component:not([class*="--background-gray"])) + .parsys > :first-child:has(.moodvideo__wrapper) {
  padding-top: 0;
}
#frame_layer .productFiltering:not(:empty) + .filteringPageVideo:empty + .advantagesCarousel:empty + .usefulRelatedLinksBanner:empty + .usefulRelatedLinks:has( .cross-template-component:not([class*="--background-gray"])) {
  margin-top: 60px;
}
#frame_layer .ppUX2020_filter_wrap:has( .productFiltering:not(:empty)) + .filteringPageVideo:empty + .advantagesCarousel:has(.advantagesslide) {
  margin-top: 60px;
}
#frame_layer .usefulRelatedLinks + .mbBannerTeaser:not(:empty),
#frame_layer .mbBannerTeaser + .ppUX2020_service_wrap {
  padding-top: 60px;
  margin-top: 60px;
  border-top: solid 1px #ededed;
}
#frame_layer .matchingBlockTable:empty + .ppUX2020_service_wrap:has(.showcaseWrapper) {
  padding-top: 60px;
}
#frame_layer .mbBannerTeaser + .ppUX2020_service_wrap:has(.experiencefragment) {
  margin-top: 0;
  border-top: 0;
}
#frame_layer .teaser-banner-item {
  margin: 0;
  padding: 0;
}
#frame_layer .mbSeparator,
#frame_layer .text:has( :only-child:is([data-emptytext="Text"])) {
  display: none;
}
#frame_layer .usefulRelatedLinks:has( .cross-template-component:not([class*="--background-gray"])) + .matchingBlock:empty + .matchingBlockTable:not(:empty) + .ppUX2020_service_wrap:has(.showcaseWrapper) {
  padding-top: 0;
}
#frame_layer .serviceintropar {
  padding: 0;
}
#frame_layer .mb_gridLayout:is(.matching_block_wrapper) {
  margin: 0;
}
#frame_layer .filteringPageVideo:empty + .advantagesCarousel:has([class*="--background-gray"]) {
  padding-top: 0;
  border-top: 0;
}
#frame_layer .filteringPageVideo:has(> :first-child .cross-template-component) {
  padding-top: 60px;
}
#frame_layer .filteringPageVideo:has( .cross-template-component:not([class*="--background-gray"])) + .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
}
#frame_layer .filteringPageVideo:has( .cross-template-component:not([class*="--background-gray"])) + .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) .cross-template-component {
  padding-top: 60px;
  border-top: solid 1px #ededed;
}
#frame_layer .filteringPageVideo:has( > :last-child:is(.moodvideo)) + .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 0;
}
#frame_layer .filteringPageVideo:has( > :last-child:is(.moodvideo)) + .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) .cross-template-component {
  padding-top: 0;
  border-top: 0;
}
#frame_layer .advantagesCarousel:has([class*="--background-gray"]) + .usefulRelatedLinksBanner:empty + .usefulrelatedlinks {
  padding-top: 0;
  border-top: 0;
}
#frame_layer .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinks:has( .cross-template-component:not([class*="--background-gray"])) {
  padding-top: 60px;
  border-top: solid 1px #ededed;
}
#frame_layer .filteringPageVideo:not(:empty) + .advantagesCarousel:has( .cross-template-component:not([class*="--background-gray"])) + .usefulRelatedLinks:has( .cross-template-component:not([class*="--background-gray"])) {
  margin-top: 60px;
}
#frame_layer > .faq:has( .cross-template-component:not([class*="--background-gray"])) + .parsys:has(> :first-child [class*="--background-gray"]) {
  padding-top: 60px;
}
#frame_layer *:empty + .seolist:has(.item) {
  padding-top: 60px;
  border-top: 0;
}
#frame_layer *:empty + .seolist:has(link:only-child) {
  padding-top: 0;
  border-top: 0;
}
body:has(.usefulRelatedLinks:not(:empty) + .mbBannerTeaser:empty + .ppUX2020_service_wrap .experiencefragment) .usefulRelatedLinks {
  padding-bottom: 0;
}
/* ==========================================================================
   Inherited Service Content Modifications
   ========================================================================== */
.serviceintropar .experiencefragment + *:not(.parsys) {
  padding-top: 60px;
}
.ppUX2020_service_wrap:has(.service-value-box):has(.posofferingsleftpar:empty):has(.posofferingsrightpar:empty):has(.serviceseopar:empty, .serviceseopar .introtext:empty) + .simplefaq:has(.simple-faq_item) {
  padding: 60px 0 0 0;
  border-top: solid 1px #ededed;
}
.serviceTable:has(.posofferingsleftpar:empty):has(.posofferingsrightpar:empty) {
  display: none;
}
.ppUX2020_service_wrap:has(.servicevaluespar:empty):has(.posofferingsleftpar:empty):has(.posofferingsrightpar:empty):has(.serviceseopar:empty, .serviceseopar .introtext:empty) + .simplefaq:has(.simple-faq_item) {
  padding-top: 60px;
}
.servicevalueboxes:has(.iconsGrid__card) + *:not(.parsys) {
  padding-top: 60px;
}
.ppUX2020_service_wrap-intro-text:has(.showcaseWrapper) + .ppUX2020_service_wrap-values:has(.iconsGrid__card) {
  padding-top: 0;
  border-top: 0;
}
