/* Content sections: .d-section-general wrappers, .section-wrap, titles,
   sub-titles, breadcrumbs, paragraphs, lists, terms-of-use, link-read-more, etc.
   Split out of main.css 2026-05-21. */

/* Content Sections */
.d-section-general {
    padding: 30px 15px;
}
.d-section-general .section-wrap {
    max-width: 875px;
    margin: 0 auto;
    margin-left: 7vw;
}
@media screen and (max-width: 1450px) {
    .d-section-general .section-wrap {
        margin-left: auto;
    }
}
.d-section-general .section-wrap > *:last-child {
    margin-bottom: 0;
}
.d-section-general.darker {
    background-color: #f8f8f8;
}
.d-section-general.bottom-navi {
    background-color: #F1EEE5;
}
.highlighted,
.text-turquoise {
    color: #127749 !important;
}
.d-section-general .breadcrumbs {
    font-size: 15px;
    font-weight: 500;
    color: #785813;
    margin-bottom: 13px;
}
.d-section-general .breadcrumbs span {
    color: #147749;
}
.d-section-general .title {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 15px;
    margin-top: 0;
    text-align: left;
    color: #354649;
}
.d-section-general .sub-title {
    font-size: 28px;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: left;
}
.d-section-general p {
    font-size: 18px;
    margin: 0 0 10px;
    line-height: 1.4;
    text-align: justify;
}
/* Inherit body colour (#394b4e). The previous explicit `color: #6B6B6B` was
   making content text look noticeably dimmer than the prod site, which uses
   the body default. */
.d-section-general .img-flex {
    display: flex;
    margin: 30px -10px 30px;
}
.d-section-general .img-flex .img-wrap {
    max-height: 300px;
    border-radius: 7px;
    flex: 1;
    margin: 0 10px;
    overflow: hidden;
}
.d-section-general .img-flex .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.d-section-general .section-wrap > div:last-child.img-flex {
    margin-bottom: 0;
}

/* Inline links inside content paragraphs and lists — green underlined,
   bold weight, matches prod styling. */
.d-section-general p a,
.d-section-general li a {
    font-weight: 600;
    color: #127749;
    text-decoration: underline;
}
.d-section-general p a:hover,
.d-section-general li a:hover {
    color: #000;
}
/* Bold inside an inline link picks up the link colour. */
.d-section-general p a strong, .d-section-general p a b,
.d-section-general li a strong, .d-section-general li a b {
    color: #127749 !important;
}

/* Sub-sub-title (h3) inside a content section. Olive-brown color and a 2px
   underline implemented via :before (matches prod). The :before positions
   itself just below the text baseline. */
.d-section-general .sub-sub-title {
    font-size: 20px;
    font-weight: 500;
    color: #785712;
    position: relative;
    margin-top: 0;
    margin-bottom: 25px;
    text-align: left;
    display: inline-block;
}
.d-section-general .sub-sub-title:not(:first-child) {
    padding-top: 10px;
}
.d-section-general .sub-sub-title:before {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    right: 0;
    max-width: 100%;
    height: 2px;
    background-color: #785712;
}

/* Inhaltsverzeichnis-widget (table-of-contents overlay on a hero image).
   The list of links is absolutely positioned over the image. Matches the
   layout used on privacy-management-group.com. */
