/* FONT IMPORTS */
@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap');

/* LINKS */
a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.5);

    transition: 0.5s
}

a:hover, a:active, a:focus {
    color: white;
}

/* OVERALL */

html, body { 
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    height: 100%;
    color: white;
}

#vanta-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}

/* * {
    overflow-x: hidden;
} */

canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

    /* SMOOTH SCROLLING */
html { scroll-behavior: smooth; }

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

/* SCROLL BAR */
/* * {
	scrollbar-color: #404040 #1b1b1b !important;
	scrollbar-width: auto !important;
} */
/* 
*::-webkit-scrollbar {
    width: 17px;
    background-color: #1b1b1b;
}

*::-webkit-scrollbar-thumb {
    background-color: #404040;
    border: 2px solid #1b1b1b;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: #505050;
}

*::-webkit-scrollbar-thumb:active {
    background-color: #606060;
} */

* {
    color-scheme: dark;
}

.scroll-watcher {
    height: 15px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background: white;
    width: 100%;
    scale: 0 1;
    transform-origin: left;
    
    animation: scroll-watcher linear;
    animation-timeline: scroll();
}

@keyframes scroll-watcher {
    to { scale: 1 1; }
}

/* LOADER SCREEN */
/* body.hide-scrollbar {
    overflow: hidden;
}

body.show-scrollbar {
    overflow: auto;
    transition: overflow 1s ease-in-out;
} */

#content {
    visibility: hidden;
    opacity: 0;
}

.loader-wrapper {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #111111;
        
    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 9999;
}

.loader {
    width: 100px;
    height: 100px;
    display: inline-block;
    position: relative;
}

.loader::after, .loader::before {
    content: '';  
    box-sizing: border-box;
    width: 100px;
    height: 100px;
    border-radius: 100%;
    border: 2px solid #FFF;
    position: absolute;
    left: 0;
    top: 0;
    animation: animloader 1.5s linear infinite;
}

.loader::after {
    animation-delay: 1s;
}
  
@keyframes animloader {
    0% {
      transform: scale(0);
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 0;
    }
}

@keyframes l2 {
    100% {box-shadow: 0 0 0 40px #0000}
}

header {
    font-size: 3rem;    
}

article {
    animation: color-change;
    animation-timeline: scroll();
}


article h2 {
    text-indent: 5rem;
    text-shadow: 0vw 0.5vh rgb(134, 134, 134, 0.5);
}

/* article:nth-child(odd) {
    background: rgb(0, 0, 0, 0.25);
} */

/* @keyframes color-change {
    0% {
        background: #1b1b1a;
    }

    25% {
        background: #1b1b1a;
    }

    30% {
        background: rgb(0, 0, 0, 0.25);
    }
} */

#portfolio-bg {
    /* background-image: url(../img/tt\ gameplay.png);
    background-size: 50%;
    filter: brightness(50%); */
}

img {
    position: relative;

    width: 40vw;
    border-radius: 0.5vw;
}

.noBorder {
    border: none;
    border-radius: 0;
    padding: 0;
}

.footer {
    text-indent: 3.5vw;
}

.footer p {
    font-size: 1.5rem;
}

#top {
    display: block;
    visibility: hidden;
    opacity: 0;
    background: white;
    color: black;
    font-size: 2rem;

    position: fixed;
    width: 7vh;
    height: 7vh;
    bottom: 5vh;
    right: 5vh;
    border-radius: 4vh;

    text-align: center;
    line-height: 7vh;
    z-index: 99;

    transition: 400ms ease;
}

#top.visible {
    visibility: visible;
    opacity: 1;
}

#top:hover {
    font-size: 2rem;
    scale: 1.1;

    transition: 400ms ease;
}

h2 {
    position: relative; 

    font-family: 'DM Sans';
    font-weight: 800;
    font-size: 5rem;
    text-transform: lowercase;
    /* text-shadow: 0.25vw 0.25vh rgba(170, 170, 170, 0.5); */

    margin-left: 1vw;
    margin-top: 5vh;
    margin-bottom: 5vh;
}

