@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(https://cdn.boersenmedien.com/static/roboto/roboto-condensed.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url(https://cdn.boersenmedien.com/static/roboto/roboto.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

#avdepot {
    font-family:'Roboto', sans-serif;
    font-size:16px;

    h1, h2, h3{
        font-family:'Roboto Condensed', 'Roboto', sans-serif;
        line-height:1.25em;        
        margin-bottom:20px;
    }

    h1 {
        font-size:1.6rem;
        line-height:1.18em;
    }

    h2 {
        font-size:1.4rem;

        small{
            font-size:16px;
            font-weight:inherit;
        }
    }

    h3 {
        font-size:1.1rem;
        color:inherit;
    }

    .grid-main > div {
        scroll-margin:100px;
    }

    .avr h3 {   
        font-size:1rem;
        margin-bottom:12px;

        span{
            font-weight:inherit;
            }

        .avr__infowrap {
            vertical-align:middle;
        }
    }

    .avr__check input[type="checkbox"] {
        display:block;
    }

    .up {
        color: #008A0F;
    }

    .down {
        color:#EA172C;
    }

    .simple-list {
        padding-left:30px;
        line-height: 1.625em;
    }

    .grid-col-full {
        grid-column:1 / -1;
    }

    .subline {
        font-family:'Roboto Condensed', 'Roboto', sans-serif;
        font-size:14px;
        margin-bottom:5px;
    }

    .check-list {
        list-style:none;
        padding-left:0;
        margin-bottom:30px;


        li{
              position:relative;
              padding-left:32px;
              font-weight:600;

              &:before{
                content:'';
                background-image:url('https://images.boersenmedien.com/images/7a682a50-4c25-45ca-b826-8197a2d09b5f.svg');
                width:24px;
                height:24px;
                position:absolute;
                left:0;
                top:-2px;

            }
        }

        &.check-list-inline {
            display:flex;
            gap: 16px 30px;
            flex-wrap:wrap;
            justify-content:flex-start;
        }
    }

    .content-container {
        border:1px solid rgba(230, 230, 230, 1);
        padding:16px;
    }
    

    .grid-side {
        overflow:visible;
        display:none;
    }

    .grid-main {
        & > div{
            margin-bottom: 60px;
        }
    }

    header {
        display:grid;
        gap:0;

        h1{
            order:2;
        }

        .subline {
            order:1;
        }

        & > div {
            order:4;
        }

        img {
            order:3;
            border-radius:8px;
            margin-bottom:20px;
        }
    }

    .side-navigation {
        position:sticky;
        top:100px;
        border: 1px solid rgba(230, 230, 230, 1);
        border-radius:8px;
        box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.08);
        padding: 20px;
        font-weight:700;
        font-size:16px;

        ol{
            margin:10px -20px 0;
            padding-left:0px;
            list-style:none;

            li{
                font-weight:normal;
                padding:0px;

                a{
                    display:block;
                    padding:3px 16px;
                    margin-top:-3px;
                    margin-bottom:-3px;
                    line-height:2em;
                    border-top:1px solid transparent;
                    border-bottom:1px solid transparent;
                    font-family:'Roboto Condensed', 'Roboto', sans-serif;
                    font-size:12px;

                    strong{
                        display:inline-block;
                        width:13px;
                        margin-right:4px;
                        text-align:right;
                    }

                    &:hover{
                        background-color:rgba(245, 245, 247, 1);
                        border-color:rgba(230, 230, 230, 1);
                        font-weight:700;
                    }
                }

                &.active a {
                    background-color:rgba(245, 245, 247, 1);
                        border-color:rgba(230, 230, 230, 1);
                        font-weight:700;
                }

            }
        }
    }

    .newsletter-form {
        max-width:460px;
        margin:0 auto;

        .moving-labels-group {
            label{
                top: 14px;
                left: 16px;
            }
                 
            input[type="email"]{
                width: 100%;
                box-shadow: 0 4px 6px rgba(0,0,0,.12);
                border: none;
                padding-left:16px;
            }

            &.filled input + label {
                top:-5px;
            }
        }

        .privacy-notice {
            font-size: .75rem;
            color: #8a8a8e;
            padding-left:40px;
            margin-bottom:10px;
        }

        .button {
            width:100%;
            margin-top:10px;
        }

        input[type="checkbox"] + label {
            padding-left:40px;
            position:relative;
            margin-top:10px;
        }

        input[type="checkbox"] + label::before { 
            position:absolute;
            box-shadow:0 4px 6px rgba(0,0,0,.12);
            width:17px;
            height:17px;
            border-radius:4px;
            top:0px;
            left:0;
        }

        input[type="checkbox"]:checked + label::before {
            background-color: #900024
        }   

        input[type="checkbox"]:checked + label::after {
            content: '';
            display: block;
            width: 12px;
            height: 10px;
            background-image: url(https://images.boersenmedien.com/images/87c38e8a-493b-455e-ae14-23dff705c3b6.svg);
            background-repeat: no-repeat;
            background-size: 80% auto;
            background-position: center;
            position: absolute;
            left: 5px;
            top: 6px;
        }
    }

    .av-product-container {
        display:grid;
        gap:24px;
        margin-bottom:40px;
    }

    .av-product-container-item {
        border:1px solid rgba(230, 230, 230, 1);
        border-radius:8px;
        max-width:360px;
        margin:0 auto;

        & > div{
            padding:16px;
        }

        strong {
            font-family:'Roboto Condensed', sans-serif;
        }

        .container-item-head{
            border-bottom:1px solid rgba(230, 230, 230, 1);
            height:120px;
            text-align:center;

            div {
                height:100%;
                width:100%;
                display:flex;
                align-items:center;
                justify-content:center;
            }
        }

        .container-item-body {
            background-color:rgba(245, 245, 247, 1);            
            border-top:1px solid rgba(230, 230, 230, 1);

            ul{
                padding-left:20px;
                margin-bottom:24px;

                li{
                    line-height:1.625em;
                    margin-bottom:7px;
                }
              }

            strong{                      
                font-family:'Roboto', sans-serif;
            }

            .to-text-link {
                padding-left:20px;                
            }
        }   
    }

    .to-text-link {
        background-color: transparent;
        color: #900024;
        text-decoration: none;
        font-weight: 400;
        padding: 0;
        border: none;
        position: relative;
        text-align:left;
        font-family:'Roboto Condensed', sans-serif;

        svg, img {
            display: inline-block;
            width: 13px;
            height: auto;
            margin-bottom: 1px;
            filter: invert(7%) sepia(83%) saturate(7274%) hue-rotate(340deg) brightness(85%) contrast(101%);

            path {
                fill: @c-attention !important;
            }
        }

        span {
            position: relative;
            overflow: hidden;
            display: inline-block;
            vertical-align: bottom;
            padding-right: 5px;

            &:after {
                content: "\00A0";
                position: absolute;
                color: @c-attention;
                right: 0;
                left: 0;
                bottom: 0;
                top: 0;
                letter-spacing: 1000px;                
                text-decoration:none;
            }
        }
    }

    .av-container {
        display:grid;

        &.av-container-sequence{
            gap:10px;

            > div > img{
                transform:rotate(90deg);
                height:12px;
                width:auto;
                display:block;
                margin:0 auto;
            }        
        }

        &.gapless {
            .av-container-item{
                border-radius:0;
                border-top:none;
                border-bottom:none;

                .container-item-head {
                    padding-top:20px;
                    padding-bottom:20px;
                }
            }

            .av-container-item:first-child{
                border-top-left-radius:8px;
                border-top-right-radius:8px;
            }

            .av-container-item:last-child{
                border-bottom-left-radius:8px;
                border-bottom-right-radius:8px;          
                border-bottom:1px solid rgba(230, 230, 230, 1);
            }
        }        
    }

    .av-container-item {
        border: 1px solid rgba(230, 230, 230, 1);
        border-radius:8px;
        overflow:hidden;
        
        & > div{
            padding:16px;
        }

        .container-item-head {
            background-color:rgba(245, 245, 247, 1);
            font-weight:600;
            text-align:center;
            font-family:'Roboto Condensed', sans-serif;

            .icon-check-x{
                width:32px;
                height:32px;
                vertical-align:middle;
                margin: -6px 5px -6px 0;
            }            

            &.item-head-positive{
                background-color:#008A0F;
                color:#fff;

                & + .container-item-body{
                    background-color:rgba(245, 245, 247, 1);
                }
            }

            &.item-head-negative {
                background-color: #EA172C;
                color: #fff;

                & + .container-item-body{
                    background-color:rgba(245, 245, 247, 1);
                }
            }
        }

        ul {
            padding-left:20px;

            li{
                line-height: 1.625em;
                margin-bottom: 7px;
            }
        }

        .container-item-body p:last-child{
            margin-bottom:0
        }   
    }

    .content-container.icon-content-container {
        display:grid;
        grid-template-columns:80px auto;
        padding-left:0;
        align-items: center;
        margin:10px auto 0;

        .container-icon{
            width:32px;
            height:40px;
            object-fit:contain;
            margin:0 auto;
            transform:none;
        }

    }

    .av-table {
        .horizontal-head{
            
            th:first-child{
                display:none;
            }

            th{
                font-weight:600;
                font-family:'Roboto Condensed', sans-serif;
                padding-top: 20px;
                padding-bottom: 20px;

                &.item-head-positive{
                    color:#fff;
                    background-color:#008A0F;
                    border-top-left-radius:8px;
                }
                &.item-head-negative {
                    color: #fff;
                    background-color:#EA172C;
                    border-top-right-radius:8px;
                }

                .icon-thumbsup {
                    margin:-2px 5px -2px 0;
                }

                .icon-thumbsdown {
                    margin:-2px 5px -2px 0;
                }
            }
        }

        tr {
            display:grid;
            grid-template-columns: 1fr 1fr;

            .vertical-head{
                grid-column: 1 / -1;
                background-color:rgba(245, 245, 247, 1);
                font-weight:600;
                font-family:'Roboto Condensed', sans-serif;
                padding: 20px;
                border-left:1px solid rgba(230, 230, 230, 1);
                border-right:1px solid rgba(230, 230, 230, 1);
            }

            td {
                padding:16px;
                font-size:14px;
                line-height: 1.625em;
            }

            td:nth-child(2) {                
                border-left:1px solid rgba(230, 230, 230, 1);                
                border-right:1px solid rgba(230, 230, 230, 1);
            }

            td:nth-child(3) {
                border-right: 1px solid rgba(230, 230, 230, 1);
            }

            &:last-child td {
                border-bottom: 1px solid rgba(230, 230, 230, 1);

                &:nth-child(2){
                    border-bottom-left-radius: 8px;
                }

                &:nth-child(3){
                    border-bottom-right-radius:8px;
                }
            }
        }
    }

    .icon-thumbsup {
        width: 24px;
        height: 24px;
        vertical-align: middle;
        margin-right: 5px;
    }

    .icon-thumbsdown {
        width: 24px;
        height: 24px;
        margin-right: 5px;
        transform: rotate(180deg);
        transform-origin: center;
        vertical-align: middle;
    }

    .av-article-grid-container{
        display:grid;
        gap:24px;
        
        article{
            border:1px solid rgba(230, 230, 230, 1);
            border-radius:8px;
            overflow:hidden;

            img{
                aspect-ratio:16 / 9;
            }

            .article-text {
                padding:16px;

                h3{
                      font-size:16px;
                      margin-bottom:12px;
                      line-height: 1.556em;
                }

                p:last-child {
                    margin-bottom:0;
                }
            }
        }
    }
    .faq-list {
        padding-left:20px;
    }

    .article-list-item-medium {
        padding:8px;
        background-color:#fff;
        border:1px solid rgba(230, 230, 230, 1);
        border-radius:8px;
        margin-bottom:8px;

        figure{
            border-radius:4px;
            overflow:hidden;
        }

        .article-info {
            margin-bottom: 0;
            font-size: 12px;
            font-family:'Roboto Condensed', sans-serif;            
            font-weight:400;
            color: rgba(140, 140, 140, 1);

            strong{
                font-weight:400;
            }
        }

        h2 {
            font-size:18px;
            margin-bottom:0;
            font-weight:600;
        }
    }
}

