/*####################################################
##													##
## PERCOVICH										##
## 													##
## CUSTOM.CSS										##
## 													##
## 													##
## Estilo CSS										##
## Estilos globales para el frontend				##
## Estilo personalizados para este sitio    		##
##													##
####################################################*/

@charset "utf-8";

/*** BODY ***/

body {
    font-family: var(--font-primary);
    font-size: var(--font-size-default);
    letter-spacing: var(--letter-spacing-default);
    overflow-x: hidden;
}

/*** A ***/

a {
    text-decoration: none;
}

/*** ESTILOS RÁPIDOS ***/

.hidden {
    visibility: hidden;
}

.hide {
    display: none;
}

.max-1024 {
    max-width: 1024px;
}

.max-800 {
    max-width: 800px;
}

.max-600 {
    max-width: 600px;
}

.margin-auto {
    margin: auto;
}

.margin-top-25 {
    margin-top: 25px;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

/*** GRID ***/

.grid {
    display: grid;
}

.grid-2 {
    grid-template-columns: 1fr 1fr;
}

/*** HEADER ***/

header {
    padding-bottom: 60px;
    background: var(--color-white);
    position: relative;
    z-index: 4;
}

    /*** NAVBAR ***/

    #navbar {
        width: 100%;
        padding: 10px 25px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(50px);
        grid-template-columns: auto 1fr 50px;
        gap: 25px;
        align-items: center;
        justify-items: center;
        box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
    }

        #navbar ul {
            text-align: center;
        }

            #navbar ul li {
                display: inline-block;
            }

            #navbar ul li#close-menu {
                display: none;
            }

                #navbar ul li a {
                    text-transform: uppercase;
                    color: var(--color-primary);
                    font-size: 1.5em;
                    font-family: var(--font-secondary);
                }

        #navbar .logo {
            max-width: 150px;
            width: 100%;
            display: block;
        }

        /* Social */

        .social a img {
            margin-left: 5px;
            display: block;
            filter: grayscale();
        }

/*** FOOTER ***/

footer {
    padding-bottom: 25px;
    background: var(--color-primary);
    color: var(--color-white);
}

    footer a {
        color: var(--color-grey-lighter);
    }

    footer .grid {

    }

/*** ESTILOS COMUNES ***/

    /* Overlay */

    .overlay {
        width: 100%;
        height: 100vh;
        background: rgba(255, 255, 255, 0.7);
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 3;
    }

    /* Espaciador del menú */

    .spacer {
        padding: 0 25px;
    }

    /* Botón genérico */

    .btn {
        background: var(--color-primary);
        color: var(--color-white);
        padding: 8px 25px;
        display: inline-block;
        border: 2px solid var(--color-white);
        border-radius: 15px;
    }

        .btn:hover {

        }

    /* Mensajes de error */

    .error,
    .info,
    .success,
    .warning {
        padding: 25px;
        background: rgba(255, 255, 255, 0.9);
        color: #111;
    }

        .error {
            border-top: 2px solid #E74C3C;
        }

        .success {
            border-top: 2px solid #52BE80;
        }

    /* Cards */

    .card {
        background: var(--color-white);
        box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
        border-radius: 35px;
        position: relative;
        z-index: 2;
    }

    /* Bloque de contenido (100vh) */

    .block {
        box-sizing: border-box;
        position: relative;
    }

    /* Figuras geométricas cuadradas */

    .square {
        position: absolute;
        border-radius: 100px;
    }

    /* Títulos de sección */

    .title {
        color: var(--color-primary);
        font-family: var(--font-secondary);
        font-size: 3.2em;
        font-weight: 400;
    }

    /* Slider */

    .slider img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .slick-dots {
        text-align: left !important;
    }

        .slick-dots li button:before {
            font-size: 30px !important;
            line-height: 60px !important;
        }

    /* Formularios */

    form {

    }

        form input {
            margin-bottom: 15px;
        }

        form textarea {
            resize: none;
        }

        form input,
        form textarea {
            width: 100%;
            padding: 10px 15px;
            background: rgba(255, 255, 255, 0.5);
            color: var(--color-white);
            border-radius: 15px;
            font-family: var(--font-secondary);
            font-weight: 600;
            border: none;
            display: block;
            box-sizing: border-box;
        }

        form input::placeholder,
        form textarea::placeholder {
            color: var(--color-white);
            font-family: var(--font-secondary);
        }

        form button {
            margin-top: 25px;
            width: 100%;
            display: block;
            font-weight: 600;
            cursor: pointer;
            transition: .3s all;
        }

            form button:hover {
                background: var(--color-white);
                color: var(--color-primary);
            }

    /* Mensaje de envío de mensaje exitoso */

    #exito {
        display: none;
    }

    /* WhatsApp */

    #whatsapp {
        width: 70px;
        height: 70px;
        position: fixed;
        bottom: 15px;
        right: 15px;
        z-index: 3;
    }

        #whatsapp img {
            width: 100%;
            display: block;
        }

    /* Wow */

    .wow {
        visibility: hidden;
    }

