:root {
    --scalingContainerWidth:1440px;
}

.mobileOnly {
    display: none;
}

.scaleContainer {
    position: absolute;
    width: 100%;
    height: auto !important;
}

.scaleContainer2 {
    position: absolute;
    width: 100%;
}

.scaled {
    width: 100%;
    left: 50% !important;
    --transX: -50%;
    --transY: 0px;
    max-width: 1920px;
    min-width: 1440px;
    transform-origin: top center;
    transform: translate(var(--transX), var(--transY));
}

.mainPage {
    position: relative;
    z-index: 2;
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.scaleContainer2 .mainPage {
    height: 100%;
}

body > section:not(.fixed) {
    z-index: 2;
}

header {
    padding: 25px 65px;
    box-sizing: border-box;
    width: 1440px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 3;
}

.navi {
    position: relative;
    width: fit-content;
    height: fit-content;
}
.navi::before, .navi::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    box-sizing: border-box;
    border: 2px solid #322EE5;
    z-index: -1;
}
.navi::after {
    top: 10px;
    left: -10px;
}
.navi::before {
    top: 20px;
    left: -20px;
}
.navi ul {
    background: #fff;
    height: fit-content;
    width: fit-content;
    position: relative;
    list-style-type: none;
    z-index: 1;
    padding: 5px 30px;
    border: 2px solid #322EE5;
    display: flex;
}
.navi ul li {
    margin: 0 15px;
}

.navi ul li a {
    font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace;
    color: #000;
    display: block;
    text-decoration: none;
    padding: 7px 15px 10px;
    position: relative;
    font-size:18px;
    transition: all 0.3s ease-in-out;
}

.navi ul li a:hover, .navi ul li a.active {
    cursor: pointer;
    color: #322EE5;
}

.navi ul li a::before {
    content: '';
    background: #000;
    height: 1.5px;
    width: 0px;
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.3s ease-in-out;
}

.navi ul li a.active::before {
    width: 90%;
    background: #322EE5;
}

.desktop {
    width: 1440px;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    z-index: 2;
}

.desktop:not(.projects, .contact, .cv) .box {
    position: absolute;
}

.box {
    width: fit-content;
    height: fit-content;
    margin-top: 0px;
    margin-bottom: 0px;
    
}

.desktop:not(.projects, .contact, .cv) .box {
    right: 65px;
}

#experience.box {
    left: unset !important;
    right: 65px !important;
}

.desktop:not(.projects, .contact, .cv) .box:nth-of-type(2n) {
    right: unset;
    left: 65px;
}

.highlight {
    z-index: 1;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, z-index 0s ease-in-out 0.3s;
}

.highlight.active {
    opacity: 1;
    z-index: 3;
    transition: opacity 0.3s ease-in-out, z-index 0s ease-in-out 0s;
}

.highlight * {
    user-select: none;
    pointer-events: none;
}

.highlight.active * {
    user-select:unset;
    pointer-events: unset;
}

@keyframes unpop {
    0% {
        transform: translate(var(--transX), var(--transY)) scale(1);   
    }
    25% {
        transform: translate(var(--transX), var(--transY)) scale(1.1);
    }
    99% {
        z-index: 2;
    }
    100% {
        transform: translate(var(--transX), var(--transY)) scale(0);
        z-index: 1;
    }
}

@keyframes pop {
    0% {
        transform: translate(var(--transX), var(--transY)) scale(0);
        z-index: 1;
    }
    1% {
        z-index: 2;
    }
    75% {
        transform: translate(var(--transX), var(--transY)) scale(1.1);
    }
    100% {
        transform: translate(var(--transX), var(--transY)) scale(1);
    }
}

.highlight .box {
    position: absolute;
}