.info-keyfacts {
    display:grid;
    gap:16px;

    .keyfacts-item{
       border:1px solid rgb(230, 230, 230);
       border-radius:8px;
       overflow:hidden;

       div{
        padding:16px;

        &:first-child{
            font-family:'Roboto Condensed', 'Roboto', sans-serif;
            font-size:1rem;
            font-weight:600;
            background-color:rgba(245, 245, 247, 1);

                strong{
                    display:block;
                    margin-top:3px;
                    font-size:1.2rem;
                }

            }

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

@media screen and (min-width: 568px) {
    #avdepot {
        .info-keyfacts .keyfacts-item{
            display:grid;
            grid-template-columns:210px auto;

            div:first-child{
                display:flex;
                flex-direction:column;
                justify-content:center;
            }
        }

        .article-list-item-medium {
            padding:8px 8px 8px 96px;
            min-height:61px;
            margin-bottom:8px;

            figure{
                width:80px;
                position:absolute;
                left:8px;
                top:8px;
            }

            h2 a{
                display:block;
                white-space:nowrap;
                overflow:hidden;
                text-overflow:ellipsis;
            }   
       
        }
    }
}


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

    #avdepot {
        display:grid;
        grid-template-columns: auto 250px;

        header {
            grid-column:1 / -1;
            gap:0 24px;
                        
            img{
                grid-column:2;
                grid-row:1 / span 3;
            }
        }

        .grid-side{
            display:block;
        }

    }
}

