/* banner */

div.part-user.banner2k {
    position:relative;
    padding-top:32px;
    padding-bottom:32px;
    margin-top:var(--pad);
    margin-bottom:var(--pad);
}

div.part-user.banner2k::before {
    content:"";
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:33%;
    height:100%;
    background-image:url('../gfx/banner2k_mask.svg');
    background-size:cover;
    background-repeat:no-repeat;
    background-position:right center;
}

div.part-user.banner2k h2.component-heading,
div.part-user.banner2k .component-body {
    width:960px;
    margin-left:auto;
    margin-right:auto;
    padding-left:20%;
}

div.part-user.banner2k h2.component-heading::after {
    display:none;
}

div.part-user.banner2k * {
    margin:0;
    padding:0;
}

div.part-user.banner2k.inv * {
    color:#ffffff;
}

div.part-user.banner2k img {
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

div.part-user.banner2k .com-content * {
    font-weight:bold;
}

div.part-user.banner2k a {
    display:inline-block;
    padding:20px;
    background-color:var(--pri);
    color:#ffffff;
    text-transform:uppercase;
}

div.part-user.banner2k a:hover {
    background:var(--grd);
}

@media only screen and (min-width:1324px) {
    div.part-user.banner2k h2.component-heading,
    div.part-user.banner2k .component-body {
        width:var(--pw);
    }

    div.part-user.banner2k a {
        padding:1vw;
        margin-left:2vw;
        line-height:1em;
    }

    div.part-user.banner2k .com-content {
        display:flex;
        justify-content:space-between;
    }
}

@media only screen and (max-width:1323px) {
    div.part-user.banner2k {
        margin-top:var(--pad_mob);
        margin-bottom:var(--pad_mob);
    }

    div.part-user.banner2k h2.component-heading,
    div.part-user.banner2k .component-body {
        padding-left:320px;
    }

    div.part-user.banner2k a {
        margin-top:20px;
    }
}

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

    div.part-user.banner2k::before {
        width:20%;
    }

    div.part-user.banner2k h2.component-heading,
    div.part-user.banner2k .component-body {
        padding-left:110px;
        width:624px;
    }
}

@media only screen and (max-width:639px) {
    div.part-user.banner2k h2.component-heading,
    div.part-user.banner2k .component-body {
        width:auto;
        padding-left:20%;
        padding-right:24px;
    }
}

@media only screen and (max-width:479px) {
    div.part-user.banner2k h2.component-heading {
        font-size:36px;
        margin-bottom:10px;
    }
}

/* banner end */

/* profile */

div.part-user.profile {
    position:relative;
    margin-top:96px;
    margin-bottom:32px;
    padding-top:180px;
    padding-bottom:180px;
}

div.part-user.profile * {
    margin:0;
    padding:0;
}

div.part-user.profile h2.component-heading,
div.part-user.profile .component-body {
    width:960px;
    margin-left:auto;
    margin-right:auto;
    padding-left:520px;
}

div.part-user.profile h2.component-heading {
    margin-bottom:32px;
}

div.part-user.profile h2.component-heading::after {
    display:none;
}

div.part-user.profile a {
    display:inline-block;
    padding:20px;
    margin-top:32px;
    background-color:var(--pri);
    color:#ffffff;
    text-transform:uppercase;
    line-height:1em;
}

div.part-user.profile a:hover {
    background:var(--grd);
}

div.part-user.profile img {
    position:absolute;
    top:0;
    left:0;
    width:45%;
    height:100%;
    object-fit:cover;
    object-position:top center;
}

div.part-user.profile h6 {
    position:absolute;
    z-index:-1;
    width:100%;
    left:0;
    top:-9vw;
    font-size:12vw;
    text-transform:uppercase;
    text-align:center;
    color:#ebfafe;
}

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

    div.part-user.profile {
        padding-top:9.375vw;
        padding-bottom:9.375vw;
        margin-top:5vw;
        margin-bottom:1.667vw;
    }

    div.part-user.profile h2.component-heading {
        margin-bottom:1.667vw;
    }

    div.part-user.profile h2.component-heading,
    div.part-user.profile .component-body {
        width:var(--pw);
        margin-left:auto;
        margin-right:auto;
        padding-left:40vw;
    }

    div.part-user.profile a {
        margin-top:1.667vw;
    }
}

@media only screen and (max-width:1323px) {
    div.part-user.profile {
        padding-top:120px;
        padding-bottom:120px;
    }
}

@media only screen and (max-width:993px) {
    div.part-user.profile {
        padding-top:0;
        padding-bottom:0;
        margin-top:0;
    }

    div.part-user.profile h2.component-heading,
    div.part-user.profile .component-body {
        width:624px;
        padding-left:0;
    }

    div.part-user.profile h6 {
        display:none;
    }

    div.part-user.profile img {
        display:block;
        width:auto;
        height:auto;
        aspect-ratio:1/1;
        object-fit:cover;
        object-position:center top;
        position:static;
        margin-bottom:32px;
    }
}

@media only screen and (max-width:639px) {
    div.part-user.profile h2.component-heading,
    div.part-user.profile .component-body {
        width:auto;
        padding-left:24px;
        padding-right:24px;
    }
}