@keyframes flicker {
    0% { opacity: 1; }
    5% { opacity: 1; }
    10% { opacity: 1; }
    15% { opacity: 1; }
    20% { opacity: 1; }
    25% { opacity: 1; }
    30% { opacity: 1; }
    35% { opacity: 0; }
    40% { opacity: 1; }
    45% { opacity: 1; }
    50% { opacity: 0; }
    55% { opacity: 1; }
    60% { opacity: 1; }
    65% { opacity: 1; }
    70% { opacity: 1; }
    75% { opacity: 1; }
    80% { opacity: 0; }
    95% { opacity: 1; }
    90% { opacity: 1; }
}

/* h2, .glow {
    text-shadow: 0 0 3px #ffffff, 0 0 6px #ffffff, 0 0 9px #ffffff;
} */

.box-glow {
    box-shadow: 0 0 2px #ffffff, 0 0 4px #ffffff, 0 0 10px #ffffff;
}

.rb-glow::before {
    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

h3 {
    position: relative; 

    font-family: 'Kaushan Script';
    font-size: 1.25vw;
    font-weight: 500;
}

.public-sans {
    font-family: 'Public Sans';
}

.dm-sans {
    font-family: 'DM Sans';
}

.kaushan-script {
    font-family: 'Kaushan Script';
}

.libre-franklin {
    font-family: 'Libre Franklin';
}

.container-appear {
    opacity: 0;
    transition: opacity 1.5s ease-out;
}

.container-appear.visible {
    opacity: 0.85;
}

.new-id {
    /* display: inline-block;
    background: -webkit-linear-gradient(
        135deg, 
        rgba(255, 188, 0, 0.8), 
        rgba(255, 0, 88, 0.8)
    );
    margin-left: 5vw;
    padding-right: 75px;
    border-radius: 25px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); */
}

@media (prefers-reduced-motion: no-preference) { /* prevents possible motion sickness to those with this setting turned on */
    .fadeIn {
        scale: 0.8;
        opacity: 0;
        animation: fadeIn ease forwards;
        animation-timeline: view();
        animation-range: 200px 1000px;
    }

    @keyframes fadeIn {
        to { scale: 1; opacity: 1; }
    }

    @keyframes fadeInBg {
        to { scale: 1; opacity: 1; }
    }

    h2, .slideInLeft {
        opacity: 0;
        animation: slideInLeft ease forwards;
        animation-timeline: view();
        animation-range: 100px 800px;
    }

    @keyframes slideInLeft {
        from { transform: translateX(-100px); }
        to { 
            opacity: 1; 
            transform: translateX(0); 
        }
    }
}

p, li {
    position: relative;
    
    font-family: 'Raleway';
    font-weight: 500;
    line-height: 2.5vh;
    font-size: 1vw;
}

.big {
    font-size: 1.5vw;
}

.bigger {
    font-size: 2vw;
    line-height: 2vw;
}

@media (max-width: 1280px) {
    canvas {
        width: 100% !important;
        height: 100% !important;
    }

    .container-a {
        display: flex;
        flex-direction: column;
        align-items: center;
        color: white;
        
        gap: 2.5rem;
        margin-left: 5vw;
        margin-right: 5vw;
        margin-top: 2.5rem;
        margin-bottom: 5rem !important;
    }

    .container-a p {
        font-size: 1.5rem;
        line-height: 2rem;
    }

    .swiper-slide img {
        background: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.1));
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.75);
        padding: 1vw;

        width: 80% !important;
        height: 37.5% !important;

        opacity: 1;
        scale: 1;
        transition: 500ms
    }
}

