/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A lightweight and minimalist WordPress theme for Elementor page builder.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.8.1.1716397291
Updated: 2024-05-22 17:01:31

*/


/* CYGNUS */


/* #font */
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


/* #root */ 
:root {


    /* modo claro */
    --body-bg   : #f5f5f5;
    --body-color: #333333;

    /* colores */ 
    --color-web-1-hash: #007078;
    --color-web-1-rgb : 0 182 196;
    --color-web-1     : rgb(var(--color-web-1-rgb));


    --fff-rgb         : 255 255 255;
    --bbb-rgb         : 187 187 187;
    --eee-rgb         : 238 238 238;
    --ddd-rgb         : 221 221 221;
    --ccc-rgb         : 204 204 204;
    --999-rgb         : 153 153 153;
    --666-rgb         : 102 102 102;
    --333-rgb         : 51 51 51;
    --222-rgb         : 34 34 34;
    --111-rgb         : 17 17 17;
    --000-rgb         : 0 0 0;

    --fff             : rgb(var(--fff-rgb));
    --bbb             : rgb(var(--bbb-rgb));
    --eee             : rgb(var(--eee-rgb));
    --ddd             : rgb(var(--ddd-rgb));
    --ccc             : rgb(var(--ccc-rgb));
    --999             : rgb(var(--999-rgb));
    --666             : rgb(var(--666-rgb));
    --333             : rgb(var(--333-rgb));
    --222             : rgb(var(--222-rgb));
    --111             : rgb(var(--111-rgb));
    --000             : rgb(var(--000-rgb));
    --placeholder     : rgb(var(--666));

    --cygnus          : #003F55;

    /* form */
    --msj-ok-tx   : #00ad17;
    --msj-ok-bg   : #e5ffe8;
    --msj-error-tx: #c40000;
    --msj-error-bg: #ffe5e5;
    --msj-info-tx : #a39200;
    --msj-info-bg : #fffbdb;

    /* font's */
    --font-quick : "Quicksand", Sans-serif;
    --font-barlow: "Barlow", sans-serif;
        
    /* size's */
    --size           : 1.05rem; /* 16px */

    --size-1         : 3.25rem; /* 52px */
    --size-2         : 2.75rem; /* 44px */
    --size-3         : 2rem; /* 34px */
    --size-4         : 1.625rem; /* 26px */
    --size-5         : 1.375rem; /* 22px */
    --size-6         : 1.25rem; /* 18px */

    --display        : 1.8;

    --display-1      : calc(var(--size-1) * var(--display)); /* 74px */
    --display-2      : calc(var(--size-2) * var(--display)); /* 67px */
    --display-3      : calc(var(--size-3) * var(--display)); /* 54px */
    --display-4      : calc(var(--size-4) * var(--display)); /* 44px */
    --display-5      : calc(var(--size-5) * var(--display)); /* 34px */
    --display-6      : calc(var(--size-6) * var(--display)); /* 28px */

    --line-height: 1.7;

    /* container */
    --container-full: 100%;
    --container-gr  : 1200px;
    --container-md  : 1024px;
    --container-sm  : 800px;

    /* grid */
    --grid-col-1 : 8.333333333%;
    --grid-col-2 : 16.66666667%;
    --grid-col-3 : 25%;
    --grid-col-4 : 33.33333333%;
    --grid-col-5 : ;
    --grid-col-6 : 50%;
    --grid-col-7 : ;
    --grid-col-8 : 66.66666667%;
    --grid-col-9 : 75%;
    --grid-col-10: 83.33333333%;
    --grid-col-11: 91.66666667%;
    --grid-col-12: 100%;

    /* medidas */
    --w-col-header-left  : 170px;
    --w-col-header-center: 1fr;
    --w-col-header-right : 100px;
    --w-logo             : 100%;

    --w-sidebar          : 300px;

    --h-header           : 100px;
    --h-header-scroll    : 70px;
    --h-cabezal          : 300px;
    --h-btn              : 45px;
    --top-main           : var(--h-header);

    /* separador */
    /* --separador-bg   :; */
    /* --separador-width:; */

    /* radius */
    --radius: 30px;

    /* espacios */
    --espacio-10: 10px;
    --espacio-15: 15px;
    --espacio-20: 20px;
    --espacio-30: 30px;
    --espacio-40: 40px;
    --espacio-50: 50px;
    --espacio-60: 60px;
    --espacio-70: 70px;
    --espacio-80: 80px;
    --espacio-90: 90px;


    /* ratio */
    --ratio-1x1: 100%;
    --ratio-4x3: 75%;
    --ratio-3x4: 133%;
    --ratio    : 0%;

    /* efectos */
    --transition: all .35s ease-in-out;


} 


