body,
html {
    padding: 0px;
    margin: 0px;
    font-family: 'Comfortaa', cursive;
    font-weight: bold;
    color: #cecece;
    background: rgb(0, 0, 0);
    scroll-behavior: smooth;
}

#loading {
    width: 100vw;
    height: 100vh;
    position: fixed;
    background: #000;
    z-index: 999;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

#spinner {
    animation: rotate 0.56s infinite linear;
    width: 60px;
    height: 60px;
    border: 6px solid #cecece;
    border-bottom: 6px solid #000;
    border-radius: 50%;
    margin: 0;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#header {
    width: 80%;
    padding: 4% 10%;
    text-align: center;
    position: absolute;
    transition: 0.6s ease-in-out;
}

#header div {
    display: block;
}

#title {
    font-size: 40px;
    background-image: linear-gradient(to left, #4f007c 0%, #9900ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 500% 500% !important;
    -webkit-animation: Gradient 20s ease infinite;
    -moz-animation: Gradient 20s ease infinite;
    -o-animation: Gradient 20s ease infinite;
    animation: Gradient 20s ease infinite;
    font-family: 'Comfortaa', cursive;
}

#links {
    margin: 40px 0px;
    transition: 0.6s ease-in-out;
    color: #fff;
}

#links a {
    margin: 0px 30px;
    color: inherit;
    text-decoration: none;
    transition: 0.4s ease-in-out;
    padding: 5px 8px;
    border-bottom: 2px solid transparent;
}

#links a:hover {
    color: #9900ff;
    border-bottom: 2px solid #9900ff;
}

#middle {
    width: 100%;
    height: 80vh;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)), url("assets/city2.jpg") center center fixed;
    background-size: 100% auto;
    background-repeat: no-repeat;
    color: white;
    display: flex;
    justify-content: center;
    flex-direction: column;
    transition: 1s ease-in-out;
    padding-top: 20vh;
}

#overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .4);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--speed), visibility var(--speed);
    z-index: 999;
}

#overlay.open {
    opacity: 1;
    visibility: visible;
}

/* The sliding panel */
#panel {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: var(--panel-width);
    background: black;
    box-shadow: -4px 0 20px rgba(0, 0, 0, .25);
    transform: translateX(100%);
    transition: transform var(--speed) ease;
    z-index: 1000;
    display: flex;
    flex-direction: column;
}

#panel.open {
    transform: translateX(0);
}

#panel header {
    display: flex;
    justify-content: flex-end;
    padding: .5rem;
    border-bottom: 1px solid #4f007c;
}

#close-btn {
    border: 0;
    background: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: .25rem .6rem;
    color: white;
}

#panel iframe {
    flex: 1;
    width: 100%;
    border: 0;
}

@media (prefers-reduced-motion: no-preference) {

    #panel,
    #overlay {
        transition: none;
    }
}

#example1 {
    width: 40%;
    height: 10vh;
    background-size: 100% auto;
    background: url(assets/budget.png) center left fixed;
    justify-content: center left;
    display: block;
    flex-direction: column;
    padding-top: 20vh;
}

#tagline {
    font-size: 50px;
    width: 100%;
}

#portfolio {
    width: 80%;
    padding: 2% 10%;
}

#portfolio div h1 {
    font-size: 40px;
    background-image: linear-gradient(to left, #4f007c 0%, #9900ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 500% 500% !important;
    -webkit-animation: Gradient 20s ease infinite;
    -moz-animation: Gradient 20s ease infinite;
    -o-animation: Gradient 20s ease infinite;
    animation: Gradient 20s ease infinite;
    font-family: 'Comfortaa', cursive;
}

#skills {
    margin: 4vh 0px !important;
    padding: 2vh 0px !important;
}

#work {
    margin: 4vh 0px !important;
    padding: 2vh 0px !important;
}

#contact {
    margin: 4vh 0px !important;
    padding: 2vh 0px !important;
}

#contact form {
    width: 100%;
}

#contact form input {
    width: 46%;
    margin: 20px 1%;
    background: transparent;
    border: 0px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    padding: 8px 10px;
    font-family: 'Comfortaa', cursive;
    font-size: 18px;
    transition: 0.4s ease-in-out;
    color: #fff;
}

#contact form textarea {
    width: 96%;
    margin: 20px 1%;
    padding: 8px 10px;
    border: 0px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    padding: 8px 10px;
    font-family: 'Comfortaa', cursive;
    font-size: 18px;
    background: transparent;
    resize: none;
    transition: 0.4s ease-in-out;
    color: #fff;
}

#contact form input:focus {
    outline: none;
    border-bottom: 2px solid rgba(255, 255, 255, 1);
}

#contact form textarea:focus {
    outline: none;
    border-bottom: 2px solid rgba(255, 255, 255, 1);
}

::placeholder {
    color: #fff;
}

.btn_one {
    color: white;
    padding: 10px 40px;
    border-radius: 50px;
    border: 2px solid #fff;
    font-size: 18px;
    font-family: 'Comfortaa', cursive;
    font-weight: bold;
    background: transparent;
    transition: 0.4s ease-in-out;
    margin: 30px 10px;
}

.btn_one:hover {
    background: #4f007c;
    cursor: pointer;
    color: #000;
    border: 2px solid #000;
}

.project div {
    font-weight: normal;
}

.bullet div {
    margin-left: 5%;
}

.btn_two {
    color: #000;
    padding: 10px 40px;
    border-radius: 50px;
    border: 2px solid #fff;
    font-size: 18px;
    font-family: 'Comfortaa', cursive;
    font-weight: bold;
    background: #fff;
    transition: 0.4s ease-in-out;
    margin: 30px 10px;
}

.btn_two:hover {
    background: transparent;
    cursor: pointer;
    color: #4f007c;
    border: 2px solid #000;
}

#details {
    margin: 6vh 0px;
}

.btn_social {
    font-size: 18px;
    color: #fff;
    margin: 40px 20px;
    padding: 15px 18px;
    border-radius: 50%;
    background: #000;
    transition: 0.4s ease-in-out;
}

.btn_social:hover {
    color: #000;
    background: #fff;
    cursor: pointer;
}

@media (max-width: .9em) {
    #header {
        width: 94%;
        padding: 15% 3%;
    }

    #title {
        font-size: 30px;
    }

    #links {
        margin: 30px 0px;
    }

    #links a {
        margin: 0px;
    }

    #middle {
        width: 100%;
        border-radius: 0px;
        height: 80vh;
        background-size: cover;
    }

    #tagline {
        width: 90%;
        font-size: 30px;
    }

    .btn_one {
        font-size: 14px;
        padding: 8px 20px;
    }

    .btn_two {
        font-size: 14px;
        padding: 8px 20px;
    }

    #contact form input {
        width: 92%;
    }

    #contact form textarea {
        width: 92%;
    }

    .btn_social {
        font-size: 14px;
        margin: 10px;
        padding: 10px 11px;
    }
}

#footer {
    width: 100%;
    padding: 10vh 0px;
    text-align: center;
    font-weight: bold;
}

#footer a {
    font-size: 18px;
    background-image: linear-gradient(to left, #FF416C 0%, #FF4B2B 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 500% 500% !important;
    -webkit-animation: Gradient 20s ease infinite;
    -moz-animation: Gradient 20s ease infinite;
    -o-animation: Gradient 20s ease infinite;
    animation: Gradient 20s ease infinite;
    font-family: 'Comfortaa', cursive;
    text-decoration: none;
}

button:focus {
    outline: none;
}

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #000;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

@-webkit-keyframes Gradient {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

@-moz-keyframes Gradient {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes Gradient {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}