@media screen and (min-width: 1024px) {
    #avdepot {
        grid-template-columns: auto 300px;

        h2, h3{
            margin-bottom: 32px;
        }

        .container-headline {
            margin-bottom: 20px;
        }

        h1 {
            font-size: 3.11rem;
            margin-bottom: 24px;
        }

        h2 {
            font-size: 2.22rem;
        }

        h3 {
            font-size: 1.44rem;
        }

        .subline {
            font-size: 16px;
        }

        
        .grid-main > div {
            scroll-margin:160px;
        }

        .content-container {
            padding:24px;
        }

        header {
            img{
                grid-column:5 / span 3;
                grid-row:1 / span 3;
            }
        }

        .side-navigation{ 
            top:150px;

            ol li a{
                font-size:14px;

                strong{
                    width:21px;
                    margin-right:7px;
                }
            }
        }

        .grid-main {
            & > div{
                margin-bottom:60px;
            }
        }

        .info-keyfacts .keyfacts-item {
            display: grid;
            grid-template-columns: 240px auto;
            
            div{
                   padding:16px 24px;
                   
               &:first-child {

                strong{
                    font-size:1.44rem;
                }
                      }
            }

        }

        .newsletter-form {
            max-width:none;
            position:relative;

            .moving-labels-group input[type="email"]{
                margin-right: 240px;
                width: calc(100% - 235px);
            }

            .moving-labels-group.filled input {
                margin-top:0;
            }

            .moving-labels-group.filled input + label {
                top: -20px;
            }

            .button{
                position:absolute;
                right:0;
                top:-6px;
                width:230px;
                height:49px;
            }
        }

        .av-product-container {
            .av-product-container-item{
                display:grid;
                grid-template-rows:subgrid;
                grid-row: span 3;
                gap:0;
            }
        }

        .av-container.gapless {
            display:grid;
            grid-template-columns:1fr 1fr;

            .av-container-item{
                display:grid;
                grid-template-rows:subgrid;
                grid-row:span 2;

                .container-item-head{
                    padding-left:24px;
                    padding-right:24px;
                }

                .container-item-body{
                    padding-left:24px;
                    padding-right:24px;
                }

                &:first-child{
                    border-bottom-left-radius:8px;                    
                    border-top-right-radius:0px;
                    border-right: none;
                    border-bottom: 1px solid rgba(230, 230, 230, 1);

                    .container-item-body{
                        border-right:1px solid rgba(230, 230, 230, 1);
                    }
                }

                &:last-child {
                    border-top-right-radius:8px;                    
                    border-bottom-left-radius:0px;
                    border-left:none;
                }
            }
        }

        .av-table {
            .horizontal-head{
                th{
                      
                   border:none;

                    &:first-child{
                        display:table-cell;
                    }
                }                
            }

            tr {
                display: table-row;

                th{
                    white-space:nowrap;
                    border-bottom:1px solid rgba(230, 230, 230, 1);
                    border-right:none;
                    vertical-align:middle;
                  }

                td {
                    border-bottom:1px solid rgba(230, 230, 230, 1);
                    font-size:16px;
                    padding-left:24px;
                    padding-right:24px;
                }

                &:nth-child(2) th{
                    border-top-left-radius:8px;
                    border-top:1px solid rgba(230, 230, 230, 1);
                }

                &:last-child{
                    th{
                        border-bottom-left-radius:8px;
                    }

                    td:nth-child(2) {
                        border-bottom-left-radius:0;
                    }
                }
            }
        }

        .av-article-grid-container {
            gap: 50px 24px;
        }
    }
}