.highlight .box.higlighted {
    z-index: 2;
    user-select:unset;
    pointer-events: unset;
    transform: translate(var(--transX), var(--transY)) scale(1);
    animation-name: pop;
    animation-duration: 0.4s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.highlight .box.closed {
    animation-name: unpop;
    animation-duration: 0.4s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.heading {
    left: 90px;
    top:100px;
}

.heading::after {
    left: -10px;
    bottom: -10px;
}

.heading::before {
    left: -20px;
    bottom: -20px;
}

.desktop .minimize {
    opacity: 0.8;
}

.desktop .minimize:hover {
    cursor: default !important;
    box-shadow: none !important;
}

.highlight .maximize::before {
    border: transparent 0px solid !important;
    background: #4F4F4F;
    mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.12 17.12'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpolygon class='cls-1' points='17.12 2.12 15 0 8.56 6.44 2.12 0 0 2.12 6.44 8.56 0 15 2.12 17.12 8.56 10.68 15 17.12 17.12 15 10.68 8.56 17.12 2.12'/%3E%3C/svg%3E");
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.12 17.12'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; %7D %3C/style%3E%3C/defs%3E%3Cpolygon class='cls-1' points='17.12 2.12 15 0 8.56 6.44 2.12 0 0 2.12 6.44 8.56 0 15 2.12 17.12 8.56 10.68 15 17.12 17.12 15 10.68 8.56 17.12 2.12'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
}

.highlight .box {
    left: 50%;
    top: 50%;
    z-index: 1;
    --transX: -50%;
    --transY: -50%;
    transform: translate(var(--transX), var(--transY)) scale(0);
    user-select: none;
    pointer-events: none;
    transition: transform 0.3s ease-in-out, z-index 0s ease-in-out 0.3s;
}

.highlight .dialog > div h1 {
    font-size: 21px;
    padding: 8px 0px 11px;
}

.highlight .content > .boxContainer p {
    font-size: 19px;
    font-family: 'Inter', sans-serif;
    line-height: 29px;
    margin-bottom: 20px;
}

.highlight:not(.projects, .contact, .cv) .box .content > .boxContainer {
    padding-bottom: 200px;
}

.highlight .content > .boxContainer ul {
    width: 1000px;
}

.highlight .content > .boxContainer ul li {
    margin: 10px 15px;
    width: calc(calc(100% - calc(30px * 6)) / 6);
}

.highlight .content > .boxContainer ul li span {
    padding: 2px 0px;
    border: 2px solid #322EE5;
    font-size: 19px;
    line-height: 29px;
}

.highlight .content > .boxContainer h2, .highlight .content > .boxContainer h3 {
    font-size: 27px;
    line-height: 54px;
}

.highlight .content::before, .highlight .content::after {
    border: 2px solid #322EE5;
}

.highlight .dialog::before, .highlight .content::before {
    top: 30px;
    left: -30px;
}

.highlight .dialog::after, .highlight .content::after {
    top: 15px;
    left: -15px;
}

.desktop.contact {
    justify-content: center;
    align-content: center;
    height: 100%;
}

.desktop.projects {
    padding-top: 150px;
    justify-content: space-evenly;
}

.desktop.projects .heading {
    top: 75px;
    transform: translate(0%, -50%);
}

.desktop.projects .box {
    position: relative;
}

.desktop.projects .box .content .boxContainer {
    width: calc(0.21 * var(--scalingContainerWidth)) !important;
    height: calc(0.21 * var(--scalingContainerWidth))  !important;
}

.desktop.contact .box .content .boxContainer {
    width: 600px;
}

.desktop.cv {
    justify-content: flex-end;
}

.content > .boxContainer > .thumbContainer {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.content > .boxContainer > .thumbContainer img {
    position: absolute;
    height: 100%;
    left: 50%;
    top: 50%;
    width: auto;
    transform: translate(-50%, -50%);
}

.highlight.contact .box .content .boxContainer {
    width: 650px;
}

.highlight.projects .dialog::before, .highlight.projects .content::before {
    top: 20px;
    left: -20px;
}

.highlight.projects .dialog::after, .highlight.projects .content::after {
    top: 10px;
    left: -10px;
}

.highlight.projects .box {
    position: absolute;
    --transX: calc(-50% + 10px);
    --transY: calc(-50% - 10px);
    width: calc(var(--scalingContainerWidth) - 50px);
    height: calc(var(--scalingContainerHeight) - 50px);
}

.highlight.projects .box .dialog {
    height: 45px;
}

.highlight.projects .box .content {
    height: calc(100% - 45px);
}

.highlight.projects .box .content > .boxContainer {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.highlight.projects .box .content > .boxContainer .fullProject {
    overflow: hidden;
    position: relative;
}

.highlight.projects .box .content > .boxContainer .fullProject iframe {
    border: 0px solid transparent;
    outline: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 8px);
    height: calc(100% + 2px);
}

.decoration {
    z-index: 1;
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
}

.gradient {
    position: absolute;
    background: radial-gradient(rgba(133,195,190,1) 10%, rgba(232,226,252,0) 60%);
}

.desktop .box, .desktop .heading {
    z-index: 2;
}

.desktop .star {
    z-index: 1;
}

.content > .boxContainer p br.mobile {
    display: none;
}

@keyframes rotateStar {
    /* 0% {
        transform: translate(-50%, -50%) rotateY(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotateY(180deg);
    } */

    0% {
        transform: translate(-50%, -50%) scale(1) rotateY(0deg);
    }
    50% {
        transform: translate(-50%, -50%) scale(0.3) rotateY(90deg);
    }
    100% {
        transform: translate(-50%, -50%) scale(1) rotateY(180deg);
    }
}

.star {
    position: absolute;
    aspect-ratio: 92 / 107;
    width: 6%;
    perspective: 470px;
    --transX: -50%;
    --addY: 0px;
    --animationDelay: 0s;
    --transY: calc(-50% + var(--addY));
    transform: translate(var(--transX), var(--transY));
}

.star::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    background: #322EE5;
    mask-image: url("data:image/svg+xml,%3Csvg width='92' height='107' viewBox='0 0 92 107' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath id='Portal' fill-rule='evenodd' clip-rule='evenodd' d='M46 107C45.908 77.4891 25.3485 53.5991 0 53.5991C25.4051 53.5991 46 29.6017 46 0C46.0916 29.5109 66.6515 53.4009 92 53.4009C66.5945 53.4009 46 77.3983 46 107Z' fill='%23fff'/%3E%3C/svg%3E%0A");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg width='92' height='107' viewBox='0 0 92 107' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath id='Portal' fill-rule='evenodd' clip-rule='evenodd' d='M46 107C45.908 77.4891 25.3485 53.5991 0 53.5991C25.4051 53.5991 46 29.6017 46 0C46.0916 29.5109 66.6515 53.4009 92 53.4009C66.5945 53.4009 46 77.3983 46 107Z' fill='%23fff'/%3E%3C/svg%3E%0A");
    mask-size:100% 100%;
    -webkit-mask-size:100% 100%;
}

.desktop .star::before {
    animation-name: rotateStar;
    animation-duration: 2.2s;
    animation-delay: var(--animationDelay);
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.desktop #star-0 {
    left: 9.5%;
    --addY: 65px;
    --animationDelay: 0s;
}

.desktop #star-1 {
    right: 8%;
    --animationDelay: 0.15s;
}

.desktop #star-2 {
    left: 22%;
    --animationDelay: 0.3s;
}