/* profile mirror */

div.part-user.profile.mirror {

}

div.part-user.profile.mirror h2.component-heading,
div.part-user.profile.mirror .component-body {
    padding-left:0;
    padding-right:520px;
}

@media only screen and (min-width:1324px) {
    div.part-user.profile.mirror h2.component-heading,
    div.part-user.profile.mirror .component-body {
        padding-left:0;
        padding-right:40vw;
    }
}

@media only screen and (min-width:994px) {
    div.part-user.profile.mirror img {
        left:auto;
        right:0;
    }
}

@media only screen and (max-width:993px) {
    div.part-user.profile.mirror h2.component-heading,
    div.part-user.profile.mirror .component-body {
        padding-right:0;
    }
}

@media only screen and (max-width:639px) {
    div.part-user.profile.mirror h2.component-heading,
    div.part-user.profile.mirror .component-body {
        padding-left:24px;
        padding-right:24px;
    }
}

/* profile shape */

@media only screen and (min-width:994px) {
    div.part-user.profile.shp {
        background-image:url('../gfx/profile_shape.svg');
        background-position:top 4vw left;
        background-size:70vw;
        background-repeat:no-repeat;
    }
}

/* profile end */

/* sponsors */

.part-user.sponsor2k {

}

.part-user.sponsor2k *,
.part-user.sponsor2k *::before,
.part-user.sponsor2k *::after {
    box-sizing:content-box;
}

.part-user.sponsor2k h2.component-heading {
    margin-left:auto;
    margin-right:auto;
    width:var(--pw);
}

.part-user.sponsor2k p {
    width:264px;
    aspect-ratio:16/9;
    margin:0;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

.part-user.sponsor2k p a {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
}

.part-user.sponsor2k p img {
    width:auto;
    height:auto;
    max-width:50%;
    max-height:50%;
    filter:grayscale(1);
}

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

    .part-user.sponsor2k h2.component-heading {
        width:960px;
    }

}

@media only screen and (max-width:993px) {
    .part-user.sponsor2k h2.component-heading {
        width:624px;
    }
}

@media only screen and (max-width:639px) {
    .part-user.sponsor2k h2.component-heading {
        width:auto;
        padding-left:24px;
        padding-right:24px;
    }

}

/* sponsors end */

/* TABLO */

.part-user p.tablo {
    display:inline-table;
    width:277px;
    padding-right:32px;
    padding-left:32px;
    margin-bottom:32px;
    vertical-align:top;
}

.part-user p.tablo img {
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center top;
    margin-top:0 !important;
    margin-bottom:20px !important;
    background:none !important;
}

.part-user p.tablo a {
    text-decoration:none;
}

.part-user p.tablo span.tablo-name {
    display:block;
    text-align:left !important;
    font-weight:bold !important;
    font-size:28px !important;
    line-height:34px;
    margin-bottom:10px;
    text-transform:uppercase;
}

.part-user p.tablo span.tablo-data {
    display:block;
    text-align:left !important;
    font-size:14px !important;
    line-height:20px;
}

@media only screen and (min-width:1324px) {
    .part-user p.tablo {
        width:16.3vw;
        padding-left:1.667vw;
        padding-right:1.667vw;
        margin-bottom:1.667vw;
    }

    .part-user p.tablo img {
        margin-bottom:1vw !important;
    }

    .part-user p.tablo span.tablo-name {
        font-size:1.458vw !important;
        line-height:1.771vw;
        margin-bottom:0.5vw;
    }

    .part-user p.tablo span.tablo-data {
        font-size:0.729vw !important;
        line-height:1vw;
    }
}

@media only screen and (max-width:993px) {
    .part-user p.tablo {
        width:204px;
        padding-left:16px;
        padding-right:16px;
    }

}

@media only screen and (max-width:639px) {
    .part-user p.tablo {
        width:190px;
    }
}

@media only screen and (max-width:479px) {
    .part-user p.tablo {
        width:42vw;
        padding-left:0.5vw;
        padding-right:0.5vw;
    }

    .part-user p.tablo span.tablo-name {
        font-size:14px !important;
        line-height:22px;
    }

}

/* TABLO END */

/* p-grid */

.part-user.p-grid {

}

.part-user.p-grid .com-content {
    display:flex;
    flex-wrap:wrap;
}

.part-user.p-grid .com-content h1,
.part-user.p-grid .com-content h2,
.part-user.p-grid .com-content h3,
.part-user.p-grid .com-content h4,
.part-user.p-grid .com-content h5,
.part-user.p-grid .com-content h6 {
    flex-basis:100%;
}

.part-user.p-grid .com-content p {
    width:16.66%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px;
    margin:0;
}

.part-user.p-grid .com-content p img {
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    display:block;
}

@media only screen and (min-width:1324px) {
    .part-user.p-grid .com-content p {
        padding:2vw;
    }
}

@media only screen and (max-width:993px) {
    .part-user.p-grid .com-content p {
        width:25%;
        padding:20px;
    }
}

@media only screen and (max-width:479px) {
    .part-user.p-grid .com-content p {
        width:33.33%;
    }
}

/* p-grid end */