:root {
    --color-primary: ;
    --color-secondary: ;
    --color-1: #26204eef;
    --color-2: #f9a21fef;
    --color-3: #e5027fef;
    --color-4: #6c4e7e;
    --color-white: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #d3d3d3;
}

body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body::-webkit-scrollbar-thumb {
    background: #ff522fe1;
    border: 1px solid var(--color-white);
    border-radius: 20px;
}

.banner-container {
    width: 100%;
    height: 500px;
    min-height: 200px;
    position: relative;
    overflow: hidden;
}

.banner {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease-in-out;
    opacity: 0;
    z-index: 0;

    .btn-contacto {
        background-size: 200% auto;
        border-radius: 10px;
        box-shadow: 0 0 20px #2020208e;
        color: white;
        cursor: pointer;
        /* display: block; */
        margin: 10px;
        padding: 15px 45px;
        position: relative;
        z-index: 3;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        transition: 0.5s;
        width: 50%;
    }
    .btn-contacto:hover{
        background-position: right center;
        color: #fff;
        text-decoration: none;
        box-shadow: 0 10px 20px #b4b4b49f;
    }

    .btn-cto-1{
        background-image: linear-gradient(to right, var(--color-2) 0%, var(--color-3) 51%, var(--color-2) 100%);
    }
    .btn-cto-2{
        background-image: linear-gradient(to right, var(--color-2) 0%, var(--color-4) 61%, var(--color-2) 100%);
    }
    .btn-cto-3{
        background-image: linear-gradient(to right, var(--color-3) 0%, var(--color-4) 51%, var(--color-3) 100%);
    }
    .btn-cto-4{
        background-image: linear-gradient(to right, var(--color-3) 0%, var(--color-2) 51%, var(--color-3) 100%);
    }

    h1 {

        font-size: 10rem;
        font-family: "Shadows Into Light", cursive;
        font-weight: 900;
        font-style: normal;
        color: var(--color-white);

    }

    img {
        position: relative;
        z-index: 1;
        max-width: 50%;
        mask-image: linear-gradient(#000 80%, transparent);
    }
}

.b1.active {
    background-image: linear-gradient(var(--color-1) 75%, transparent);
    color: var(--color-white);
}

.b2.active {
    background-image: linear-gradient(var(--color-3) 75%, transparent);
}

.b3.active {
    background-image: linear-gradient(var(--color-2) 75%, transparent);
}

.b4.active {
    background-image: linear-gradient(var(--color-4) 75%, transparent);
}

.banner.active {
    opacity: 1;
    z-index: 1;
}


/* Tabs */
.tabs-content {
    display: flex;
    align-items: flex-start;
    position: relative;
    width: 100%;

    .tab-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 20px 10px;
        width: 18%;
        position: sticky;
        top: 20px;

        .tab {
            border-radius: 10px;
            padding: 10px 20px;
            margin: 10px 10px;
            border: none;
            background-color: #d3d3d3;
            color: #141414;
            cursor: pointer;
            font-size: 1rem;
            transition: background-color 0.3s ease;
            box-shadow: 6px 6px 12px #c5c5c5, -6px -6px 12px #ffffff;
        }

        .tab:hover {
            background-color: #808080;
            color: var(--color-white);
        }

        .tab.active {
            color: #e7e7e7 !important;
        }

        .t1.active, .t1:hover {
            background-color: var(--color-1);
        }

        .t2.active, .t2:hover {
            background-color: var(--color-3);
        }

        .t3.active, .t3:hover {
            background-color: var(--color-2);
        }

        .t4.active, .t4:hover {
            background-color: var(--color-4);
        }
    }

    .content-container {
        width: 80%;
        text-align: center;
        margin-top: 20px;
        /* position: absolute; */
        right: 0;

        .content {
            min-height: 300px;
            border-radius: 20px;
            margin-bottom: 3rem;
            display: none;
            padding: 20px 20px 100px !important;
            font-size: 1.5rem;
            background-color: #e8e8e8;
            box-shadow: 6px 6px 12px #c5c5c5, -6px -6px 12px #ffffff;
        }

        .content.active {
            display: block;
        }
    }
}