/*** SECCIONES ***/

    section {
        margin: auto;
        overflow-x: hidden;
    }

        /* Wrapper */

        .wrapper {
            margin: auto;
            max-width: 1280px;
        }

        /* Bloques */

        section .block {
            padding: 0 35px;
        }

        /* Bloque #1 */

        #block-1 {
            width: 100%;
            height: 100vh;
            display: flex;
            align-items: center;
        }

            #block-1 .text {
                margin-left: 150px;
                text-transform: uppercase;
                position: relative;
                z-index: 2;
            }

                #block-1 .text h1 {
                    color: var(--color-primary);
                    font-size: 4em;
                    font-weight: 900;
                }

                #block-1 .text h2 {
                    color: var(--color-primary);
                    font-size: 3.5em;
                    font-weight: 900;
                }

                #block-1 .text h3 {
                    font-size: 2.5em;
                    font-weight: 900;
                }

                #block-1 .text h4 {
                    font-size: 1.14em;
                    position: relative;
                    top: -29px;
                    left: -245px;
                    transform: rotate(-90deg);
                }

            #block-1 .square-left {
                width: 800px;
                height: 1000px;
                background: #F4F8E2;
                transform: rotate(35deg);
                top: 70vh;
                left: -550px;
            }

            #block-1 .square-right {
                width: 1000px;
                height: 1000px;
                box-shadow: -10px 10px 25px rgb(0 0 0 / 10%);
                transform: rotate(35deg);
                overflow: hidden;
                top: -210px;
                right: -470px;
            }

                #block-1 .square-right .inner {
                    width: inherit;
                    height: inherit;
                    background: url('../images/bg1.jpg') no-repeat left bottom;
                    background-size: 75%;
                    transform: rotate(-35deg);
                    position: absolute;
                    top: 205px;
                    left: -50px;
                }

        /* Bloque #2 */

        #block-2 {

        }

            #block-2 .top {
                text-align: center;
            }

            #block-2 .top p {
                margin: 25px 0;
                font-weight: 600;
            }

            #block-2 .bottom {
                margin: 45px auto;
                text-align: center;
                grid-template-columns: repeat(3, 1fr);
                gap: 45px;
            }

                #block-2 .bottom .card {
                    padding: 35px 15px;
                }

                    #block-2 .bottom .card h1 {
                        margin: 25px auto 15px;
                        color: var(--color-primary);
                        font-family: var(--font-secondary);
                        font-size: 2em;
                        font-weight: 400;
                    }

                    #block-2 .bottom .card p {
                        margin-bottom: 65px;
                        font-weight: 600;
                    }

                    #block-2 .bottom .card .btn {
                        position: absolute;
                        left: 50%;
                        bottom: 35px;
                        transform: translateX(-50%);
                    }

            #block-2 .square-right {
                width: 1000px;
                height: 1000px;
                background: var(--color-primary);
                transform: rotate(35deg);
                top: 400px;
                right: -700px;
            }

        /* Bloque #3 */

        #block-3 {
            margin-top: 100px;
        }

            #block-3 .title {
                margin-bottom: 45px;
            }

            #servicios {
                grid-template-columns: 1fr 1.5fr;
                gap: 45px;
            }

                #servicios__lista {
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                }

                    #servicios__lista .grid {
                        margin-bottom: 45px;
                        grid-template-columns: 150px 1fr;
                        gap: 25px;
                        align-items: center;
                        cursor: pointer;
                    }

                        #servicios__lista .grid .card {
                            width: 150px;
                            height: 130px;
                            overflow: hidden;
                        }

                            #servicios__lista img {
                                width: 100%;
                                height: 100%;
                                display: block;
                                object-fit: cover;
                            }

                        #servicios__lista .grid p span:first-child {
                            font-weight: 600;
                        }

                        #servicios__lista .grid p span:last-child {
                            font-weight: 300;
                        }

                #servicios__item {

                }

                    #servicios__item .card {
                        height: 550px;
                        overflow: hidden;
                    }

                        #servicios__item .card img {
                            width: 100%;
                            height: 100%;
                            display: block;
                            object-fit: cover;
                        }

                    #servicios__item p {
                        margin-top: 25px;
                        font-weight: 600;
                    }

        /* Bloque #4 */

        #block-4 {
            margin-top: 100px;
        }

            #block-4 .title {
                margin-bottom: 45px;
            }

            #block-4 #slider-obras .card {
                margin: 0 25px;
                height: 350px;
                filter: opacity(0.5);
                overflow: hidden;
                transform: scale(0.9);
                transition: .3s all;
                cursor: pointer;
            }

                #block-4 #slider-obras .card a:not(:first-child) {
                    display: none;
                }

                #block-4 #slider-obras .card:hover {
                    filter: opacity(1);
                }

                #block-4 #slider-obras .card.slick-current {
                    filter: opacity(1);
                    transform: scale(1);
                }

        #block-5 {
            margin-top: 100px;
            padding: 65px 35px;
            background: var(--color-primary);
            color: var(--color-white);
        }

            #block-5 .wrapper > .grid {
                grid-template-columns: 1fr 1.5fr;
                gap: 45px;
            }

                #block-5 .wrapper > .grid h1 {
                    margin-bottom: 35px;
                }

                #block-5 .wrapper > .grid > div:first-child {
                    padding: 0 35px;
                }

                #block-5 #mapa {
                    overflow: hidden;
                    border-radius: 25px;
                }

                    #block-5 #mapa iframe {
                        display: block;
                        border: none;
                    }

/*** MENSAJE DE INCOMPATIBILIDAD DE PANTALLA ***/

#incompatible {
    display: none;
}