/* #COMPONENTES */


/* cabezal */
.cyg--cabezal h2 {
    font-weight: bold !important;
}

    .cyg--cabezal span {
        color: rgba(255, 255, 255, .65) !important;
    }

    .cyg--cabezal .cyg--tit .elementor-heading-title:after {
        background-color: rgba(255, 255, 255, .65) !important;
    }




/* tit */
.cyg--tit .elementor-heading-title {
    position      : relative;
    padding-bottom: 30px;
}

    .cyg--tit .elementor-heading-title:after {
        content         : '';
        width           : 170px;
        height          : 5px;
        background-color: var(--color-web-1);
        position        : absolute;
        right           : 0;
        bottom          : 0;
        left            : 0;
        margin          : auto;
    }

    .cyg--tit.left .elementor-heading-title:after {
        left : 0;
        right: auto !important;
    }

    .cyg--tit.left h3 {
        text-align: left !Important;
    }

    .cyg--tit.gris .elementor-heading-title:after {
        background-color: #4A4A49
    }


/* tx */
.cyg--tx p {
    font-size  : var(--size-6);
    line-height: var(--line-height);
}

.cyg--tx.pro {
    padding   : 0 100px;
    box-sizing: border-box;
}

    .cyg--tx.pro p {
        font-weight: 500 !Important;
        color      : #333 !Important;
    }
    .cyg--tx.pro strong,
    .cyg--tx.pro b {
        font-weight: bold !important;
    }




/* #elementor */
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 15px;
}




/* #BODY - HTML */
html {
    scroll-behavior: smooth !important
}
body {
    font-size: 1rem
}



/* #HEADER */   
.cyg--header {
    padding-top: 20px;
    z-index    : 998 !important
}

    .cyg--header .elementor-container {
        padding   : 0 10px !important;
        box-sizing: border-box;
        max-width : 1220px !important;
    }

    /* logo */
    .col--logo a {
        float: left;
    }

    /* menu */
    .cyg--header .cyg--menu ul {
        margin: 0 auto !important;
    }

        .cyg--header .cyg--menu ul li a {
            font-size: 1rem !important;
        }

    /* redes */
    .cyg--header .elementor-icon {
        --icon-padding: 0 !important;
        margin-left   : 10px !important;
        width         : 30px !important;
        height        : 30px !important;
    }



