:root {
    --deploy-awx-minikube: #8DE15A;
    --deploy-glpi: #8DE15A;
    --exclusion-mdatp-manager: #8DE15A;
    --thehive-cortex-programs: #3572A5;
    --password-generator: #8DE15A;
    --hover-animation-title: #E4572E;
}

.carousel {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    display: flex;
    position: relative;
    overflow-x: auto;
    width: 400px;
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
    border-radius: 1.25rem;
}

.carousel-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.carousel-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    width: 48px;
    height: 48px;
    margin: 0 1rem;
    transition: box-shadow 0.2s;
    background: #FFF;
    cursor: pointer;
    border: none;
    border-radius: 50%;
    font-size: 2rem;
    color: #222;
}

.carousel-arrow:hover {
    box-shadow: 0 0 0 2px var(--hover-animation-title, #E4572E);
}

.carousel-arrow.left {
    order: 0;
}

.carousel-arrow.right {
    order: 2;
}

.carousel-arrow.disabled {
    pointer-events: none;
    cursor: not-allowed;
    color: #CCC;
}

.carousel-item {
    scroll-snap-align: center;
    flex: none;
    box-sizing: border-box;
    width: 100%;
    margin-right: 1rem;
    transition: transform 0.6s cubic-bezier(.4,2,.3,1);
    list-style: none;
}

.carousel-item a {
    display: block;
    box-sizing: border-box;
    padding: 1rem;
    transition:
        box-shadow 0.3s cubic-bezier(.4,2,.3,1),
        transform 0.3s cubic-bezier(.4,2,.3,1),
        color 0.3s cubic-bezier(.4,2,.3,1);
    background-color: #FFF;
    border-radius: 1.25rem;
    color: inherit;
    text-decoration: none;
}

.carousel-item a:hover,
.carousel-item a:focus {
    box-shadow: 0 0 0 2px var(--hover-animation-title, #E4572E);
    outline: none;
    transform: scale(1.03);
}

#projects {
    margin-top: 10rem;
    color: #111111;
}

.projects-title {
    margin-bottom: 1rem;
    font-size: var(--section-title-size);
    font-weight: normal;
    text-align: center;
}

.project-title {
    display: flex;
    padding-right: 1rem;
    font-size: 24px;
}

.project-title .language-color {
    display: inline-flex;
    position: relative;
    top: 12px;
    width: 12px;
    height: 12px;
    margin-right: 0.5rem;
    border-radius: 50%;
}

#deploy-awx-minikube-language-color {
    background-color: var(--deploy-awx-minikube);
}
#deploy-glpi-language-color {
    background-color: var(--deploy-glpi);
}
#exclusion-mdatp-manager-language-color {
    background-color: var(--exclusion-mdatp-manager);
}
#thehive-cortex-programs-language-color {
    background-color: var(--thehive-cortex-programs);
}

.project-explanations {
    padding-right: 1rem;
    font-size: 16px;
}

.tags {
    display: flex;
    justify-content: center;
    padding-top: 1rem;
}

.tags img {
    margin-right: 1rem;
}

/* Mobile */

@media only screen and (max-width: 768px) {
    .carousel-wrapper {
        max-width: 80vw;
    }

    .carousel-arrow {
        width: 40px;
        height: 40px;
        margin: 0 0.2rem;
        font-size: 1.5rem;
    }
}