.hidden {
    display: none;
    visibility: hidden;
}

.visible {
    margin-bottom: 0px;
}

/* ----- blinking cursor animation ----- */
.typed-cursor {
    opacity: 1;
    -webkit-animation: blink 0.95s infinite;
    -moz-animation: blink 0.95s infinite;
    -ms-animation: blink 0.95s infinite;
    -o-animation: blink 0.95s infinite;
    animation: blink 0.95s infinite;
}

@-keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes blink {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}