.d-section-general .info-wrap {
    position: relative;
}
.d-section-general .info-wrap .info-wrap__pic {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    min-height: 150px;
    background-color: #49585b;
}
.d-section-general .info-wrap .info-wrap__pic .img-wrap {
    margin-bottom: 0;
    height: 300px;
}
.d-section-general .info-wrap .info-wrap__pic img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.d-section-general .info-wrap .info-wrap__container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-height: 100%;
    overflow: auto;
    background-color: rgb(53 70 73 / 90%);
    color: #fff;
    border-radius: 10px;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__title {
    color: #a3c6c4;
    display: block;
    font-size: 25px;
    padding: 20px;
    text-decoration: none;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__title:hover {
    color: #ffffff;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__content {
    padding: 0 27px 20px;
    overflow: auto;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list {
    list-style: none;
    padding: 0 0 0 20px;
    margin: 0;
    width: 100%;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li {
    position: relative;
    padding: 4px 0 4px 29px;
    font-size: 15px;
    margin: 0 !important;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background-color: #bebebe;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li:after {
    content: "";
    position: absolute;
    left: 0;
    transform: translate(-50%, -50%);
    top: 50%;
    background-color: #bebebe;
    border: 1px solid #f1f8f8;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li a {
    color: #fff;
    text-decoration: none;
    font-weight: 400; /* override the inline-link green/bold rule above */
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li:hover a {
    color: #a3c6c4;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__list li:hover:after {
    background-color: #a3c6c4;
}

/* Collapsed state — hides the list, leaves only the title bar visible over the
   hero image. Toggled by content-widgets.js when the user clicks the title.
   max-height + overflow:hidden gives a smooth slide animation. */
.d-section-general .info-wrap.closed .info-wrap__container .info-wrap__content {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__content {
    max-height: 2000px;
    transition: max-height 0.45s ease, padding 0.35s ease;
}

/* The little "pointer" cursor next to the Inhaltsverzeichnis title — bobs up
   and down to draw the eye to the collapsible widget. */
.d-section-general .info-wrap .info-wrap__container .info-wrap__title .info-cursor {
    display: inline-block;
    margin-left: 8px;
    font-size: 18px;
}
.d-section-general .info-wrap .info-wrap__container .info-wrap__title .jumping-element {
    display: inline-block;
    animation: pmg-bob 1.2s ease-in-out infinite;
}
@keyframes pmg-bob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-5px); }
}
/* Hide the bobbing cursor once the user has interacted (menu open). */
.d-section-general .info-wrap:not(.closed) .info-cursor { display: none; }

/* Read more button */
.link-read-more {
    position: relative;
    background-color: #127749;
    color: #fff !important;
    padding: 10px 25px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none !important;
    border: 1px solid #127749;
    font-weight: 600;
    font-size: inherit;
    cursor: pointer;
    transition-property: color, background-color, border-color;
    transition-duration: .2s;
    transition-timing-function: linear;
    text-align: center;
}
.link-read-more:hover {
    background-color: #fff;
    color: #127749 !important;
}
/* Arrow icon after the label — matches prod (read-more-icon.png). */
.link-read-more::after {
    content: "";
    position: relative;
    width: 25px;
    aspect-ratio: 1 / 1;
    background-image: url(/assets/img/icons/read-more-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}
.link-read-more:hover::after {
    /* Tint the icon to the green hover colour. */
    filter: brightness(0) saturate(100%) invert(41%) sepia(67%) saturate(423%) hue-rotate(138deg) brightness(92%) contrast(86%);
}
/* `.hidden` variant — used on pages where the CTA is intentionally not shown. */
.link-read-more.hidden {
    display: none;
}
.d-section-general .link-read-more {
    margin: 10px 0;
}

/* Expert talk wrap */
.expert-talk-note {
    font-size: 110%;
}
.expert-talk-wrap {
    border-radius: 9px;
    padding: 30px 45px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto 25px;
    width: 100%;
    background-image: url(https://privacy-management-group.com/wp-content/uploads/2025/06/expert-talk-wrap-bg.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    color: #fff;
}
@media screen and (max-width: 900px) {
    .expert-talk-wrap {
        flex-direction: column;
        padding: 15px;
        margin: 10px auto;
    }
}
.expert-talk-wrap .wrap-desc {
    font-size: 32px;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
    color: #eed6a3;
}
@media screen and (max-width: 900px) {
    .expert-talk-wrap .wrap-desc {
        font-size: 17px;
        margin-bottom: 15px;
        text-align: center;
    }
}
.expert-talk-wrap .wrap-desc span {
    font-size: 87%;
    display: block;
    color: #fff;
}
.expert-talk-wrap .wrap-link a {
    background-color: #fff;
    color: #000;
    margin-right: 12px;
    padding: 14px 35px;
    border-radius: 10px;
    display: block;
}
.expert-talk-wrap .wrap-link a:hover {
    background-color: #127749;
    color: #fff;
}
.expert-talk-wrap .wrap-link a i {
    color: #127749;
}
.expert-talk-wrap .wrap-link a:hover i {
    color: #fff;
}

/* Terms of use */
.terms-of-use-section p {
    margin: 0;
    text-align: center;
    font-size: 70%;
}
.terms-of-use-section p a {
    color: #197149;
    text-decoration: underline;
    font-weight: 500;
}
.terms-of-use-section p a:hover {
    color: #000;
}

/* ============================================================================
   FAQ widget — collapsible Q&A. Hidden by default via height: 0; revealed
   when JS adds `.active` to the parent .item. The "+" icon rotates to "×".
   The click handler lives in assets/js/content-widgets.js.
   ============================================================================ */
.faq-section { margin-bottom: 20px; }
.faq-section .item { border-bottom: 1px solid #d0d0d0; }
.faq-section .item:last-child { margin-bottom: 0; }
.faq-section .item > a {
    color: #3f3f3f;
    display: block;
    position: relative;
    cursor: pointer;
    text-decoration: none;
}
.faq-section .item > a .item-title-wrap { position: relative; }
.faq-section .item > a:hover .item-title-wrap { color: #147749; }
.faq-section .item > a .item-title {
    padding: 25px 50px 25px 10px;
    font-size: 18px;
    font-weight: 500;
}
.faq-section .item > a .item-icon {
    position: absolute;
    transform: translateY(-50%);
    transition: transform 0.2s ease-out;
    top: 50%;
    right: 10px;
    font-size: 24px;
    color: #147749;
}
.faq-section .item.active a .item-icon { transform: translateY(-50%) rotate(45deg); }
.faq-section .item .item-desc {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}
.faq-section .item.active .item-desc { max-height: 2000px; }
.faq-section .item .item-desc .content-wrap { padding: 0 15px 25px; }
/* Don't apply our default inline-link styling (green underlined) inside FAQ —
   the answers are plain content, links there should still be styled. */

/* ============================================================================
   Prod-imported widgets (wrap-border-section, table-responsive, wrap-steps,
   img-flex, list-check). Sourced from privacy-management-group.com style.css
   and pruned to .d-section-general-scoped rules. Some references icons under
   /wp-content/uploads/.../ that we don't host locally — those rules just
   leave the :before empty, no breakage.
   ============================================================================ */

/*all h3 in one color*/
.d-section-general .sub-sub-title.highlighted,
.d-section-general .sub-sub-title .highlighted,
.d-section-general .wrap-border-section .wrap-title,
.d-section-general .wrap-border-section .wrap-title.highlighted,
.d-section-general .wrap-border-section .wrap-title .highlighted{
    color: #785712 !important;
}

/* The frame ("рамочка") that wraps a group of .wrap-border-section blocks.
   Light tan border + rounded corners — matches prod. */
.d-section-general .wrap-border {
    margin: 0 auto 30px;
    border: 1px solid #bda98a;
    border-radius: 10px;
    padding: 20px;
}
.d-section-general .wrap-border > *:first-child { margin-top: 0; }
.d-section-general .wrap-border > *:last-child  { margin-bottom: 0; }

.d-section-general .wrap-border-section{
    position: relative;
}

.d-section-general .wrap-border-section:not(:last-child){
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.d-section-general .wrap-border.w-separator .wrap-border-section:not(:last-child){
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.d-section-general .wrap-border.w-separator .wrap-border-section:not(:last-child):after{
/*    content: "";*/
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: 0;
    height: 1px;
    background-color: #008857;
    /* background-color: #3c3c3c; */
    width: 30%;
    max-width: 200px;
}

.d-section-general .wrap-border-section .wrap-title{
    font-size: 22px;
    color: #354649;
    position: relative;
    margin-top: 0;
    margin-bottom: 12px;
    text-align: left;
    font-weight: 500;
}

.d-section-general .wrap-border-section .wrap-title span{
    color: #127749;
}

.d-section-general .wrap-border-section .wrap-title:after{
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 325px;
    max-width: 100%;
    height: 1px;
    background-color: #bda98a;
}

.d-section-general .wrap-border-section .wrap-title.w-icon:before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: transparent;
    position: relative;
    top: 20px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.d-section-general .wrap-border-section .wrap-title.w-icon:before {
        display: block;
        top: 5px;
    }

/* Wrap-title icons (h3 inside .wrap-border-section). Same scaffolding as
   prod but pointing at /assets/img/icons/ where we host the PNG/SVGs. */
.d-section-general .wrap-border-section .wrap-title.w-icon.icon-safety:before    {background-image: url(/assets/img/icons/icon-safety.png);}
.d-section-general .wrap-border-section .wrap-title.w-icon.icon-children:before  {background-image: url(/assets/img/icons/icon-children.png);}
.d-section-general .wrap-border-section .wrap-title.w-icon.icon-school:before    {background-image: url(/assets/img/icons/icon-school.svg);}
.d-section-general .wrap-border-section .wrap-title.w-icon.icon-medicine:before  {background-image: url(/assets/img/icons/icon-medicine.png);}

.d-section-general .wrap-border-section p{
    /*font-size: 16px;*/
}

.d-section-general .wrap-border.wrap-lg .wrap-border-section + .wrap-border-section{
    padding-top: 10px;
    border-top: 1px solid #bda98a;
}

/* ----- .sub-title.w-icon — h2 with an icon prepended ---------------------
   Prod uses a 30×30 mono-coloured icon left-aligned with the heading. The
   filter turns the source PNG/SVG into the same green tint as prod (#147749). */
.d-section-general .sub-title.w-icon {
    padding-left: 40px;
    position: relative;
}
.d-section-general .sub-title.w-icon:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: transparent;
    top: 0;
    left: 0;
    filter: brightness(0) saturate(100%) invert(45%) sepia(20%) saturate(1192%) hue-rotate(138deg) brightness(94%) contrast(92%);
}
.d-section-general .sub-title.w-icon.icon-residence:before {background-image: url(/assets/img/icons/icon-residence.png);}
.d-section-general .sub-title.w-icon.icon-vat:before       {background-image: url(/assets/img/icons/icon-vat.png);}
.d-section-general .sub-title.w-icon.icon-vat-reg:before   {background-image: url(/assets/img/icons/icon-vat-reg.png);}
.d-section-general .sub-title.w-icon.icon-docs:before      {background-image: url(/assets/img/icons/icon-docs.png);}
.d-section-general .sub-title.w-icon.icon-tax:before       {background-image: url(/assets/img/icons/icon-tax.svg);}
.d-section-general .sub-title.w-icon.icon-tax2:before      {background-image: url(/assets/img/icons/icon-tax2.png);}

/* ----- .icon-el — inline icon-block used inside h3 sub-sub-title ----------
   Sits left of the title text and is recoloured into the dark-green PMG
   accent via the filter chain (same trick prod uses). */
.d-section-general .icon-el {
    display: inline-block;
    background-size: contain;
    background-position: center left;
    background-repeat: no-repeat;
    height: 30px;
    aspect-ratio: 1 / 1;
    margin-right: 10px;
    position: relative;
    top: -4px;
    filter: brightness(0) saturate(100%) invert(36%) sepia(11%) saturate(3615%) hue-rotate(103deg) brightness(93%) contrast(86%);
}
.d-section-general .icon-el.icon-residence       {background-image: url(/assets/img/icons/icon-residence.png);}
.d-section-general .icon-el.icon-man-suitcase    {background-image: url(/assets/img/icons/icon-man-suitcase.png);}
.d-section-general .icon-el.icon-man-office      {background-image: url(/assets/img/icons/icon-man-office.png);}
.d-section-general .icon-el.icon-cart            {background-image: url(/assets/img/icons/icon-cart.png);}
.d-section-general .icon-el.icon-car-sofa        {background-image: url(/assets/img/icons/icon-car-sofa.png);}
.d-section-general .icon-el.icon-house           {background-image: url(/assets/img/icons/icon-house.png);}
.d-section-general .icon-el.icon-school          {background-image: url(/assets/img/icons/icon-school.svg);}
.d-section-general .icon-el.icon-dividends       {background-image: url(/assets/img/icons/icon-dividends.svg);}
.d-section-general .icon-el.icon-interest        {background-image: url(/assets/img/icons/icon-interest.svg);}
.d-section-general .icon-el.icon-gain            {background-image: url(/assets/img/icons/icon-gain.svg);}
.d-section-general .icon-el.icon-rental          {background-image: url(/assets/img/icons/icon-rental.svg);}
.d-section-general .icon-el.icon-employee-benefit{background-image: url(/assets/img/icons/icon-employee-benefit.svg);}
.d-section-general .icon-el.icon-asset           {background-image: url(/assets/img/icons/icon-asset.svg);}
.d-section-general .icon-el.icon-world           {background-image: url(/assets/img/icons/icon-world.svg);}
.d-section-general .icon-el.icon-family          {background-image: url(/assets/img/icons/icon-family.svg);}
.d-section-general .icon-el.icon-uae             {background-image: url(/assets/img/icons/icon-uae.svg);}
.d-section-general .icon-el.icon-visa            {background-image: url(/assets/img/icons/icon-visa.svg);}
.d-section-general .icon-el.icon-cost            {background-image: url(/assets/img/icons/icon-cost.svg);}
.d-section-general .icon-el.icon-outsourcing     {background-image: url(/assets/img/icons/icon-outsourcing.svg);}
.d-section-general .icon-el.icon-business        {background-image: url(/assets/img/icons/icon-business.svg);}
.d-section-general .icon-el.icon-scope           {background-image: url(/assets/img/icons/icon-scope.svg);}
.d-section-general .icon-el.icon-transaction     {background-image: url(/assets/img/icons/icon-transaction.svg);}
.d-section-general .icon-el.icon-cyprus          {background-image: url(/assets/img/icons/icon-cyprus.svg);}

/* ----- .title-w-icon — inline-block heading text with icon on the left,
   used in <p><span class="title-w-icon icon-tax icon-offset">…</span>…</p>
   constructions inside dubai-holding.html and similar. */
.d-section-general .title-w-icon {
    font-weight: 600;
    position: relative;
    padding-left: 35px;
    display: inline-block;
}
.d-section-general .title-w-icon:before {
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: transparent;
    top: 0;
    left: 0;
    filter: brightness(0) saturate(100%) invert(32%) sepia(64%) saturate(550%) hue-rotate(2deg) brightness(93%) contrast(93%);
}
.d-section-general .title-w-icon.icon-tax:before    {background-image: url(/assets/img/icons/icon-tax.svg);}
.d-section-general .title-w-icon.icon-asset:before  {background-image: url(/assets/img/icons/icon-asset.svg);}
.d-section-general .title-w-icon.icon-system:before {background-image: url(/assets/img/icons/icon-system.svg);}
.d-section-general .title-w-icon.icon-gavel:before  {background-image: url(/assets/img/icons/icon-gavel.svg);}
.d-section-general .title-w-icon.icon-agile:before  {background-image: url(/assets/img/icons/icon-agile.svg);}
.d-section-general .title-w-icon.icon-urban:before  {background-image: url(/assets/img/icons/icon-urban.svg);}

/*table*/
.d-section-general .table-responsive{
    min-height: .01%;
    /*    margin: 20px 0;
    padding: 25px;
    border: 1px solid #bda98a;*/
    margin-top: 0;
    margin-bottom: 30px;
    border-radius: 10px;
    width: 100%;
    overflow-x: auto;
    font-size: 80%;
}

.d-section-general .table-responsive table{
    max-width: 100%;
    width: 100%;
    table-layout: fixed;
    margin: 0;
    border-radius: 7px;
    overflow: hidden;
    color: #fff;
    background-color: #d1be9e;
    text-align: left;
    overflow-x: auto;
    width: 100%;
    border-collapse: collapse;
    /* table-layout: fixed; */
    /* display: block; */       /* makes table scrollable */
         /* horizontal scroll if too wide */
}

.d-section-general .table-responsive table thead{}

/*LG page */
/*table styles*/
.d-section-general .table-responsive table.lg-table{
/*    max-width: 800px;*/
}

.d-section-general .table-responsive table.lg-table td{
    vertical-align: middle;
}

.d-section-general .table-responsive table.lg-table td:nth-child(1){
    background-color: #3b6c56;
}

.d-section-general .table-responsive table.lg-table td:last-child{
    white-space: nowrap;
}

.d-section-general .table-responsive table.lg-table tr:nth-child(even) td:nth-child(1){
    background-color: #2b5944;
}

.d-section-general .table-responsive table.lg-table tr+tr td{
    border-top: 5px solid #fff;
}

.d-section-general .table-responsive table.lg-table tr.total td{
    font-weight: 600;
}

.d-section-general .wrap-border.wrap-lg .table-responsive table.lg-table td:nth-child(2){
/*    width: 230px;*/
    text-align: center;
}

.d-section-general .wrap-border.wrap-lg .table-responsive table.lg-table td:last-child{
/*    width: 150px;*/
    text-align: center;
}

/*border-wrap style end*/
/*LG page end*/

.d-section-general .table-responsive.sticky-header,
.d-section-general .table-responsive.sticky-header table{
    /* width: 875px; */
}

.d-section-general .table-responsive.sticky-header.sticky-header-active table thead{
    position: fixed;
    top: 100px;
    width: 875px;
}

.d-section-general .table-responsive.sticky-header.sticky-header-active table thead{
    position: fixed;
    top: 0;
    width: 875px;
    box-shadow: 0px 10px 7px 0px rgb(163 198 196 / 44%), 0px -2px 4px 2px rgb(163 198 196 / 44%);
}

body.admin-bar .d-section-general .table-responsive.sticky-header.sticky-header-active table thead{
    top: 32px;
}

.d-section-general .table-responsive.sticky-header.sticky-header-active table thead tr{
    display: flex;
}

.d-section-general .table-responsive.sticky-header table tr{
    /* display: flex; */
    /* flex-wrap: wrap; */
}

.d-section-general .table-responsive.sticky-header table td:nth-child(1){
    /* width: 175px; */
}

.d-section-general .table-responsive.sticky-header table td:nth-child(2){
    /* width: 350px; */
}

.d-section-general .table-responsive.sticky-header table td:nth-child(3){
    /* width: 350px; */
}

.d-section-general .table-responsive table thead td{
    font-size: 110%;
    font-weight: 600;
    text-align: center;
    vertical-align: bottom;
}

.d-section-general .table-responsive table thead td:nth-child(3n+1){
    background-color: #c3a370;
}

.d-section-general .table-responsive table thead td:nth-child(2n+2){
    background-color: #bc9d6b;
}

.d-section-general .table-responsive table thead td:nth-child(2n+3){
    background-color: #b49666;
}

.d-section-general .table-responsive table td{
    border: 0;
    padding: 10px 10px;
    vertical-align: top;
    float: unset;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-break: break-word;
    white-space: normal;
}

.d-section-general .table-responsive table td{
        padding: 5px 5px;
    }

/*table w/ all cell horizontaly in the center*/
.d-section-general .table-responsive.td__h-center table thead td,
.d-section-general .table-responsive.td__h-center table thead td *,
.d-section-general .table-responsive.td__h-center table tbody td,
.d-section-general .table-responsive.td__h-center table tbody td *{
    text-align: center;
}

/*table w/ all cell horizontaly in the center*/
.d-section-general .table-responsive.td__h-center_but-first table thead td:first-child,
.d-section-general .table-responsive.td__h-center_but-first table thead td:first-child *,
.d-section-general .table-responsive.td__h-center_but-first table tbody td:first-child,
.d-section-general .table-responsive.td__h-center_but-first table tbody td:first-child *{
    text-align: left;
}

.d-section-general .table-responsive.td__h-center_but-first table thead td:not(:first-child),
.d-section-general .table-responsive.td__h-center_but-first table thead td:not(:first-child) *,
.d-section-general .table-responsive.td__h-center_but-first table tbody td:not(:first-child),
.d-section-general .table-responsive.td__h-center_but-first table tbody td:not(:first-child) *{
    /* text-align: center; */
}

/*table w/ big icons in head*/
.d-section-general .table-responsive.head-big-icons table thead td i{
    font-size: 200%;
    display: block;
    margin: 15px auto;
}

.d-section-general .table-responsive.head-big-icons table thead td i{
        font-size: 150%;
        margin: 5px auto;
    }

/*table w/ left column bigger like category name*/
.d-section-general .table-responsive.left-col-category-name table tbody td:not(:first-child),
.d-section-general .table-responsive.left-col-category-name table tbody td:not(:first-child) *{
    /* font-size: 80%; */
    text-align: center;
}

/*table w/ first cell on all raws*/
.d-section-general .table-responsive.first-cell-all-raws table tr:first-child  td:first-child{
    background-color: #fbfbfb !important;
    color: #785713 !important;
    font-size: 120%;
    font-weight: 600;
    vertical-align: top;
    text-align: left;
}

.d-section-general .table-responsive.first-cell-all-raws table tr:first-child  td:first-child i{
    color: #147749;
    font-size: 200%;
    display: block;
    margin: 15px auto;
}

/*table w/ cusrom cell icons*/
.d-section-general .table-responsive.first-cell-all-raws table td.td-icon{
    position: relative;
    padding-left: 50px;
    text-align: left;
}

.d-section-general .table-responsive.first-cell-all-raws table td.td-icon:before{
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    position: absolute;
    left: 10px;
    transform: translateY(-50%);
    top: 50%;
    font-size: 130%;
}

.d-section-general .table-responsive.first-cell-all-raws table td.td-check:before{
    content: "\f058";
}

.d-section-general .table-responsive.first-cell-all-raws table td.td-gear:before{
    content: "\f013";
}

.d-section-general .table-responsive table td:nth-child(3n+1),
.d-section-general .table-responsive table td:nth-child(2n+3){
    background-color: #c9b28a;
}

.d-section-general .table-responsive table td:nth-child(2n+2){
    background-color: #c2a77a;
}

.d-section-general .table-responsive table tr:nth-child(even) td:nth-child(3n+1),
.d-section-general .table-responsive table tr:nth-child(even) td:nth-child(2n+3){
    background-color: #c2a77a;
}

.d-section-general .table-responsive table tr:nth-child(even) td:nth-child(2n+2){
    background-color: #b89d75;
}

/*table grey-color*/
.d-section-general .table-responsive.grey-color table{
    color: #394b4e;
    background-color: #f8f8f8;
}

.d-section-general .table-responsive.grey-color table thead td{
    border-bottom: 3px solid #fff;
}

.d-section-general .table-responsive.grey-color table thead td:nth-child(3n+1){
    background-color: #f5f5f5;
}

.d-section-general .table-responsive.grey-color table thead td:nth-child(2n+2){
    background-color: #ebebeb;
}

.d-section-general .table-responsive.grey-color table thead td:nth-child(2n+3){
    background-color: #e6e5e5;
}

.d-section-general .table-responsive.grey-color table tbody tr + tr td{
    border-top: 3px solid #fff;
}

.d-section-general .table-responsive.grey-color table td:nth-child(3n+1){
    background-color: #ebebeb !important;
}

.d-section-general .table-responsive.grey-color table td:nth-child(2n+2){
    background-color: #e6e5e5 !important;
}

.d-section-general .table-responsive.grey-color table td:nth-child(2n+3){
    background-color: #dadada !important;
}

.d-section-general .table-responsive.grey-color table tr:nth-child(even) td:nth-child(3n+1){
}

.d-section-general .table-responsive.grey-color table tr:nth-child(even) td:nth-child(2n+2){
}

.d-section-general .table-responsive.grey-color table tr:nth-child(even) td:nth-child(2n+3){
}

/*table inner objects*/
.d-section-general .table-responsive p{
    margin-bottom: 15px;
}

.d-section-general .table-responsive p:last-child {
    margin-bottom: 0 !important;
}

.d-section-general .table-responsive p b, 
.d-section-general .table-responsive p strong, 
.d-section-general .table-responsive li b, 
.d-section-general .table-responsive li strong{
    color: #fff;
}

.d-section-general .table-responsive.grey-color p b, 
.d-section-general .table-responsive.grey-color p strong, 
.d-section-general .table-responsive.grey-color li b, 
.d-section-general .table-responsive.grey-color li strong{
    color: #394b4e;
}

.d-section-general .table-responsive ul li,
.d-section-general .table-responsive ol li {
    text-align: justify;
}

.d-section-general .table-responsive a{
    color: #147749;
}

.d-section-general .table-responsive a.link-more-info{
    position:relative;
    display: inline-flex;
    gap: 5px;
}

.d-section-general .table-responsive a.link-more-info:after{
    content: "";
    position: relative;
    display: inline-block;
    width: 18px;
    aspect-ratio: 1 / 1;
    background-image: url(/wp-content/uploads/2023/10/read-more-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: brightness(0) saturate(100%) invert(37%) sepia(10%) saturate(4752%) hue-rotate(107deg) brightness(88%) contrast(84%);
}

.d-section-general .table-responsive a.link-more-info:hover{
    filter: brightness(0) saturate(100%) invert(28%) sepia(13%) saturate(667%) hue-rotate(141deg) brightness(90%) contrast(92%);
}

.d-section-general .table-responsive a:hover{
    color: #394b4e;
}

.d-section-general .table-responsive.grey-color a{
    /* color: #394b4e; */
}

.d-section-general .table-responsive.grey-color a:hover{
    /* color: #127749; */
}

.d-section-general .table-responsive a.btn{
    color:#000;
    background-color: #fff;
    padding: 6px 13px;
    margin: 5px 0 20px;
    border-radius: 7px;
    display: inline-block;
    text-decoration: none;
    transition: all .2s;
}

.d-section-general .table-responsive a.btn:hover{
    color:#fff;
    background-color: #127749;
}

.d-section-general .table-responsive.grey-color a.btn{
    color:#fff;
    background-color: #127749;
}

.d-section-general .table-responsive.grey-color a.btn:hover{
    color:#000;
    background-color: #fff;
}

.d-section-general .table-responsive table td > *:last-child{
    margin-bottom: 0;
}

/*table taxes*/
.d-section-general .table-responsive.table-taxes{
    /*padding: 25px 45px;*/
}

.d-section-general .table-responsive.table-taxes table{
    color: #394b4e;
    background-color: transparent;
}

.d-section-general .table-responsive.table-taxes table thead{
    color: #354649;
}

.d-section-general .table-responsive.table-taxes table thead tr{}

.d-section-general .table-responsive.table-taxes table thead tr th{
    font-size: 22px;
    padding: 5px 20px;
}

.d-section-general .table-responsive.table-taxes table thead tr th,
.d-section-general .table-responsive.table-taxes table tbody tr td{
    text-align: center;
}

.d-section-general .table-responsive.table-taxes table thead tr th:first-child,
.d-section-general .table-responsive.table-taxes table tbody tr td:first-child{
    text-align: left;
    padding-left: 0;
}

.d-section-general .table-responsive.table-taxes table tbody tr:first-child td{
    padding: 15px 15px 10px;
}

.d-section-general .table-responsive.table-taxes table tbody tr{
    border-bottom: 1px solid #bea98a;
}

.d-section-general .table-responsive.table-taxes table tbody tr.row-hidden{
    display: none;
}

.d-section-general .table-responsive.table-taxes table tbody tr:last-child{
    border-bottom: 0;
}

.d-section-general .table-responsive.table-taxes table tbody tr td{
    background-color: transparent !important;
    color: #394b4e;
    font-weight: 300;
    font-size: 17px;
}

.d-section-general .table-responsive.table-taxes table tbody tr:first-child td{
    color: #127749;
}

.d-section-general .table-responsive.table-taxes table tbody tr td .contry-wrap{
    display: flex;
    align-items: center;
}

.d-section-general .table-responsive.table-taxes table tbody tr td .flag-icon{
    width: 25px;
    height: 25px;
    margin-right: 12px;
    border-radius: 2px;
    box-shadow: 1px 1px 2px 0px #a0a0a0;
    opacity: 0.7;
}

.d-section-general .table-responsive.table-taxes .btn-wrap{
    margin-top: 20px;
}

.d-section-general .table-responsive.table-taxes .btn-wrap a{
    border: 1px solid #127749;
    background-color: #127749;
    border-radius: 8px;
    color: #fff;
    padding: 10px 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.d-section-general .table-responsive.table-taxes .btn-wrap a:hover {
    border-color: #127749;
    background-color: #fff;
    color: #127749;
}

.d-section-general .table-responsive.table-taxes .btn-wrap a i{
    margin-left: 10px;  
}

/* Calculation-table utilities (single + double underline for subtotal / total rows in accounting-style tables). Mirror of the DE-side conventions. Scoped to .d-section-general .table-responsive table td to beat the base td border-bottom rule on specificity. */
.text-underline {
    text-decoration: underline;
}

.d-section-general .table-responsive table td.doubleUnderline {
    border-bottom: 2px solid currentColor;
}

/*wrap steps*/
.d-section-general .wrap-steps{
    margin: 0 auto 30px;
    border: 0;
    padding-left: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.d-section-general .wrap-steps:before{
    content: "";
    position: absolute;
    top: 15px;
    bottom: 0;
    left: 0;
    width: 3px;
    background-color: #78bb96;
    transform: translateX(-50%);
}

.d-section-general .wrap-steps .sub-sub-title{
    position:relative;
}

.d-section-general .wrap-steps .wrap-step{
    border-radius: 10px;
    border: 1px solid #eeeeee;
    background-color: #fcfcfc;
    padding: 10px 20px 20px;
    position: relative;
}

.d-section-general .wrap-steps .sub-sub-title:after, 
.d-section-general .wrap-steps .wrap-step:after{
    position: absolute;
    left: -30px;
    top: 9px;
    content:"";
    width: 5px;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translateX(-50%);
    border: 2px solid #ffffff;
}

.d-section-general .wrap-steps .sub-sub-title:after{
    background-color: #785712;
}

.d-section-general .wrap-steps .wrap-step:after{
    background-color: #cab190;
    margin-left: -1px;
    margin-top: -3px;
}

.d-section-general .wrap-steps .wrap-step:last-child:before{
    content: "";
    position: absolute;
    top: 8px;
    bottom: -2px;
    left: -30px;
    width: 6px;
    background-color: #ffffff;
    transform: translateX(-50%);
}

.d-section-general.darker .wrap-steps .wrap-step:last-child:before{
    background-color: #f8f8f8;
}

.d-section-general .wrap-steps .step-title{
    font-size: 20px;
    display: flex;
    align-items: stretch;
    margin-left: -25px;
    margin-bottom: 10px;
    position:relative;
    text-align: left;
}

.d-section-general .wrap-steps .step-title{
        font-size: 16px;
        flex-direction: column;
        align-items: flex-start;
    }

.d-section-general .wrap-steps .step-title .step-title__name{
    background: linear-gradient(to right, #cab190 0%, #efdcbe 100%);
    padding: 10px 30px 10px 20px;
    color: #544f44;
    font-weight: 500;
    position: relative;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.d-section-general .wrap-steps .step-title .step-title__name{
        padding: 5px 30px 5px 20px;
        background: linear-gradient(to right, #cab190 90%, rgba(243,239,230,0) 100%);
    }

.d-section-general .wrap-steps .step-title .step-title__name:before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 16px;
    background-image: url(/media/images/_general/elements/step-title-side.png);
    filter: brightness(0) saturate(100%) invert(100%) sepia(14%) saturate(5742%) hue-rotate(310deg) brightness(84%) contrast(81%);
    background-size: 100% 100%;
}

.d-section-general .wrap-steps .step-title .step-title__desc{
    background: linear-gradient(to right,  rgba(243,239,230,1) 0%,rgba(243,239,230,0) 100%);
    color: #785712;
    display: flex;
    align-items: center;
    padding: 10px;
    position: relative;
}

.d-section-general .wrap-steps .step-title .step-title__desc{
        padding: 5px 10px;
        text-align: left;
    }

.d-section-general .wrap-steps .step-title .step-title__desc:before{
    content: "\2022";
    margin-right: 5px;
}

.d-section-general .wrap-steps .step-title .step-title__name + .step-title__desc:before{
    content: none;
}

.d-section-general .wrap-steps .step-title .step-title__desc:after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 16px;
    background-color: #f4f0e6;
    clip-path: polygon(0 0, 100% 0, 100% 100%); /* right-pointing triangle */
}

.d-section-general .wrap-steps .step-title .step-title__desc i{
    margin-right: 10px;
}

.d-section-general .wrap-steps p{}

.d-section-general .img-flex{
    display: flex;
    margin: 30px -10px 30px;
}

.d-section-general .img-flex .img-wrap{
    height: 300px;
    border-radius: 7px;
    overflow: hidden;
}

.d-section-general .img-flex .img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.d-section-general .section-wrap > div:last-child.img-flex{
    margin-bottom: 0;    
}

.d-section-general .img-flex.img-flex-v{
    display: flex;
    margin: 0px 0;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    width: 250px;
    margin-left: 20px;
}

.d-section-general .img-flex.img-flex-v.wider{
    display: flex;
    margin: -10px 0;
    height: calc(100% + 20px);
    flex-direction: column;
    justify-content: space-between;
    width: 350px;
    margin-left: 20px;
}

.d-section-general .img-flex > div{
    margin: 0 !important;
    padding: 0 10px;
    flex: 1 1 0;
}

.d-section-general .img-flex.img-flex-v .img-wrap{
    height: auto;
}

.d-section-general .wrap-border .img-flex-v{
}

.d-section-general .wrap-border .img-flex-v .img-wrap{
    display: flex;
    height: 100%;
}

.d-section-general .wrap-border .img-flex-v .img-wrap img{
    object-fit: cover;
}

.d-section-general .wrap-flex-h .flex-h-wrap-img .img-flex.img-flex-v{
    width: 100%;
}

.d-section-general .img-flex-v{
}

.d-section-general .img-flex-v .img-wrap{
    display: flex;
    height: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}

.d-section-general .img-flex-v .img-wrap img{
    object-fit: cover;
}

/* Image focus utility: override default object-position (center) to top, e.g. for portraits where heads sit at the top of the frame. Applied to the .img-flex parent so a single class composes with the existing object-fit rules. */
.d-section-general .img-flex.object-top .img-wrap img {
    object-position: top;
}

/* Same idea, slightly less aggressive: vertically anchor at 30% from top (handy when "top" crops too much sky / ceiling). */
.d-section-general .img-flex.object-top-30 .img-wrap img {
    object-position: center 30%;
}

.d-section-general ul.list-lg-check,
.d-section-general ul.list-check,
.d-section-general ul.list-minus,
.d-section-general ul.list-law,
.d-section-general ul.list-q{
    list-style: none;
    padding: 0;
}

.d-section-general ul.list-lg-check > li,
.d-section-general ul.list-check > li,
.d-section-general ul.list-minus > li,
.d-section-general ul.list-law > li,
.d-section-general ul.list-q > li{
    position: relative;
    padding-left: 30px;
}

.d-section-general ul.list-lg-check > li,
    .d-section-general ul.list-check > li,
    .d-section-general ul.list-minus > li,
    .d-section-general ul.list-law > li,
    .d-section-general ul.list-q > li{
        padding-left: 20px;
    }

.d-section-general ul.list-lg-check > li:before,
.d-section-general ul.list-check > li:before,
.d-section-general ul.list-minus > li:before,
.d-section-general ul.list-law > li:before,
.d-section-general ul.list-q > li:before{
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    color: #a3c6c4;
    position: absolute;
    left: 0;
}

.d-section-general ul.list-lg-check > li:before,
.d-section-general ul.list-check > li:before{
    content: "\f058";
}

/* ============================================================================
   Collage-wrap — photo-mosaic block. Two columns (43% / 57%); the right column
   contains a sub-grid of one wide image on top + two square images underneath.
   Outer flex row enforces a min-height so the children have something to
   stretch to (image heights would otherwise collapse to 0 with object-fit).
   ============================================================================ */
.d-section-general .collage-wrap {
    margin: 0 -5px 30px;
}
.d-section-general .collage-wrap > .item-row {
    display: flex;
    flex-wrap: wrap;
    min-height: 420px;
}
.d-section-general .collage-wrap .item-row {
    display: flex;
    flex-wrap: wrap;
}
.d-section-general .collage-wrap .item-row .item-col {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.d-section-general .collage-wrap > .item-row > .item-col {
    align-self: stretch;
}
.d-section-general .collage-wrap > .item-row > .item-col:first-child {
    width: 43%;
}
.d-section-general .collage-wrap > .item-row > .item-col:last-child {
    width: 57%;
}
.d-section-general .collage-wrap .item-row .item-col .item-row {
    flex: 1 1 0;
    width: 100%;
}
.d-section-general .collage-wrap .item-row .item-col .item-row .item-col {
    width: 50%;
}
.d-section-general .collage-wrap .item-img {
    width: 100%;
    padding: 5px;
    display: flex;
    flex: 1 1 0;
    min-height: 180px;
}
.d-section-general .collage-wrap .img-wrap {
    margin-bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
}
.d-section-general .collage-wrap .img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Stack to a single column on narrow viewports. */
@media (max-width: 768px) {
    .d-section-general .collage-wrap > .item-row {
        min-height: 0;
    }
    .d-section-general .collage-wrap > .item-row > .item-col:first-child,
    .d-section-general .collage-wrap > .item-row > .item-col:last-child {
        width: 100%;
    }
}

/* ============================================================================
   Expert-talk-wrap — the "Sprechen Sie jetzt … Kontakt" CTA bar shown at the
   bottom of most content sections. Hero-image background, white text, single
   right-aligned button. Background bitmap is the same one prod uses.
   ============================================================================ */
.expert-talk-note {
    font-size: 110%;
    margin-top: 30px;
    margin-bottom: 8px;
}
.expert-talk-wrap {
    border-radius: 9px;
    padding: 30px 45px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto 25px;
    width: 100%;
    background-image: url(/assets/img/shared/expert-talk-wrap-bg.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    color: #fff;
}
.expert-talk-wrap .wrap-desc {
    font-size: 32px;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);
    color: #eed6a3;
    line-height: 1.2;
}
.expert-talk-wrap .wrap-desc span {
    font-size: 87%;
    display: block;
    color: #fff;
}
.expert-talk-wrap .wrap-link a {
    background-color: #fff;
    color: #000 !important;
    padding: 14px 35px;
    border-radius: 10px;
    display: inline-block;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 14px;
    transition: background-color 0.2s, color 0.2s;
}
.expert-talk-wrap .wrap-link a:hover {
    background-color: #127749;
    color: #fff !important;
}
.expert-talk-wrap .wrap-link a i {
    color: #127749;
    margin-right: 8px;
}
.expert-talk-wrap .wrap-link a:hover i {
    color: #fff;
}
/* Alt variant — light-grey panel, no background image. */
.expert-talk-wrap.expert-talk-wrap--alt {
    background-image: none;
    background-color: #F1F1F1;
    justify-content: flex-start;
    gap: 10px;
    color: #3a4a4e;
}
.expert-talk-wrap.expert-talk-wrap--alt .wrap-desc {
    color: #3a4a4e;
    text-shadow: none;
    font-size: 20px;
    line-height: 2;
}
.expert-talk-wrap.expert-talk-wrap--alt .wrap-desc span {
    color: inherit;
    font-weight: 600;
}
.expert-talk-wrap.expert-talk-wrap--alt .wrap-link a {
    background-color: #127749;
    color: #fff !important;
}
.expert-talk-wrap.expert-talk-wrap--alt .wrap-link a:hover {
    background-color: #fff;
    color: #127749 !important;
}
.expert-talk-wrap.expert-talk-wrap--alt .wrap-link a i { color: #fff; }
.expert-talk-wrap.expert-talk-wrap--alt .wrap-link a:hover i { color: #127749; }

/* Stack vertically on narrow viewports. */
@media (max-width: 768px) {
    .expert-talk-wrap {
        flex-direction: column;
        padding: 15px;
        text-align: center;
    }
    .expert-talk-wrap .wrap-desc {
        font-size: 17px;
        margin-bottom: 15px;
    }
    .expert-talk-wrap .wrap-link { margin-top: 8px; }
}