/* --------------------------CARD----------------------------- */

.content-cards.active {
    display: grid !important;
    grid-template-columns: 30% 30% 30%;
    gap: 1% 3.3%;

    .card {
        position: relative;
        margin: 10px 3%;
        margin-bottom: 50px !important;
        width: 100%;
        border-radius: 30px;
        background: #e0e0e0;
        box-shadow: 15px 15px 30px #bebebe,
            -15px -15px 30px #ffffff;
        border: none;

        .card-body {
            display: flex;
            flex-direction: column;
            justify-content: center;

            .card-content {
                h1 {
                    font-weight: bold;
                    font-size: 22px;
                }

                img {
                    filter: drop-shadow(0 10px 10px #070707);
                }

                p {
                    font-size: 16px;
                    margin-bottom: 10px;
                }
            }

        }

        .card-button {
            background: #e8e8e8;
            border-radius: 30px;
            border: 1px solid #e8e8e8;
            box-shadow: 6px 6px 12px #c5c5c5, -6px -6px 12px #ffffff;
            color: #333333;
            cursor: pointer;
            font-size: 16px;
            margin-bottom: -35px !important;
            margin: 0 auto;
            padding: 0.7em 1.7em;
            text-decoration: none;
            transition: all 0.3s;
            width: 80%;
        }

        .card-button:hover {
            background: #ffffff;
            border: 1px solid white;
            color: #080808;
        }

        .card-button:active {
            box-shadow: 4px 4px 12px #bbbbbb, -4px -4px 12px #eeeeee;
        }
    }
}

.card-modal {
    width: 90%;
    height: auto;
    border-radius: 20px;
    background: #f5f5f5;
    position: relative;
    padding: 1.8rem;
    border: 1px solid #e8e8e8;
    margin: 0 auto 25px;
    transition: 0.5s ease-out;
    overflow: visible;

    .card-modal-details {
        color: black;
        height: 100%;
        gap: .5em;
        display: grid;
        place-content: center;


    }

    .card-modal-button {
        transform: translate(-50%, 125%);
        width: 60%;
        border-radius: 20px;
        border: none;
        background-color: #008bf8;
        color: #fff;
        font-size: 1rem;
        padding: .5rem 1rem;
        position: absolute;
        left: 50%;
        bottom: 0;
        opacity: 0;
        transition: 0.3s ease-out;
    }
}

.card-modal:hover {
    /* border-color: #008bf8; */
    box-shadow: 4px 4px 12px #bbbbbb, -4px -4px 12px #eeeeee;

    .card-modal-button {
        transform: translate(-50%, 50%);
        opacity: 1;
    }
}


.modal {
    backdrop-filter: blur(4px);

    .modal-content {
        box-shadow: 4px 4px 12px #1f1f1fb6;
        border-radius: 20px;
        background-color: #edededea !important;

        .modal-header {
            border-bottom: none !important;
        }

        .modal-body {
            .card-modal {

                img {
                    filter: drop-shadow(0 10px 20px #000);
                }

                a {
                    text-decoration: none;
                    text-align: center;
                }
            }
        }
    }
}



@media(max-width: 1500px) {
    .tab-container {
        width: 15% !important;
    }
}


@media(max-width: 1200px) {
    .banner h1 {
        font-size: 7rem;
    }

    .content-cards.active {
        grid-template-columns: 45% 45%;
        gap: 7.5%;
    }
}

@media(max-width: 992px) {
    .banner h1 {
        font-size: 5rem;
    }
}

@media(max-width: 768px) {
    .tab-container {
        margin: 3px;

        span {
            display: none;
        }
    }

    .banner-container {
        height: 100%;
    }

    .banner h1 {
        font-size: 2.5rem;
    }

    .content-cards.active {
        grid-template-columns: 95%;
        gap: 0%;
    }
    .btn-contacto{
        padding: 5px 10px !important;
    }
}

@media(max-width: 576px) {
    .tab-container {
        margin: 20px 0 !important;

        .tab {
            margin: 10px 0 !important;
        }
    }
}