@media screen and (min-width: 1280px) {
    #avdepot {
        grid-template-columns: auto 350px;

         .content-container {
            padding:30px 40px;
        }

        .side-navigation ol li a{
            font-size:16px;
            padding:3px 20px;

            strong{
                width:28px;
            }
        }

        .grid-main {
            & > div{
                margin-bottom: 100px;
            }

        }

        .av-container.av-container-sequence {
            grid-template-columns:1fr 12px 1fr 12px 1fr 12px 1fr;
            row-gap: 32px;

            .av-container-item{
                display:grid;
                grid-template-columns:1fr;
                grid-template-rows: max-content auto;
                height:100%;
            }

            & > div > img {
                transform:rotate(0deg);
                margin-top:20px;
            }
        }

        .content-container.icon-content-container {
            max-width:none;
            margin-top:0;
        }

        .av-container.av-container-small {
            display:grid;
            grid-template-columns: 1fr 1fr 1fr 1fr;
            gap:24px;
        }

        .article-list-item-medium {
            padding:8px 8px 8px 116px;
            min-height:73px;
            margin-bottom:8px;

            figure{
                width:100px;
            }
       
        }
    }
}

/* Rechner */
/* ---------- Farben & Grundwerte (anpassbar) ---------- */
.avr {
    --avr-primary: #8e1b2f; /* Bedienelemente, Rahmen, Buttons */
    --avr-primary-soft: #f8e9ec; /* Hintergrund der aktiven Auswahl */
    --avr-accent: #43b04a; /* Ergebniszahlen */
    --avr-chart-deposit: #bfe3bb; /* Chart: Einzahlung */
    --avr-chart-allowance: #1f6b2e; /* Chart: Zulagen */
    --avr-chart-total: #43b04a; /* Chart: Gesamtverm�gen */
    --avr-chart-etf: #6f6f6f; /* Chart: Vergleichslinie ETF */
    --avr-surface: #f4f4f4; /* Panels */
    --avr-border: #e1e1e1;
    --avr-white: #ffffff;
    --avr-text: #1c1c1c;
    --avr-muted: #6d6d6d;
    --avr-tooltip-bg: #232323; /* Info-Hinweise */
    --avr-radius: 10px;
    --avr-font: inherit; /* Schrift der Seite */
    --avr-font-numbers: inherit; /* optional eigene Schrift f�r Zahlen */
    font-family: var(--avr-font);
    color: var(--avr-text);
    font-size: 16px;
    line-height: 1.35;
    box-sizing: border-box;
    container-type: inline-size;
    -webkit-text-size-adjust: 100%;
}

    .avr *, .avr *::before, .avr *::after {
        box-sizing: inherit
    }