/* #CONTENT */




    /* HOME */

    /* slide */
    .cyg--slide .elementor-widget-wrap {
        padding: 0 !important;
    }

        .cyg--slide .n2-ss-slider .n2-ss-section-main-content {
            justify-content: center !important;
        }

        .cyg--slide .cyg--title,
        .cyg--slide .cyg--title * {
            font-weight: 700 !important;
            font-family: var(--font-barlow) !important;
        }

        .cyg--slide .cyg--btn,
        .cyg--slide .cyg--btn * {
            font-family: var(--font-quick) !important;
        }     

        .cyg--slide .cyg--btn {
            margin-top: 30px !important;
            transition: var(--transition); 
        }
        .cyg--slide .cyg--btn,
        .cyg--slide .cyg--btn * {
            font-weight: 600 !important;
        }                                      

        .cyg--slide .cyg--btn:hover {
            opacity: .75;
        }



    /* pre obras */
    .col--preobra {
        position: relative;
    }


        /* ico */
        .col--preobra .ico > div {
            text-align: center;
        }

            .col--preobra .ico > div img {
                max-width: 100px;
                margin   : auto
            }

           .col--preobra .ico:after {
                content            : '';
                width              : 50px;
                height             : 50px;
                background-image   : url(https://optima.uy/wp-content/uploads/2024/05/ico-flecha.svg);
                background-position: right center;
                background-size    : contain;
                background-repeat  : no-repeat;

                position           : absolute;
                top                : 0;
                right              : 40px;
                transform          : translateY(25px);
            }

            .col--preobra.seis .ico:after {
                display: none;
            }


        /* tit */
        .col--preobra .tit,
        .col--preobra .tit * {
            color      : rgba(var(--fff-rgb) / .45);
            font-size  : 1.4rem;
            line-height: 1.3;
            font-weight: 600
        }

        /* tx */
         .col--preobra .tx {
            padding   : 0 40px;
            box-sizing: border-box;
         }
        .col--preobra .tx * {
            color    : var(--fff);
            font-size: 1.2rem;
        }

        .col--preobra .elementor-widget-wrap {
            align-content: flex-start !important;
        }


        .col--preobra-tit h2 {
            font-weight: 700 !important;
        }




    /* obras */
    .cyg--obra {
        overflow: hidden;
    }


        .cyg--obra figure.elementor-image-box-img {
            width      : 100%;
            float      : left;
            position   : relative;
            height     : 0;
            padding-top: 75%;
            z-index    : 9;
        }

            .cyg--obra figure.elementor-image-box-img img {
                position  : absolute;
                top       : 0;
                left      : 0;
                width     : 100%;
                height    : 100%;
                object-fit: cover;
            }

        .cyg--obra figure.elementor-image-box-img + .elementor-image-box-content {
            position        : absolute;
            bottom          : 0;
            left            : 0;
            width           : 100%;
            background-color: var(--fff);
            text-align      : center;
            padding         : 10px;
            box-sizing      : border-box;
            z-index         : 10;
            opacity         : 0;
            transform       : translateY(100px);
            transition      : var(--transition);
        }

            .cyg--obra figure.elementor-image-box-img + .elementor-image-box-content h3 {
                font-size  : 1.05rem !Important;
                font-weight: 600 !important;
                text-align : center;
                margin     : 0 0 5px 0 !important;

            }

            .cyg--obra figure.elementor-image-box-img + .elementor-image-box-content p {
                margin     : 0;
                font-size  : 1rem;
                font-weight: 400;
                padding    : 0 15px;
                box-sizing : border-box;
            }

        .cyg--obra:hover figure.elementor-image-box-img + .elementor-image-box-content {
            opacity  : 1;
            transform: translateY(0);
        } 



    /* quienes somos */
    .sec--nosotras {
        margin-top: 60px !important;
    }

    .sec--nosotras > div {
       /* grid-column-gap: 30px;*/
    }

        .col--nosotras .elementor-widget-wrap {
            position: relative;
            /*background-color: var(--eee);
            padding         : 0 !important;*/
        }

            .col--nosotras .elementor-widget-wrap:before {
                content         : '';
                position        : absolute;
                top             : 0;
                right           : 0;
                bottom          : 0;
                left            : 0;
                margin          : auto;
                width           : calc(100% - 30px);
                height          : calc(100% - 30px);
                background-color: var(--eee);
            }

            .col--nosotras .cyg--img {
                width           : 100%;
                background-color: var(--fff);
            }

            .home .col--nosotras .cyg--img {
                
            }

            .col--nosotras .cyg--img img {
                border-radius: 50%;
                overflow     : hidden;
                margin       : auto;
                width        : 240px;
                height       : 240px;
                z-index      : 10;
                position     : relative;
            }

             .col--nosotras .cyg--img:after {
                content         : '';
                width           : 100%;
                height          : 100px;
                background-color: var(--eee);
                position        : absolute;
                right           : 0;
                bottom          : 0;
                z-index         : 9;
            }

            .col--nosotras .cyg--nombre {
                margin-top   : 30px;
                font-weight  : 500;
                margin-bottom: 0 !important;
            }

                .col--nosotras .cyg--nombre h2 {
                    font-size  : var(--size-3) !important;
                    font-weight: 600 !important;
                    font-family: var(--font-quick) !important;
                    color      : #4A4A49 !important;
                }

                .col--nosotras .cyg--nombre small {
                    color      : var(--color-web-1);
                    font-size  : 1.14rem !important;
                    font-weight: 500 !important;
                }

            .col--nosotras .cyg--tx {
                margin-top    : 15px;
                padding-bottom: 40px;
            }

                .col--nosotras .cyg--tx > div {
                    padding: 0 40px;
                }

                .col--nosotras .cyg--tx p,
                .col--nosotras .cyg--tx > div {
                    font-size  : var(--size);
                    line-height: var(--line-height);
                    font-weight: 400;
                }

                 .col--nosotras .cyg--tx p {
                    margin: 0 0 12px 0
                 }
                 .col--nosotras .cyg--tx p:last-child {
                    margin-bottom: 0;
                 }


    /* clientes */
    .sec--clientes img {
        max-width: 90% !important;
    }



    /* contacto */

    .cyg--section.contacto form button {
        box-sizing: border-box;
        width     : 100%;
    }

    .cyg--form .e-form__buttons {
        margin-bottom: 0 !important
    }


        .col--address {
            padding-left: 60px;
        }

            .col--address .cyg--address {
                background-color: var(--eee);
                height          : 100%;
                padding         : 30px 30px 30px 50px;
                display         : flex;
            }

            .col--address address {
                font-style  : normal;
                color       : #333;
                width       : 100%;
                float       : left;
                line-height : 1.35;
                padding-left: 50px;
                position    : relative;
            }

            .col--address address p {
                width        : 100%;
                float        : left;
                margin-bottom: 5px;
            }

            .col--address address a {
                width: 100%;
                float: left;
                color: #333;
            }

            .col--address address a:hover {
                text-decoration: underline;
            }

            .col--address .cyg--correo {
                margin-bottom: 30px;
            }

            .col--address address:before {
                content            : '';
                width              : 40px;
                height             : 40px;
                background-repeat  : no-repeat;
                background-position: left center;
                background-size    : contain;
                position           : absolute;
                top                : 0;
                left               : 0;
            }

            .col--address .cyg--correo:before {
                background-image: url(https://optima.uy/wp-content/uploads/2024/05/ico-correo.svg);
            }
            .col--address .cyg--tel:before {
                background-image: url(https://optima.uy/wp-content/uploads/2024/05/ico-tel.svg);
            }




    /* QUE HACEMOS */

    .box--hacemos .elementor-widget-wrap > div {
        background-color: #fff;
        padding         : 30px;
        box-sizing      : border-box;
    }

        .box--hacemos h4 {
            font-size     : 1.25rem !important;
            font-weight   : normal !important;
            font-family   : var(--font-quick) !important;
            color         : #4A4A49 !important;
            line-height   : 1.25 !important;
            letter-spacing: inherit;
            margin-top    : 0 !important;
        }
        .box--hacemos h4 storng {
            font-weight: normal !important;
            font-family: var(--font-quick) !important;
        }

         .box--hacemos p {
            font-size  : 1.05rem !important;
            font-weight: normal !important;
            font-family: var(--font-quick) !important;

            min-height : 230px;
        }

        .box--hacemos .ico {
            padding: 0 30px !important;
        }

        .box--hacemos .ico:before {
            content         : '';
            width           : 100%;
            height          : 50%;
            background-color: #eee;
            position        : absolute;
            top             : 0;
            left            : 0;
            z-index         : 10;
        }

        .box--hacemos .elementor-widget-container {
            z-index : 11;
            position: relative;
        }
        .box--hacemos .ico img {
            width  : 100px;
            height : 100px;
            margin : auto;
            z-index: 11;
        }






/* #FOOTER */
.cyg--copy {
    margin-top: 40px;
    border-top: 1px solid #eee;
}

    .cyg--copy > div {
        padding-top: 15px;
    }






/* # MOBILE ------------------------------------------- */




@media screen and (max-width: 1370px){


    .cyg--slide .cyg--title h2 {
        font-size: 3.6rem !important;
    }


    .col--preobra .tit, .col--preobra .tit * {
        font-size: 1.4rem;
    }

    .col--preobra .tx * {
        font-size: 1.1rem !important;
    }


}




@media screen and (max-width: 1200px){


    .col--preobra .ico > div img,
    .box--hacemos .ico img {
        width : 80px;
        height: 80px;
    }

    .col--preobra-tit h2 {
        font-size: 2.2rem !important;
    }

    .col--preobra .ico:after {
        width : 32px;
        height: 32px;
    }

    .cyg--section.servicios {
        padding: 40px 0 !important;
    }


    .cyg--section.nosotras {
        padding: 40px 0 !important;
    }

        .cyg--section.nosotras .cyg--tit .elementor-widget-container {
            margin-bottom: 0 !important;
        }

        .sec--nosotras {
            margin-bottom: 0 !important;
        }

    .cyg--section.obras {
        padding: 60px 0 0 0 !important;
    }


    .cyg--section.testi {
        padding: 0 !important;
    }

    .cyg--section.clientes {
        padding: 40px 0 !important;
    }


        .sec--clientes .elementor-column {
            width: 25% !important;
        }


    .cyg--section.contacto {
        padding: 40px 0 !important;
    }

    .col--address {
        right: 10px;
    }

}



@media screen and (max-width: 1024px){



    /* menú */
    .col--menu {
        width: 55% !Important;
    }

        .col--menu .elementor-widget-container {
            padding-top: 0 !important;
        }

        .elementor-nav-menu--dropdown {
            top: 31px !important;
        }
        .elementor-nav-menu--dropdown a {
            color  : #fff !Important;
            padding: 15px !important;
        }


    /* redes */
    .col--redes {
        width: 15% !important;
    }


    /* slide */
    .cyg--slide .cyg--title h2 {
        font-size: 2.25rem !important;
    }

    
    /* nosotras */
    .sec--nosotras .elementor-container {
        flex-wrap: inherit !important;
    }

        .col--nosotras h2 {
            font-size: 2rem !important;
        }

     .sec--clientes .elementor-column {
            width: 33% !important;
        }



}



@media screen and (max-width: 767px){


    :root {

         --size-6         : 1.15rem;

    }




    .cyg--header {
        padding: 15px 0 0 0 !important;
    }
        .col--logo {
            width: 30% !important;
        }
        .col--menu {
            width: 70% !important;
        }

            .col--menu nav {
                border-bottom: 1px solid #eee;
            }

        .col--redes {
            width: 0% !important;
        }


    .cyg--slide .cyg--title h2 {
        font-size: 1.9rem !important;
    }

    .cyg--section.servicios p br {
        display: none;
    }


    .sec--nosotras .elementor-container {
        flex-wrap: wrap !important;
    }

    .cyg--section.testi {
        padding: 0 !important;
    }



    .sec--clientes .elementor-column {
        width: 50% !important;
    }


    .col--address {
        padding-left: 0 !important;
        right       : auto !important;
        margin-top: 30px;
    }

    .cyg--section.contacto .cyg--tit {
        margin-bottom: 30px;
    }
    .cyg--form {
        margin-top: 30px !important;
        padding   : 0 10px !important;
        box-sizing: border-box
    }
    .cyg--form .elementor-widget-container {
        margin-left: 0 !Important;
        transform  : translate(0,0) !important;
        width      : 100%;
    }

    .cyg--form .elementor-form-fields-wrapper {
        --e-transform-translateY: -41px;
        transform               : translateY(var(--e-transform-translateY)) !important;
    }



    /* QUE HACEMOS */
    .box--hacemos p {
        min-height: inherit;
    }




    .cyg--footer {
        margin-top: 0 !important;
    }



}




@media screen and (max-width: 540px) { 


    :root {

         --size-6         : 1.05rem;

    }


    .cyg--header {
        padding-top: 10px !important;
    }


    .cyg--slide .cyg--title h2 {
        font-size: 1.7rem !important;
    }

    .cyg--slide .cyg--btn {
        transform: scale(.7) translateX(-45px);
    }

    .cyg--section.obras .cyg--tit {
        margin-bottom: 40px !important;
    }




    .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-prev {
        left: -40px;
    }
    .elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .elementor-swiper-button-next {
        right: -40px;
    }


     .elementor-testimonial__text {
        font-size: .9rem !important;
     }


     .cyg--form .elementor-field-group {
        padding-left : 0 !important;
        padding-right: 0 !important;
     }


     .cyg--tx p {
        font-size: .95rem !important;
     }



}