@media (max-width: 768px) {
    canvas {
        width: 100% !important;
        height: 100% !important;
    }

    #hero {
        width: fit-content;
        height: 90vh !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    #hero h1 {
        font-family: 'DM Sans';
        font-weight: 600;
        font-size: 3rem !important;
        color: #fffef7;
        text-shadow: 0vw 0.5vh rgb(134, 134, 134, 0.5);
        margin-bottom: 1.5rem !important;
        margin: auto;
    }
    
    #hero h3 {
        font-family: 'DM Sans';
        font-weight: 400;
        font-size: 1.5rem !important;
        color: #fffce9;
        text-shadow: 0vw 0.25vh rgb(134, 134, 134, 0.5);
        margin-top: -1.5rem;
    }

    #hero h4 {
        font-family: 'DM Sans';
        font-weight: 400;
        font-size: 1.25rem;
        color: #fffce9;
        text-shadow: 0vw 0.25vh rgb(134, 134, 134, 0.5);
        margin-top: -1.5rem;
    }

    article h2 {
        font-size: 3rem;
        text-align: center;
        text-indent: 0 !important;
    }

    .menu-item {
        color: transparent;
        font-family: 'DM Sans';
        font-weight: 700;
        font-size: 3rem !important;
        text-transform: lowercase;
       
        display: block;
        height: 1.5rem !important;
    
        padding: 1.5rem !important;
    
        transition: 400ms ease;
    
        transition: 400ms ease;

        background: -webkit-linear-gradient(135deg, #ffbc00, #ff0058);
        -wekbit-background-clip: text;
        background-clip: text;
    }

    /* ABOUT ME */
    .container-a {
        display: flex;
        flex-direction: column;
        align-items: center;
        color: white;
        
        gap: 2.5rem;
        margin-left: 5vw;
        margin-right: 5vw;
        margin-top: -5rem !important;
        margin-bottom: 5rem !important;
    }

    .container-a .box {
        text-align: center;
    
        /* opacity: 0.35; */
        scale: 0.65 !important;
        transition: 0.5s;
        margin-bottom: -10rem;
    }

    .container-a .box:hover {
        /* opacity: 1; */
        scale: 0.75 !important;
    }

    .container-a p {
        font-size: 1rem !important;
        line-height: 1.5rem !important;
    }
    
    .container-a .big {
        margin-bottom: 2.5rem !important;
        margin-top: 2.5rem;
    }
    
    .container-a h3 {
        font-size: 3rem;
        font-weight: 400;
    }

    /* WORK EXPERIENCE */ 
    .container-we p, .container-we li {
        font-size: 1rem !important;
        line-height: 1.5rem !important;
    }
    
    .container-we {
        display: flex !important;
        flex-direction: column-reverse;
    
        margin-top: 2 !important;
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }

    .we-inverse-1 {
        order: -1 !important;
    }
    
    .we-inverse-2 {
        order: 1 !important;
    }

    .exclude-inv {
        width: 100vw !important;
        margin-left: 0 !important;
    }
    
    .container-we .box {
        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 1rem 2rem 1rem 2rem !important;
        margin-bottom: -2rem !important;
    
        /* opacity: 0.35; */
        scale: 0.8;
        transition: 1s;
    }

    .container-we .box:hover {
        /* opacity: 1; */
        scale: 0.85 !important;
    }

    .container-we .title {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }
    
    .container-we .image-credit {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        margin-bottom: -2.5rem;

        width: 100vw !important;
        font-size: 20px !important;
    }
    
    .container-we h3 .kaushan-script {
        font-size: 3rem;
    }
    
    .container-we h3 {
        position: relative;
        z-index: 2;
    
        font-family: 'Public Sans';
        font-weight: 700;
        font-size: 2rem;
        width: 100% !important;
    }
    
    .container-we .box h3 {
        margin-top: 1rem;
    }

    .container-we .box::before { /* FIX */
        content: '';
        position: absolute;
        z-index: -1;
        top: -2.5%;
        left: 30% !important;
        width: 35% !important;
        height: 105%;
        border-radius: 8px;
        
        transform: skewX(-10deg) !important;
        transition: 500ms;
    
        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }
    
    .container-we .box::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: -2.5%;
        left: 30% !important;
        width: 35% !important;
        height: 105%;
        border-radius: 8px;
    
        filter: blur(30px);
    
        transform: skewX(-10deg) !important;
        transition: 500ms;
    
        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }
    
    .container-we .box:hover:before, .container-we .box:hover:after  { 
        transform: skewX(0deg) !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100%;
    }
    
    .container-we .box-img {
        position: relative;
        display: flex;
        flex-direction: column;
    
        width: 100% !important;
        align-items: center;
        justify-content: center;
        scale: 0.95 !important;
    }
    
    .we-gallery {
        row-gap: 0 !important;
        column-gap: 1rem !important;
        align-items: center;
    }
    
    .container-we img {
        margin-left: auto !important;
        position: relative;
        justify-content: center !important;
        align-items: center !important;
    
        width: 100% !important;
        height: 100% !important;
        
        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
        padding: 0.5rem !important;
    
        /* opacity: 0.35; */
        scale: 0.95;
    
        transition: 500ms;
    }
    
    .container-we .big-img {
        width: 100% !important;
        height: 100% !important;
    
        scale: 1;
    }
    
    .container-we img:hover {
        /* opacity: 1; */
        scale: 1;
    }

    /* MY PORTFOLIO */
    #portfolio-sub {
        margin-top: -1rem;
        padding: 0 10vw 0 10vw !important;
        margin-bottom: -2.5rem;
    }

    #portfolio section {
        margin-bottom: 5vh;
        background: linear-gradient(rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.025));
        border-radius: 15px;
    }

    .pf-title {
        position: relative;
        display: inline-block;

        /* for text below (only applies to second project) */
        font-family: 'DM Sans';
        font-weight: 600;
        font-size: 5vw;
        color: #fffef7;
        text-shadow: 0.25vw 0.25vh rgba(170, 170, 170, 0.5);

        margin-left: 5vw;
        margin-right: 0.5rem;
        margin-bottom: 0;
    }

    .pf-title-2 {
        position: relative;
        display: inline-block;

        margin-left: 5vw;
        margin-right: 0.5rem;
        margin-bottom: 0;
    }

    .project-header {
        position: relative;
        margin-bottom: -5vh;
    }

    .project-summary {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .project-odd .project-summary {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-left: -1.5rem;
        margin-top: -1rem;
    }

    .project-even {
        position: relative;

        text-align: right;
        margin-right: 5vw;
    }

    .project-even img {
        margin-top: 1rem;
    }

    .pf-title-2 {
        padding-bottom: 2vh;
    }

    .project-three .project-summary {
        margin-bottom: -1.5vh;
    }

    .drag-info p {
        font-family: 'DM Sans';
        font-size: 1.5vw;

        margin-left: 5vw;
        text-align: center;
    }

    .tools {
        position: relative;
        display: inline-block;

        width: 1rem !important;
        height: 1rem !important;
        margin-left: 0.35rem !important;
        background: white;
        border-radius: 1vw;
        padding: 0.5vw;
    }

    .container-p li {
        margin-top: -1.5vh;
    }

    .container-p {
        position: relative;
        display: flex !important;
        flex-direction: column !important;
        column-gap: 1vw;
        margin-top: 2.5vh;
        margin-left: 5vw;
        margin-right: 5vw;

        align-items: center;
    }

    .inverse {
        position: relative;
        display: flex !important;
        flex-direction: column-reverse !important;
        column-gap: 1vw;
        margin-top: 2.5vh;
        margin-left: 5vw;
        margin-right: 5vw;

        align-items: center;
    }

    .container-p .bigger {
        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 1rem !important;
        line-height: 1.5;
        margin-bottom: 0;

        /* opacity: 0.35; */
        scale: 0.8;
        transition: 1s;
    }

    .container-p .bigger:hover {
        opacity: 1;
        scale: 1;
    }

    .container-p .bigger::before {
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 8px;

        transition: 500ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .container-p .bigger::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 8px;
        
        filter: blur(30px);

        transition: 500ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .container-p .bigger:hover:before, .container-p .bigger:hover:after { 
        transform: skewY(15deg);
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
    }

    .container-p .text-details {
        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 0.5rem 1.5rem 0.5rem 1.5rem !important;

        /* opacity: 0.35; */
        scale: 0.8;
        transition: 1s;
    }

    .container-p .text-details:hover {
        /* opacity: 1; */
        scale: 0.95 !important;
    }

    .container-p .text-details::before {
        content: '';
        position: absolute;
        z-index: -1;
        top: 0% !important;
        left: 25%;
        width: 50%;
        height: 100% !important;
        border-radius: 8px;
        
        transform: skewX(20deg) !important;
        transition: 500ms;
    
        background: linear-gradient(320deg, #ffbc00, #ff0058);
    }
    
    
    .container-p .text-details::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: 0% !important;
        left: 25%;
        width: 50%;
        height: 100% !important;
        border-radius: 8px;
    
        filter: blur(30px);
    
        transform: skewX(20deg) !important;
        transition: 500ms;
    
        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .container-p .text-details:hover:before, .container-p .text-details:hover:after { 
        transform: skewX(0deg) !important;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .container-p .text-details p, .container-p .text-details li {
        line-height: 1.5 !important;
        font-size: 0.75rem;
    }

    .container-p p {
        font-size: 1rem;
    }

    .swiper {
        margin-top: 1rem;
        margin-bottom: 1rem;
        width: 100% !important;
        height: 10.5rem !important;
    }

    .swiper::before {
        content: '';
        position: absolute;
        top: 25%;
        left: 10%;
        width: 80%;
        height: 50%;
        border-radius: 8px;
        
        transform: skewX(15deg);
        transition: 250ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .swiper::after {
        content: '';
        position: absolute;
        top: 25%;
        left: 10%;
        width: 80%;
        height: 50%;
        border-radius: 8px;

        filter: blur(12px);
        transform: skewX(15deg);
        transition: 250ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .swiper:active:before, .swiper:active:after { 
        scale: 0.9;
        opacity: 0.1;
    }


    .swiper-slide img {
        background: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.1));
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.75);
        padding: 1vw;

        width: 70% !important;
        height: 65% !important;

        opacity: 1;
        scale: 1;
        transition: 500ms
    }

    .swiper-slide img:active {
        opacity: 0.5;
        scale: 0.85;
    }

    span.swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: white;
        opacity: 1;
    }

    .swiper-pagination-bullet {
        background-color: white;
        opacity: 0.5;
    }
        
    .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #portfolio-sub h3 {
        font-size: 1rem;
    }

    /* CONTACT ME */
    .contact {
        text-align: center;
        align-items: center;
        display: flex !important;
        flex-direction: column;
    }

    .contact div {
        position: relative;
        
        text-align: left;
        margin-right: 0 !important;
        justify-content: center;

        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
        padding: 0.5vw 1.5vw 0.5vw 1.5vw;
        border-radius: 8px;
        /* opacity: 0.35; */
        scale: 0.8;

        transition: 500ms;
    }

    .contact div:hover {
        /* opacity: 1; */
        scale: 0.9 !important;
    }

    .contact div::before {
        content: '';
        position: absolute;
        z-index: -1;
        top: -5%;
        left: 65%;
        width: 20%;
        height: 110%;
        border-radius: 8px;
        
        transform: skewX(15deg);
        transition: 500ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .contact div::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: -5%;
        left: 65%;
        width: 20%;
        height: 110%;
        border-radius: 8px;

        filter: blur(30px);

        transform: skewX(15deg);
        transition: 500ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .contact div:hover:before, .contact div:hover:after { 
        transform: skewX(0deg);
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .input {
        font-family: 'Public Sans';
        font-weight: 400;
        font-size: 1rem !important;
        background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.035));
        color: white;

        width: 80% !important;
        height: 5rem;
        border: none;
        outline: none;
        padding-left: 1rem !important;
        margin-left: 0 !important;
        margin-bottom: 1rem;
        border-radius: 500vw;

        transition: opacity 400ms ease;
    }

    .message {
        height: 5rem !important;
        padding-top: 1rem !important;
        border-radius: 1.5vw;
    }

    .input::placeholder {
        font-family: 'Public Sans';
        font-weight: 400;
    }

    .input:focus {
        opacity: 0.5;

        transition: 400ms;
    }

    .submit {
        position: relative;

        font-family: 'DM Sans';
        font-size: 1rem !important;
        background: linear-gradient(315deg, #ffbc00, #ff0058);
        color: white;

        margin-left: 0 !important;
        width: 50vw !important;
        height: 10vh;
        
        border: none;
        border-radius: 100px;

        cursor: pointer;

        transition: 400ms;
    }

    .submit::after {
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 100px;

        filter: blur(10px);

        transition: 500ms;

        background: linear-gradient(315deg, #ffbc00, #ff0058);
    }

    .submit:hover, .submit:hover:after {
        /* opacity: 0.35; */
        scale: 1;
    }

    .contact .card {
        margin-top: 2rem;
        padding: 0.5rem;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .contact .card .bigger {
        font-size: 1rem;
        line-height: 0.5;
        text-align: center !important;
    }
}

@media (min-width: 896px) {
    .media-items {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        justify-content: center;
        margin-top: 0.5rem;
        margin-left: 5rem;
    }
}

/* HOME */
#hero {
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 2rem;
    margin-right: 2rem;
}

#hero h1 {
    font-family: 'DM Sans';
    font-weight: 600;
    font-size: 9rem;
    color: #fffef7;
    text-shadow: 0vw 0.5vh rgba(134, 134, 134, 0.5);
    margin-bottom: 0;
    width: fit-content;
}

#hero h3 {
    font-family: 'DM Sans';
    font-weight: 400;
    font-size: 2rem;
    color: #fffce9;
    text-shadow: 0vw 0.25vh rgba(134, 134, 134, 0.5);
    margin-top: -1.5rem;
    width: fit-content;
}