:where(.avr) button {
    font: inherit;
    color: inherit;
    line-height: inherit;
    text-transform: none;
    letter-spacing: normal;
    margin: 0;
    border-radius: 0
}

:where(.avr) :is(p,h3,dl,dd,ul) {
    margin: 0;
    padding: 0;
    font-family: inherit
}

:where(.avr) ul {
    list-style: none
}

:where(.avr) :is(p,h3) {
    max-width: none;
    text-transform: none;
    letter-spacing: normal
}

.avr :focus-visible {
    outline: 2px solid var(--avr-primary);
    outline-offset: 3px;
    border-radius: 4px
}

/* ---------- Layout ---------- */
.avr .avr__grid {
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr
}

.avr .avr__inputs {
    display: grid;
    gap: 28px;
    align-content: start;
    container-type: inline-size;
    container-name: inputs
}

.avr .avr__results {
    container-type: inline-size;
    container-name: results
}

.avr .avr__row {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr
}

@container (min-width:980px) {
    .avr .avr__grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px
    }
}

@container inputs (min-width:460px) {
    .avr .avr__row {
        grid-template-columns: 1fr 1fr;
        row-gap: 0
    }

        .avr .avr__row > .avr__field {
            grid-row: span 2;
            grid-template-rows: subgrid
        }
}

