main {
    position: relative;
    background-image: url("../jpg/index_background.png");
    background-size: cover;
    background-position: center;
}

main::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), transparent 25%, rgba(0, 0, 0, 0.8));
    z-index: 0;
}

main > * {
    position: relative;
    z-index: 1;
}

main img {
    filter: drop-shadow(0px 0px 150px rgba(0, 0, 0, 0.7));
}

main section {
    pointer-events: all;
    margin-top: 3em;
    display: flex;
    flex-direction: row;
    width: fit-content;
    gap: 2em;
}

main section a {
    display: inline-flex;
    align-items: center;
    padding: 0.3em 0.75em 0.3em 0.75em;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
    font-size: 1.5em;
    font-weight: 700;
    transition: 0.1s linear;
}

main section a:first-of-type {
    background-color: #40d1f1;
}

main section a:nth-of-type(2) {
    border: #23B7D9 solid 3px;
    background-color: transparent;
    color: #23B7D9;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}

main section a:nth-of-type(3) {
    border: whitesmoke solid 3px;
    color: whitesmoke;
    background-color: #ff2222;
    animation: offertespeciali 1.5s ease-in-out infinite alternate;
    box-shadow: 0px 0px 30px #ff2222;
}

@keyframes offertespeciali {
    from {
        border-color: whitesmoke;
        color: whitesmoke;
        background-color: #ff2222;
    } to {
        border-color: #ff2222;
        color: #ff2222;
        background-color: whitesmoke;
    }
}

main section a:first-of-type img {
    width: 2em;
    height: 2em;
}

main section a:nth-of-type(2) img {
    width: 1.5em;
    height: 1.5em;
    margin-left: 0.5em;
    filter: brightness(0) saturate(90%) invert(70%) sepia(58%) saturate(1000%) hue-rotate(151deg) brightness(80%) drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.3));
}

main section a:hover {
    box-shadow: 0px 3px 10px 2px rgba(0, 0, 0, 0.7);
    transition: 0.1s linear;
}

main section a:first-of-type:hover {  
    background-color: #1d9acc;
    color: whitesmoke;
}

main section a:first-of-type:hover img {
    filter: brightness(0) saturate(100%) invert(74%) sepia(77%) saturate(1%) hue-rotate(47deg) brightness(110%) contrast(95%);
}

main section a:nth-of-type(2):hover {
    color: whitesmoke;
    border-color: whitesmoke;
}

main section a:nth-of-type(2):hover img {
    filter: brightness(0) saturate(100%) invert(74%) sepia(77%) saturate(1%) hue-rotate(47deg) brightness(110%) contrast(95%);
}

@media screen and (max-width: 768px) {
    main section {
        flex-wrap: wrap;
        justify-content: center;
        width: 75%;
    }
    
    main section a {
        width: 100%;
        justify-content: center;
        font-size: 1.5em;
    }
}