#hero h4 {
    font-family: 'DM Sans';
    font-weight: 400;
    font-size: 1.25rem;
    color: #fffce9;
    text-shadow: 0vw 0.25vh rgba(134, 134, 134, 0.5);
    margin-top: -1.5rem;
    width: fit-content;
}

#hero img {
    width: 2rem;
}

.media-items {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 5rem;
}

.media-items img {
    width: 1.5rem;
}

.media-items a {
    color: white;
    font-size: 2rem;
}

#menu {
    z-index: 1;
    position: relative;
    display: flex;
    justify-content: center;

    text-align: left;
}

#menu-items:hover > .menu-item {
    opacity: 0.3;
}

#menu-items:hover > .menu-item:hover {
    opacity: 1;
    text-shadow: 0 0 3px #ffffff, 0 0 6px #ffffff, 0 0 9px #ffffff;
}

.menu-item {
    color: transparent;
    font-family: 'DM Sans';
    font-weight: 700;
    font-size: 7.5rem;
    text-transform: lowercase;
   
    display: block;
    height: 4rem;

    padding: 2rem;

    transition: 400ms ease;

    background: -webkit-linear-gradient(135deg, #ffbc00, #ff0058);
    -wekbit-background-clip: text;
    background-clip: text;
}

.rb-ul, .rb-ul-a {
    background-image: linear-gradient(to right, #f53232, #f58032, #f5e832);
    background-repeat: no-repeat;
    background-size: 175% .25vh;
    background-position: 0 100%;
    
    transition: 0.5s ease;
}

.rb-ul-a:hover {
    background-image: linear-gradient(to right, #f53232, #f58032, #0ca852);
    background-repeat: no-repeat;
    background-size: 175% 5vh;
    background-position: 0 100%;
}

.media-text p {
    font-family: 'Raleway';
    font-weight: 400;
    font-size: 1.5rem;

    margin-bottom: 2.5rem;
}

/* ABOUT ME */
.container-a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    
    width: 90%;
    margin: 0 auto;
}

.container-a .box {
    flex: 1; 
    text-align: center;

    /* opacity: 0.35; */
    scale: 0.8;
    transition: 0.5s;
}

.container-a .box:hover {
    /* opacity: 1; */
    scale: 0.9;
}

.container-a .box-text {
    position: relative;
    z-index: 1;

    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 1rem 3.5rem 2rem 3.5rem;
}

.container-a p {
    font-size: 1.25rem;
    text-align: left;
}

.container-a .big {
    font-size: 4rem;
}

.container-a .box::before {
    content: '';
    position: absolute;
    top: -5%;
    left: 25%;
    width: 50%;
    height: 110%;
    border-radius: 8px;
    
    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-a .box::after {
    content: '';
    position: absolute;
    top: -5%;
    left: 25%;
    width: 50%;
    height: 110%;
    border-radius: 8px;

    filter: blur(30px);

    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-a .box:hover:before, .container-a .box:hover:after { 
    transform: skewX(0deg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.container-a h3 {
    font-size: 3rem;
    font-weight: 400;
}

/* WORK EXPERIENCE */
#science-world h3:first-child {
    font-size: 1rem;
}

#science-world p, #science-world li {
    font-size: 1rem;
}

.container-we {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    margin-top: 2rem;
    margin-left: 5vw;
    margin-bottom: 2rem;
    /* margin-right: 5vw; */
}

.we-inverse-1 {
    order: 1;
}

.we-inverse-2 {
    order: -1;
}

.exclude-inv {
    grid-column: 1 / 2;
    margin-left: -100%;
}

.container-we li {
    margin-top: -1.5vh;
}

.container-we .box {
    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 1vw 2vw 1vw 2vw;
    margin: 0vw 2vw 0 0;

    /* opacity: 0.35; */
    scale: 0.8;
    transition: 1s;
}

.container-we .box:hover {
    /* opacity: 1; */
    scale: 0.9;
}

.container-we h3 .kaushan-script {
    font-size: 3rem;
}

.container-we h3 {
    position: relative;
    z-index: 2;

    font-family: 'Public Sans';
    font-weight: 700;
    font-size: 2rem;
    width: 200%;
}

.container-we .box h3 {
    margin-top: 1rem;
}

/* .container-we .title::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 5%;
    border-radius: 8px;
    
    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-we .title::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 3%;
    border-radius: 8px;

    filter: blur(30px);

    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
} */

.container-we .box::before { /* FIX */
    content: '';
    position: absolute;
    z-index: -1;
    top: -2.5%;
    left: 40%;
    width: 20%;
    height: 105%;
    border-radius: 8px;
    
    transform: skewX(-20deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-we .box::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -2.5%;
    left: 40%;
    width: 20%;
    height: 105%;
    border-radius: 8px;

    filter: blur(30px);

    transform: skewX(-20deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-we .box:hover:before, .container-we .box:hover:after  { 
    transform: skewX(0deg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.container-we .box-img {
    position: relative;
    display: flex;
    flex-direction: column;

    width: 50vw;
    align-items: center;
    justify-content: center;
    margin-left: -2.5vw;
}

.container-we i {
    font-size: 1rem;
}

.container-we figcaption {
    margin-left: 5vw;
}

.we-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 20px;
    column-gap: 20px;
    align-items: center;
    margin-bottom: 20px;
}

.container-we img {
    position: relative;

    width: 20vw;
    height: 25vh;
    
    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    padding: 0.5vw;

    /* opacity: 0.35; */
    scale: 0.95;

    transition: 500ms;
}

.container-we .big-img {
    width: 42vw;
    height: 25vw;

    margin-bottom: 20px;

    scale: 0.975;
}

.container-we img:hover {
    opacity: 1;
    scale: 1;
}

/* MY PORTFOLIO */
#portfolio-sub {
    padding: 0 5vw 0 5vw;
}

#portfolio section {
    margin-bottom: 5vh;
    background: linear-gradient(rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.025));
    border-radius: 15px;
}

.pf-title {
    position: relative;
    display: inline-block;

    /* for text below (only applies to second project) */
    font-family: 'DM Sans';
    font-weight: 600;
    font-size: 5vw;
    color: #fffef7;
    text-shadow: 0.25vw 0.25vh rgba(170, 170, 170, 0.5);

    margin-left: 5vw;
    margin-bottom: 0;
}

.pf-title-2 {
    position: relative;
    display: inline-block;

    /* for text below (only applies to third project) */
    font-family: 'Libre Franklin';
    font-weight: 600;
    font-size: 5vw;
    color: #fffef7;

    margin-left: 5vw;
    margin-bottom: 0;
}

.project-header {
    margin-bottom: -5vh;
}

.project-two {
    position: relative;

    text-align: right;
    margin-right: 5vw;
}


.drag-info p {
    font-family: 'DM Sans';
    font-size: 1.5vw;

    margin-left: 5vw;
}

.tools {
    position: relative;
    display: inline-block;

    width: 3vw;
    height: 3vw;
    margin-left: 1vw;
    background: white;
    border-radius: 1vw;
    padding: 0.5vw;
}

.container-p li {
    margin-top: -1.5vh;
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}

.container-p {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1vw;
    margin-top: 2.5vh;
    margin-left: 5vw;
    margin-right: 5vw;

    align-items: center;
}

.container-p .bigger {
    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 1.5vw;
    margin-bottom: 0;

    /* opacity: 0.35; */
    scale: 0.8;
    transition: 1s;
}

.container-p .bigger:hover {
    /* opacity: 1; */
    scale: 0.9;
}

.container-p .bigger::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;

    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-p .bigger::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    
    filter: blur(30px);

    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-p .bigger:hover:before, .container-p .bigger:hover:after { 
    transform: skewY(15deg);
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
}

.container-p .text-details {
    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    padding: 0.5vw 1.5vw 0.5vw 1.5vw;

    /* opacity: 0.35; */
    scale: 0.8;
    transition: 1s;
}

.container-p .text-details:hover {
    /* opacity: 1; */
    scale: 0.9;
}

.container-p .text-details::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -5%;
    left: 25%;
    width: 50%;
    height: 110%;
    border-radius: 8px;
    
    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-p .text-details::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -5%;
    left: 25%;
    width: 50%;
    height: 110%;
    border-radius: 8px;

    filter: blur(30px);

    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.container-p .text-details:hover:before, .container-p .text-details:hover:after { 
    transform: skewX(0deg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.container-p .text-details p {
    line-height: 1.2;
}

.swiper {
    width: 50vw;
    height: 500px;
}

.swiper::before {
    content: '';
    position: absolute;
    top: 25%;
    left: 10%;
    width: 80%;
    height: 50%;
    border-radius: 8px;
    
    transform: skewX(15deg);
    transition: 250ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.swiper::after {
    content: '';
    position: absolute;
    top: 25%;
    left: 10%;
    width: 80%;
    height: 50%;
    border-radius: 8px;

    filter: blur(12px);
    transform: skewX(15deg);
    transition: 250ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.swiper:active:before, .swiper:active:after { 
    scale: 0.9;
    opacity: 0.1;
}


.swiper-slide img {
    background: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.1));
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.75);
    padding: 1vw;

    width: 640px;
    height: 380px;

    opacity: 1;
    scale: 1;
    transition: 500ms
}

.swiper-slide img:active {
    opacity: 0.5;
    scale: 0.85;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: white;
    opacity: 1;
}

.swiper-pagination-bullet {
    background-color: white;
    opacity: 0.5;
}
    
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* MY GALLERY */
.container-g {
    margin-top: 5vh;
    margin-left: 5vw;
    margin-right: 5vw;

    font-size: 1rem;
}

.container-g .box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 2vw;

    background: none;
}

.doubleImage {
    width: 45%;
}

.box figcaption {
    margin-top: 10vh;
    font-size: 1.5rem;
}

.box figcaption p {
    line-height: 3.5vh;
}

/* CONTACT ME */
.contact {
    text-align: center;
    align-items: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.contact div {
    position: relative;
    
    text-align: left;
    margin-right: 15vw;
    justify-content: center;

    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.075));
    padding: 0.5vw 1.5vw 0.5vw 1.5vw;
    border-radius: 8px;
    /* opacity: 0.35; */
    scale: 0.8;

    transition: 500ms;
}

.contact div:hover {
    /* opacity: 1; */
    scale: 0.9;
}

.contact div::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -5%;
    left: 65%;
    width: 20%;
    height: 110%;
    border-radius: 8px;
    
    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.contact div::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -5%;
    left: 65%;
    width: 20%;
    height: 110%;
    border-radius: 8px;

    filter: blur(30px);

    transform: skewX(15deg);
    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.contact div:hover:before, .contact div:hover:after { 
    transform: skewX(0deg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.contact .card p {
    font-size: 1.25rem ;
}

.input {
    font-family: 'Public Sans';
    font-weight: 400;
    font-size: 1vw;
    background: linear-gradient(rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.035));
    color: white;

    width: 25vw;
    height: 5vh;
    border: none;
    outline: none;
    padding-left: 1vw;
    margin-left: 15vw;
    border-radius: 500vw;

    transition: opacity 400ms ease;
}

.message {
    height: 20vh;
    padding-top: 0.75vw;
    border-radius: 1.5vw;
}

.input::placeholder {
    font-family: 'Public Sans';
    font-weight: 400;
}

.input:focus {
    opacity: 0.5;

    transition: 400ms;
}

.submit {
    position: relative;

    font-family: 'DM Sans';
    font-size: 1vw;
    background: linear-gradient(315deg, #ffbc00, #ff0058);
    color: white;

    margin-left: 15vw;
    width: 10vw;
    height: 5vh;
    
    border: none;
    border-radius: 100px;

    cursor: pointer;

    transition: 400ms;
}

.submit::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;

    filter: blur(10px);

    transition: 500ms;

    background: linear-gradient(315deg, #ffbc00, #ff0058);
}

.submit:hover, .submit:hover:after {
    /* opacity: 0.35; */
    scale: 1.1;
}