.avr .avr__label {
    font-size: 18px;
    font-weight: 700;
    color: var(--avr-text);
    margin: 0 0 14px;
    padding: 0;
    display: block;
    line-height: 1.3;
    font-family: inherit;
    text-wrap: balance
}

.avr .avr__nowrap {
    white-space: nowrap
}

.avr .avr__field {
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: start
}

.avr .avr__panel {
    background: var(--avr-surface);
    border: 1px solid var(--avr-border);
    border-radius: var(--avr-radius);
    padding: 22px
}

/* ---------- Stepper ---------- */
.avr .avr__stepper {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: stretch;
    height: 46px;
    background: var(--avr-white);
    border: 2px solid var(--avr-primary);
    border-radius: 8px;
    overflow: hidden
}

.avr .avr__step {
    background: none;
    border: 0;
    color: var(--avr-primary);
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    line-height: 1
}

    .avr .avr__step:hover {
        background: var(--avr-primary-soft)
    }

    .avr .avr__step:disabled {
        opacity: .3;
        cursor: default;
        background: none
    }

.avr .avr__value {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    font-family: var(--avr-font-numbers);
    font-variant-numeric: tabular-nums
}

/* ---------- Slider ---------- */
.avr .avr__slider {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    font-size: 14px;
    color: var(--avr-text)
}

.avr .avr__bound {
    font-family: var(--avr-font-numbers);
    white-space: nowrap
}

.avr .avr__status {
    margin-top: 10px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--avr-muted)
}

.avr input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 26px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    --p: 50%
}

    .avr input[type=range]:focus {
        outline: none
    }

    .avr input[type=range]:focus-visible {
        outline: 2px solid var(--avr-primary);
        outline-offset: 4px;
        border-radius: 6px
    }

    .avr input[type=range]::-webkit-slider-runnable-track {
        height: 5px;
        border-radius: 3px;
        background: linear-gradient(to right,var(--avr-primary) 0,var(--avr-primary) var(--p),var(--avr-border) var(--p),var(--avr-border) 100%)
    }

    .avr input[type=range]::-moz-range-track {
        height: 5px;
        border-radius: 3px;
        background: var(--avr-border)
    }

    .avr input[type=range]::-moz-range-progress {
        height: 5px;
        border-radius: 3px;
        background: var(--avr-primary)
    }

    .avr input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 22px;
        height: 22px;
        margin-top: -8.5px;
        border-radius: 50%;
        background: var(--avr-primary);
        border: 3px solid var(--avr-white);
        box-shadow: 0 0 0 1px rgba(0,0,0,.12)
    }

    .avr input[type=range]::-moz-range-thumb {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: var(--avr-primary);
        border: 3px solid var(--avr-white);
        box-shadow: 0 0 0 1px rgba(0,0,0,.12)
    }

/* ---------- Einkommen ---------- */
.avr .avr__choices {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr
}

@container inputs (min-width:560px) {
    .avr .avr__choices {
        grid-template-columns: repeat(4,1fr)
    }
}

