body,html {
    padding:0px;
    margin:0px;
    font-family: 'Comfortaa', cursive;
    font-weight:bold;
    color:#fff;
    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 #fff;
    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;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    background:none !important;
    font-family: 'Comfortaa', cursive;
}
#subtitle {
    font-size:16px;
    color:#bbb;
    margin-top:6px;
    font-weight:bold;
}
#subtitle a {
    color:#bbb;
    text-decoration:none;
    transition:0.3s;
}
#subtitle a:hover {
    opacity:0.75;
}
#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 {
    border-bottom:2px solid #fff;
}
#middle {
    width:100%;
    height:80vh;
    background-image: linear-gradient(0deg,rgba(0,0,0,1),rgba(0,0,0,0)), url("https://images.unsplash.com/photo-1619941400844-ec5ef7495cb8?fm=jpg&q=80&w=3000&auto=format&fit=crop");
    background-position: center, center top;
    background-size: 100% 100%, 100% auto;
    background-repeat: no-repeat;
    background-attachment: scroll;
    color:white;
    display:flex;
    justify-content:center;
    flex-direction:column;
    transition:1s ease-in-out;
    padding-top:20vh;
}
#tagline {
    font-size:50px;
    width:60%;
}
#portfolio {
    width:80%;
    padding:2% 10%;
}
#portfolio div h1 {
    font-size:40px;
    background-image: linear-gradient(to left, #4E2A84 0%, #1565C0 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;
}
#about {
    margin:4vh 0px !important;
    padding:2vh 0px !important;
}
#solutions {
    margin:4vh 0px !important;
    padding:2vh 0px !important;
}
#contact {
    margin:4vh 0px !important;
    padding:2vh 0px !important;
}
.solutions-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 20px;
}
.solution-card {
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 6px;
    padding: 20px 22px;
}
.solution-card h3 {
    font-size: 1rem;
    margin-bottom: 10px;
    background-image: linear-gradient(to left, #9B59B6 0%, #5DADE2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.solution-card p {
    font-weight: normal;
    font-size: 0.88rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
}
#footer {
    width:100%;
    padding:10vh 0px;
    text-align:center;
    font-weight:bold;
}
#footer span {
    font-size:14px;
    color:rgba(255,255,255,0.5);
}
#footer a {
    color:rgba(255,255,255,0.4);
    text-decoration:none;
    transition:0.3s;
}
#footer a:hover {
    color:rgba(255,255,255,0.8);
}
button:focus {
    outline:none;
}
::-webkit-scrollbar {
    width:5px;
    height:5px;
}
::-webkit-scrollbar-track {
    background: #111;
}
::-webkit-scrollbar-thumb {
    background: #4E2A84;
}
::-webkit-scrollbar-thumb:hover {
    background: #1565C0;
}
@media (max-width: 900px){
    #header {
        width:94%;
        padding:15% 3%;
    }
    #title {
        font-size:30px;
    }
    #links {
        margin:30px 0px;
    }
    #links a {
        margin:0px;
    }
    #middle {
        height:80vh;
        background-size: 100% 100%, cover;
    }
    #tagline {
        width:90%;
        font-size:30px;
    }
    .solutions-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@-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%}
}
