﻿td {
    vertical-align: middle;
    text-align: center;
}

td a, td input, td img {
    vertical-align: middle;
    display: inline-block;
}

.borderless-table > tr > td {
    border: none;
    text-align: center;
    vertical-align: middle;
    margin:0;
}

.flex-r-100 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width:100%;
}

.flex-r {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.flex-c {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.flex-c-start {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
}

.container-env {
    position: relative;
    text-align: center;
    color: black;
    margin-bottom: 2vh;
}

.bottom-left {
    position: absolute;
    bottom: 8px;
    left: 16px;
}

.top-left {
    position: absolute;
    top: 8px;
    left: 16px;
}

.top-right {
    position: absolute;
    top: 8px;
    right: 16px;
}

.bottom-right {
    position: absolute;
    bottom: 8px;
    right: 16px;
}

.centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top-centered {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bottom-mid-centered {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bottom-centered {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.btn-grad {
    background-image: linear-gradient(to right, #5C258D 0%, #4389A2 51%, #5C258D 100%);
    margin: 5px;
    padding: 8px 22px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;
    box-shadow: 0 0 10px #eee;
    border-radius: 10px;
    display: block;
    height: fit-content;
}

.btn-grad:hover {
    background-position: right center; /* change the direction of the change here */
    color: #fff;
    text-decoration: none;
}

.slide-right, .slide-left {
    overflow: hidden;
    display: flex;
}

.slide-right * {
    animation: slide-hor 2s forwards;
    transform: translateX(-100%);
}

.slide-left * {
    animation: slide-hor 2s forwards;
    transform: translateX(100%);
}

.slide-up {
    width: 50%;
    overflow: hidden;
    margin-bottom: 10em;
}

.slide-up * {
    animation: slide-vert 2s forwards;
    transform: translateY(100%);
}

.slide-down {
    width: 50%;
    overflow: hidden;
    margin-top: 10em;
}

.slide-down * {
    animation: slide-vert 2s forwards;
    transform: translateY(-100%);
}

@keyframes slide-hor {
    to {
        transform: translateX(0);
    }
}

@keyframes slide-vert {
    to {
        transform: translateY(0);
    }
}

.footer {
    margin-top:auto;
}

.first-dot {
    animation: fade-in 1s infinite linear;
    animation-direction: alternate;
    opacity: 0;
}

.second-dot {
    animation: fade-in 1s infinite linear;
    animation-direction: alternate;
    animation-delay: .5s;
    opacity: 0;
}

.third-dot {
    animation: fade-in 1s infinite linear;
    animation-direction: alternate;
    animation-delay: 1s;
    opacity: 0;
}

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}