.avr .avr__choice {
    background: var(--avr-white);
    border: 1px solid var(--avr-border);
    border-radius: 8px;
    padding: 12px 8px;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    justify-content: center;
    min-height: 70px
}

    .avr .avr__choice:hover {
        border-color: var(--avr-primary)
    }

    .avr .avr__choice[aria-pressed=true] {
        border-color: var(--avr-primary);
        background: var(--avr-primary-soft);
        box-shadow: inset 0 0 0 1px var(--avr-primary)
    }

.avr .avr__choice-amount {
    font-weight: 700;
    font-size: 15px;
    font-size: clamp(13px,2.4cqw,15px);
    font-family: var(--avr-font-numbers);
    white-space: nowrap
}

.avr .avr__choice-rate {
    font-size: 12px;
    color: var(--avr-muted)
}

.avr .avr__check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.4;
    cursor: pointer
}

    .avr .avr__check input {
        width: 20px;
        height: 20px;
        margin: 1px 0 0;
        accent-color: var(--avr-primary);
        cursor: pointer;
        flex: none
    }

.avr .avr__partner {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--avr-border)
}

.avr .avr__sublabel {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px
}

.avr .avr__choices--partner .avr__choice {
    min-height: 52px
}

.avr .avr__rateinfo {
    margin-top: 14px;
    font-size: 13.5px;
    color: var(--avr-muted)
}

    .avr .avr__rateinfo b {
        color: var(--avr-text);
        font-family: var(--avr-font-numbers)
    }

/* ---------- Rendite ---------- */
.avr .avr__panel--ret {
    padding: 24px 22px 12px
}

.avr .avr__ret {
    position: relative;
    padding-bottom: 36px
}

.avr .avr__ticks {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 11px;
    margin-top: -4px
}

.avr .avr__tick {
    position: relative;
    width: 2px;
    height: 8px;
    background: #c8c8c8;
    flex: none
}

.avr .avr__tick--major {
    height: 14px;
    background: #9a9a9a
}

    .avr .avr__tick--major::after {
        content: attr(data-label);
        position: absolute;
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 14px;
        white-space: nowrap;
        color: var(--avr-text);
        font-family: var(--avr-font-numbers)
    }

.avr .avr__tick.is-active::after {
    font-weight: 700
}

@container inputs (max-width:420px) {
    .avr .avr__tick--major::after {
        font-size: 12px
    }
}

.avr .avr__hint {
    font-size: 12.5px;
    color: var(--avr-muted);
    margin-top: 10px;
    line-height: 1.45
}

/* ---------- Ergebnis ---------- */
.avr .avr__panel--results {
    padding: 26px
}

.avr .avr__intro {
    font-size: 17px;
    margin-bottom: 18px
}

.avr .avr__summary {
    display: grid;
    gap: 22px;
    grid-template-columns: 1fr
}

@container results (min-width:560px) {
    .avr .avr__summary {
        grid-template-columns: 1fr auto;
        align-items: start
    }
}

.avr .avr__own {
    font-size: 17px
}

.avr .avr__green {
    color: var(--avr-accent);
    font-weight: 800
}

.avr .avr__summary-figures {
    text-align: right
}

.avr .avr__total {
    color: var(--avr-accent);
    font-weight: 800;
    font-size: 46px;
    font-size: clamp(38px,9cqw,56px);
    line-height: 1;
    letter-spacing: -.01em;
    margin-bottom: 18px;
    font-family: var(--avr-font-numbers);
    font-variant-numeric: tabular-nums;
    white-space: nowrap
}

.avr .avr__kv-list {
    display: grid;
    gap: 8px
}

.avr .avr__kv {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap
}

    .avr .avr__kv dt {
        font-weight: 700;
        font-size: 16px
    }

    .avr .avr__kv dd {
        color: var(--avr-accent);
        font-weight: 800;
        font-size: 22px;
        font-family: var(--avr-font-numbers);
        font-variant-numeric: tabular-nums;
        white-space: nowrap
    }

.avr .avr__kv--tax dt {
    font-weight: 600;
    color: var(--avr-muted);
    font-size: 14px
}

