/* ****************************** */
/* platform-circle  */
/* ****************************** */
.platform-circle,
body.page-template-template-front-page .platform-circle {
    background: black;
}

.platform-circle .title-box,
body.page-template-template-front-page .platform-circle .title-box {
    width: 67.181vw;
    padding-bottom: 3.472vw;
    margin: auto;
}

.platform-circle .title-box.full {
    width: initial;
}

.platform-circle h2,
body.page-template-template-front-page .platform-circle h2 {
    font-weight: 500;
    font-size: 4.444vw;
    line-height: 110%;
    margin: 2.222vw 0 1.667vw;
    color: #ffffff;
    letter-spacing: -2%;
    position: relative;
    text-transform: uppercase;
    font-family: var(--title-font);
}

.platform-circle h2 span {
    display: block;
}

.platform-circle p.description,
body.page-template-template-front-page .platform-circle p.description {
    color: #F1F1F1;
    font-size: 1.111vw;
    line-height: 125%;
    font-weight: 500;
    opacity: .8;
    width: 40.264vw;
    margin: auto;
}

.circle,
body.page-template-template-front-page .circle {
    display: flex;
    justify-content: center;
    align-items: center;
    /* height: 100vh; */
    margin: 0;
}

.wheel,
body.page-template-template-front-page .wheel {
    position: relative;
    width: 40.81vw;
    height: 41.111vw;
    border-radius: 50%;
    overflow: hidden;
    /* border: 1.111vw solid #000; The outer dark ring */
}

.circle .main-container,
body.page-template-template-front-page .circle .main-container {
    position: relative;
}

.circle .main-container::before,
body.page-template-template-front-page .circle .main-container::before {
    content: '';
    display: block;
    border-radius: 50%;
    background: #000000;
    position: absolute;
    top: -1vw;
    right: -1vw;
    left: -1vw;
    bottom: -1vw;
    border: 1px solid #121212;
}

.wheel img,
body.page-template-template-front-page .wheel img {
    position: absolute;
    z-index: 2;
    width: 11.806vw;
    height: 11.806vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wheel img.large,
body.page-template-template-front-page .wheel img.large {
    width: 37.806vw;
    height: 37.806vw;
}

.slice,
body.page-template-template-front-page .slice {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #ffffff14;
    /* background-color: #FFFFFF0D; */
    border: 0.069vw solid white;
    clip-path: polygon(50% 50%, 36.4% 0%, 63.6% 0%);
    /* Rotates each slice by 30 degrees (360/12) */
    transform: rotate(calc(var(--i) * 30deg));
    transition: background-color 0.3s, transform 0.3s;
    cursor: pointer;
    display: flex;
    justify-content: center;
    border: 0.069vw solid rgba(255, 255, 255, 0.05);
}

.slice a,
body.page-template-template-front-page .slice a {
    width: calc(98% - 6.944vw);
    height: calc(98% - 6.944vw);
    /* background-color: #0E0C0F; */
    background-color: #121212;
    clip-path: polygon(50% 50%, 36.4% 0%, 63.6% 0%);
    display: flex;
    justify-content: center;
    color: white;
    text-decoration: none;
    padding: 3.472vw;
    transition: .5s;
    position: relative;
}

.slice a::after,
body.page-template-template-front-page .slice a::after {
    content: '';
    position: absolute;
    background: url(/wp-content/themes/pmtech/pages/homepage-old/assets/img/rows.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 1.111vw;
    height: 1.111vw;
    bottom: 26.944vw;
    transform: rotate(270deg);
    opacity: 0;
    transition: .3s;
}

.slice a span,
body.page-template-template-front-page .slice a span {
    width: fit-content;
    height: fit-content;
    transform: rotate(calc(var(--i) * -30deg));
    text-align: center;
    font-size: 0.763vw;
    line-height: 110%;
    font-weight: 600;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    font-family: var(--base-font);

    max-width: 8vw;
    min-width: 6vw;
}

.slice:hover a,
body.page-template-template-front-page .slice:hover a {
    background-color: #2a2a2a;
    z-index: 2;
}

.slice:hover a::after,
body.page-template-template-front-page .slice:hover a::after {
    opacity: 1;
}

.slice:hover span,
body.page-template-template-front-page .slice:hover span {
    color: #ffffff;
    /* text-decoration: underline; */
}



.slice.base-colors-hover:hover a,
body.page-template-template-front-page .slice.base-colors-hover:hover a {
    background-color: var(--base-background);
    z-index: 2;
}

.slice.base-colors-hover:hover a::after,
body.page-template-template-front-page .slice.base-colors-hover:hover a::after {
    opacity: 0;
}

.wheel::after,
body.page-template-template-front-page .wheel::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.139vw;
    height: 0.139vw;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: 10;
}

.circle+p,
body.page-template-template-front-page .circle+p {
    text-align: center;
    color: #FFFFFF99;
    line-height: 150%;
    font-size: 0.903vw;
    margin: 1.111vw 0 2.778vw;
}

.circle+p,
body.page-template-template-front-page .circle+p {
    margin: 2.778vw 0 0;
}

@media screen and (max-width: 960px) {
    body.page-template-template-front-page .platform-circle .title-box {
        width: calc(100% - 2 * 5.128vw);
        padding: 0 5.128vw 6.154vw;
        margin: 0;
    }

    body.page-template-template-front-page .platform-circle h2 {
        /* font-size: 6.667vw; */
        font-size: 6.267vw;
        margin-top: 6.154vw;
    }

    body.page-template-template-front-page .platform-circle p.description {
        /* font-size: 3.59vw; */
        font-size: 2.79vw;
        width: 100%;
        margin: 0;
        margin-top: 4.103vw;
    }

    body.page-template-template-front-page .wheel {
        width: 85.81vw;
        height: 85.81vw;
    }

    body.page-template-template-front-page .wheel img {
        width: 25.641vw;
        height: 25.641vw;
    }

    body.page-template-template-front-page .slice a {
        padding: 9.472vw;
    }

    body.page-template-template-front-page .slice a span {
        /* font-size: 2.051vw; */
        font-size: 1.551vw;
        width: 16vw;
    }

    body.page-template-template-front-page .circle .main-container::before {
        top: -3vw;
        right: -3vw;
        left: -3vw;
        bottom: -3vw;
    }
}