.purple-gradient {
    background-image: linear-gradient(to left, #6f42c1, #4e54c8);
}

.btn-gradient {
    background: linear-gradient(90deg, #667eea, #764ba2);
    /* purple-blue gradient */
    border: none;
}

.typewriter {
    overflow: hidden;
    display: inline-block;
    border-right: .15em solid orange;
    white-space: nowrap;
    letter-spacing: .125em;
    width: 0;
    animation: 
        typing 1.8s steps(18, end) forwards,
        blink-caret .75s step-end infinite;
}

@keyframes typing {
    from {width: 0} 
    to {width: 18ch}
}
@keyframes blink-caret {
    from, to {border-color: transparent} 
    50% {border-color: orange}
}

.gradient-border-centered {
    position: relative;
    /* display: inline-block; */
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 10px;
}
.gradient-border-centered::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    border-radius: 2px;
    transform: translateX(-50%);
    /* background-size: 200% auto; */
    /* background-clip: border-box; */
    z-index: -1;
}
.gradient-border-left {
    position: relative;
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 10px;
}

html, body {
    overflow-x: hidden;
}
.gradient-border-left:before {
    content: '';
    position: absolute;
    left: 20%;
    bottom: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    border-radius: 2px;
    transform: translateX(-50%);
    z-index: -1;
}

.roboto {
    font-family: "Roboto", sans-serif;
}
footer {
    margin: 0;
    padding: 0;
}
#footer-div {
    background-color: rgb(15, 27, 29);
}
.card:hover {
    background-color: #c0c1c3;
    transition: all 0.3s ease;
}