.avr .avr__kv--tax dd {
    font-size: 17px;
    color: var(--avr-text)
}

.avr .avr__note {
    font-size: 12.5px;
    color: var(--avr-muted);
    margin-top: 6px
}

    .avr .avr__note:empty {
        display: none
    }

.avr .avr__etf {
    margin-top: 20px;
    padding: 14px 16px;
    background: var(--avr-white);
    border: 1px solid var(--avr-border);
    border-left: 4px solid var(--avr-chart-etf);
    border-radius: 8px;
    font-size: 14.5px;
    display: grid;
    gap: 6px
}

.avr .avr__etf-title {
    font-size: 16px
}

    .avr .avr__etf-title b {
        font-family: var(--avr-font-numbers)
    }

.avr .avr__etf-note {
    font-size: 12.5px;
    color: var(--avr-muted);
    line-height: 1.45
}

/* ---------- Chart ---------- */
.avr .avr__chart-card {
    margin-top: 24px;
    background: var(--avr-white);
    border: 1px solid var(--avr-border);
    border-radius: var(--avr-radius);
    padding: 14px 12px 12px
}

.avr .avr__chart {
    position: relative
}

    .avr .avr__chart svg {
        display: block;
        width: 100%;
        height: auto;
        touch-action: pan-y;
        overflow: visible
    }

    .avr .avr__chart text {
        fill: var(--avr-muted);
        font-family: inherit
    }

.avr .avr__tt {
    position: absolute;
    left: 0;
    top: 0;
    background: var(--avr-white);
    border: 1px solid var(--avr-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.14);
    padding: 12px 14px;
    font-size: 13.5px;
    pointer-events: none;
    min-width: 210px;
    z-index: 5
}

.avr .avr__tt-title {
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 8px;
    font-family: var(--avr-font-numbers)
}

.avr .avr__tt-row {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 2px 0
}

    .avr .avr__tt-row b {
        font-family: var(--avr-font-numbers);
        font-variant-numeric: tabular-nums
    }

.avr .avr__dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex: none
}

.avr .avr__dash {
    display: inline-block;
    width: 16px;
    height: 0;
    border-top: 2px dashed var(--avr-chart-etf);
    flex: none
}

.avr .avr__legend {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-top: 10px;
    font-size: 14px
}

    .avr .avr__legend li {
        display: flex;
        align-items: center;
        gap: 8px
    }

.avr .avr__disclaimer {
    font-size: 12px;
    color: var(--avr-muted);
    margin-top: 18px;
    line-height: 1.45
}

.avr .avr__noscript {
    padding: 16px;
    border: 1px solid var(--avr-border);
    border-radius: 8px
}

/* ---------- Info-Hinweise ---------- */
.avr .avr__infowrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: -3px;
    margin-left: 8px
}

.avr .avr__info {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid var(--avr-primary);
    color: var(--avr-primary);
    background: var(--avr-white);
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    font-style: normal;
    flex: none
}

.avr .avr__tip {
    display: none;
    position: absolute;
    left: -8px;
    top: calc(100% + 8px);
    width: min(320px,80vw);
    white-space: normal;
    background: var(--avr-tooltip-bg);
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    padding: 10px 12px;
    border-radius: 8px;
    z-index: 20;
    text-align: left
}

    .avr .avr__tip::before {
        content: "";
        position: absolute;
        top: -6px;
        left: 14px;
        border: 6px solid transparent;
        border-top: 0;
        border-bottom-color: var(--avr-tooltip-bg)
    }

.avr .avr__infowrap:focus-within .avr__tip, .avr .avr__infowrap.is-open .avr__tip {
    display: block
}

@media (hover:hover) {
    .avr .avr__infowrap:hover .avr__tip {
        display: block
    }
}

.avr .avr__tip--right {
    left: auto;
    right: -8px
}

    .avr .avr__tip--right::before {
        left: auto;
        right: 14px
    }

@media (prefers-reduced-motion:no-preference) {
    .avr .avr__choice, .avr .avr__compare, .avr .avr__step {
        transition: background-color .15s,border-color .15s
    }
}

    