body.home .part-champbirthdays {
    padding:calc(var(--pad) * 2) 0;
    background-repeat:no-repeat;
    background-position:right -5.3vw top -22.95vw;
    background-size:73vw;
    position:relative;
    
}

.part-user.shape-after.medals {
    padding-bottom:calc(var(--pad) + 5.729vw);
}

body.home .part-champbirthdays h2.component-heading,
body.home .part-champbirthdays .component-body {
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    margin-left:auto;
    margin-right:auto;
    width:var(--pw);
}

body.home .part-champbirthdays h2.component-heading::after,
body.home .part-champbirthdays .component-body::after {
    content:"";
    display:block;
    flex:1 0 55%;
}

body.home .part-champbirthdays h2.component-heading {
    color:var(--pri);
    margin-bottom:1vw;
}

body.home .part-champbirthdays .component-body {
    position:relative;
    display:flex;
    flex-direction:column;
}

body.home .part-champbirthdays .component-body > ul {
    order:1;
    margin:0 0 32px 0;
}

body.home .part-champbirthdays .com-content {
    order:2;
}

body.home .part-champbirthdays .com-content h1,
body.home .part-champbirthdays .com-content h2,
body.home .part-champbirthdays .com-content h3,
body.home .part-champbirthdays .com-content h4,
body.home .part-champbirthdays .com-content h5,
body.home .part-champbirthdays .com-content h6 {
    font-size:1.563vw;
    margin-bottom:2vw;
}

body.home .part-champbirthdays .medal-wrap {
    position:absolute;
    top:50%;
    right:0;
    transform:translatey(-70%);
    width:50%;
}

body.home .part-champbirthdays .medal-wrap::after {
    content:"";
    display:block;
    float:none;
    clear:both;
}

body.home .part-champbirthdays .medal-wrap div.medal {
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    float:left;
    margin-right:-4.8vw;
    border-radius:50%;
    z-index:1;
    aspect-ratio:1/1;
    width:15vw;
    padding-top:0.5vw;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    text-align:center;
    font-family:'Acumin';
    font-weight:bold;
    color:#ffffff;
    font-size:3vw;
}

body.home .part-champbirthdays .medal-wrap div.medal span {
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Acumin';
    color:#ffffff;
    line-height:5vw;
    width:7vw;
    height:7vw;
    padding-top:0.6vw;
    background-color:rgba(0,0,0,0.4);
    border-radius:50%;
}

body.home .part-champbirthdays .medal-wrap div.medal.silver {
    background-image:url('../gfx/medal_silver.webp');
}

body.home .part-champbirthdays .medal-wrap div.medal.gold {
    background-image:url('../gfx/medal_gold.webp');
    z-index:2;
    transform:scale(1.1,1.1);
    box-shadow:1vw 1vw 1vw rgba(0,0,0,0.2);
}

body.home .part-champbirthdays .medal-wrap div.medal.bronze {
    background-image:url('../gfx/medal_bronze.webp');
}

@media only screen and (max-width:1323px) {
    body.home .part-champbirthdays {
        padding-top:56px;
        padding-bottom:5.729vw;
    }

    /*
    .part-user.shape-after.medals {
        padding-bottom:calc(56px + 5.729vw);
    }
    */

    body.home .part-champbirthdays h2.component-heading,
    body.home .part-champbirthdays .component-body {
        width:960px;
    }

    body.home .part-champbirthdays .com-content h1,
    body.home .part-champbirthdays .com-content h2,
    body.home .part-champbirthdays .com-content h3,
    body.home .part-champbirthdays .com-content h4,
    body.home .part-champbirthdays .com-content h5,
    body.home .part-champbirthdays .com-content h6 {
        font-size:30px;
        margin-bottom:32px;
    }
}

@media only screen and (max-width:993px) {
    body.home .part-champbirthdays {
        background-position:center center;
        background-size:120%;
    }

    body.home .part-champbirthdays h2.component-heading,
    body.home .part-champbirthdays .component-body {
        width:624px;
    }
    
    body.home .part-champbirthdays .component-body > ul {
        order:1;
        margin:0;
    }

    .part-user.shape-after.medals .com-content {
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    body.home .part-champbirthdays .com-content h1,
    body.home .part-champbirthdays .com-content h2,
    body.home .part-champbirthdays .com-content h3,
    body.home .part-champbirthdays .com-content h4,
    body.home .part-champbirthdays .com-content h5,
    body.home .part-champbirthdays .com-content h6 {
        flex-basis:100%;
        margin-bottom:0;
    }

    body.home .part-champbirthdays .medal-wrap {
        position:static;
        width:auto;
        transform:none;
        margin-top:56px;
        margin-bottom:56px;
        display:flex;
        justify-content:center;
        flex-basis:100%;
    }

    body.home .part-champbirthdays .medal-wrap div.medal {
        width:24vw;
        font-size: 9.365vw;
        padding-top: 0.5vw;
    }
    
    body.home .part-champbirthdays .medal-wrap div.medal span {
        font-size:8vw;
        width:13vw;
        height:13vw;
        padding-top:1.5vw;
    }

    body.home .part-champbirthdays .medal-wrap div.medal:last-child {
        margin-right:0;
    }

    body.home .part-champbirthdays h2.component-heading::after,
    body.home .part-champbirthdays .component-body::after {
        display:none;
    }
}

@media only screen and (max-width:639px) {
    body.home .part-champbirthdays {
        background-position:center center;
        background-size:160%;
    }

    body.home .part-champbirthdays h2.component-heading,
    body.home .part-champbirthdays .component-body {
        width:auto;
        padding-left:24px;
        padding-right:24px;
    }

    body.home .part-champbirthdays .medal-wrap div.medal {
        width:30vw;
        margin-right: -4vw;
        font-size: 10.365vw;
        
    }
}

/* blokkos */

.part-champbirthdays.block {
    padding:32px;
    height:100%;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
}

.part-champbirthdays.block h2.component-heading {
    font-size:36px;
    margin-bottom:20px;
    text-align:center;
}

.part-champbirthdays.block ul {
    margin:0;
}

@media only screen and (min-width:1324px) {
    .part-champbirthdays.block {
        padding:2.917vw;
        box-shadow:0 0 0.5vw rgba(0,0,0,0.2);
    }
    
    .part-champbirthdays.block h2.component-heading {
        font-size:2.917vw;
        margin-bottom:1vw;
    }
}

@media only screen and (max-width:993px) {
    .part-champbirthdays.block {
        box-shadow:0 0 0.5vw rgba(0,0,0,0.2);
    }
}

@media only screen and (max-width:639px) {
    .part-champbirthdays.block {
        padding:24px;
        box-shadow:0 0 0.5vw rgba(0,0,0,0.2);
    }
}

/* blokkos end */