.desktop #star-contact-0 {
    left: 9.5%;
    top: 65%;
    --addY: 65px;
    --animationDelay: 0s;
}

.desktop #star-contact-1 {
    right: 8%;
    top: 23%;
    --animationDelay: 0.15s;
}

.highlight .box .content .star {
    width: calc(0.06 * var(--scalingContainerWidth));
}

.highlight .box .content #education-star-0 {
    right: 35%;
    bottom: -15px;
}

.highlight .box .content #education-star-1 {
    left: 10%;
    bottom: 20px;
}

.highlight .box .content #education-star-2 {
    top: 50%;
    left: 90%;
}

.highlight .box .content #designTools-star-0 {
    right: 35%;
    bottom: -15px;
}

.highlight .box .content #designTools-star-1 {
    left: 10%;
    bottom: 20px;
}

.highlight .box .content #designTools-star-2 {
    top: 50%;
    left: 90%;
}

.highlight .box .content #experience-star-0 {
    right: 35%;
    bottom: -15px;
}

.highlight .box .content #experience-star-1 {
    left: 10%;
    bottom: 20px;
}

.highlight .box .content #experience-star-2 {
    top: 50%;
    left: 90%;
    --addY: 10px;
}


#gradient-0 {
    width: 70%;
    height: auto;
    aspect-ratio: 763 / 344;
    left: 0%;
    bottom: 0%;
    transform: translate(-20%, 32%);
}

#gradient-1 {
    width: 70%;
    height: auto;
    aspect-ratio: 763 / 344;
    left: 0%;
    top: 0%;
    transform: translate(-47%, 0%);
}

#gradient-2 {
    width: 80%;
    height: auto;
    aspect-ratio: 763 / 444;
    right: 0%;
    top: 0%;
    transform: translate(40%, -20%);
}
.desktop .iframeCont {
    margin-right: 90px;
}