
.icon-black
{
    display: none;
}

.slides-main
{
    height: 100vh;
}

.img-slide
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-bullet-active
{
    background: var(--secondary-color);
}

.slide
{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.slide::before
{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0.6;
}

.info-slide, .info-slide2, .info-slide3
{
    position: absolute;
    width: fit-content;
    padding: 20px 40px;
    left: 100px;
    color: var(--secondary-color);
    display: flex;
    flex-direction: column;
}

.info-slide2
{
    left: inherit;
    right: 200px;
}

.title-slide-main
{
    margin-bottom: 5px;
}

.title-slide
{
    font-size: 45px;
    transition: all .3s;
}

.descripcion-slide-main
{
    margin-bottom: 20px;
}

.descripcion-slide
{
    font-weight: lighter;
    font-style: italic;
    font-size: 22px;
    transition: all .3s;
}

.btn-slide-main
{
    transition: all .3s;
}

/********************************************/
/************ NOSOTROS MAIN *****************/
/********************************************/

.nosotros-main
{
    padding: var(--padding-general);
    background: var(--primary-color);
    color: var(--secondary-color);
    position: relative;
    background-image: url(../img/svg/fondo-nosotros.svg);
    z-index: 1;
    background-size: cover;
    background-repeat: no-repeat;
}

.line
{
    top: 0;
    left: 0;
    position: absolute;
    width: 25%;
    height: 100%;
    background-image: url(../img/svg/fondo-nosotros-main.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    z-index: -1;
}

.title-nosotros{
    color: #000;
}



.name-empresa-main
{
    text-align: center;
    color: var(--primary-color);
    max-width: 1440px;
    margin: 0 auto;
}

.title-nosotros-main
{
    text-align: center;
    font-size: 26px;
    padding-bottom: 30px;
    color: var(--secondary-color);
    max-width: 1440px;
    margin: 0 auto;
}

.texto-sb-main p{
    color: #000;
}

.info-nosotros-main
{
    padding: 0 80px;
    text-align: center;
    z-index: 2;
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
}

.info-nosotros-main p{
    color: #000;
}

.btn-conocer-main
{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 50px;
    max-width: 1440px;
    margin: 0 auto;
}

.sobre-nosotros-main
{
    max-width: 1440px;
    margin: 0 auto;
}

.info-sn-main
{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
}

.texto-sb-main
{
    padding: 0 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.title-sobre-nosotros
{
    color: var(--primary-color);
}

/********************************************/
/************ SERVICIOS MAIN ****************/
/********************************************/

.servicios-main
{
    padding: var(--padding-general);
    position: relative;
}

/*
.servicios-main::before
{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: var(--primary-color);
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    z-index: -1;
}

.servicios-main::after
{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 25%;
    height: 60%;
    background-image: url(../img/logo/logo-white.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}*/

.title-servicios-main
{
    font-size: 20px;
    color: var(--primary-color);
    max-width: 1440px;
    margin: 0 auto;
}

.descripcion-servicios-main
{
    font-size: 16px;
    max-width: 1440px;
    margin: 0 auto;
}

.servicios-main-content
{
    max-width: 1440px;
    margin: 0 auto;
}

.servicios-slider-main
{
    padding: 30px 0;
    width: 100%;
    margin: 0;
}

.link-servicio
{
    padding: 10px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--tertiary-color);
}

.servicio
{   
    border: 1px solid var(--primary-color);
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    transition: all 120ms;
    background: var(--primary-color);
    box-shadow: 1px 2px 14px 1px rgba(0,0,0,0.29);
    -webkit-box-shadow: 1px 2px 14px 1px rgba(0,0,0,0.29);
    -moz-box-shadow: 1px 2px 14px 1px rgba(0,0,0,0.29);
    height: 285px;
}

.servicio::before
{
    content: 'Ver más';
    position: absolute;
    left: 0;
    bottom: -55px;
    background: var(--tertiary-color);
    padding: 15px 20px;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    z-index: 2;
    width: 100%;
    transition: all 80ms;
    color: var(--secondary-color);
    border: 2px solid var(--tertiary-color);
}

.servicio:hover::before
{
    bottom: 0;
}

.head-servicio
{
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 8px;
    margin: 15px 0;
}

.img-servicio
{
    object-fit: contain;
    animation: giro 2s linear infinite alternate;
}

@keyframes giro {
    from{
        transform: scale(1);
    }

    to
    {
        transform: scale(1.3);
    }
    
}

.title-servicio-main
{
    color: var(--primary-color);
    text-align: center;
}

.title-servicio
{
    font-weight: 790;
    font-family: sans-serif;
    color: #fff;
}

.info-servicio-main
{
    margin: 15px 0;
}

.info-servicio-main p
{
    text-align: center;
    color: #fff;
}

/********************************************/
/************** GALERIA MAIN ****************/
/********************************************/

.galeria-main
{
    padding: var(--padding-general);
    background: var(--tertiary-color);
    color: var(--secondary-color);
}

.title-galeria-main
{
    padding-bottom: 50px;
    max-width: 1440px;
    margin: 0 auto;
}

.body-galeria
{
    display: flex;
    width: 100%;
    height: 400px;
    max-width: 1440px;
    margin: 0 auto;
}

.img-ctn 
{
    position: relative;
    height: 100%;
}

.img-ctn::before
{
    content: 'BORCELLE';
    display: flex;
    align-items: center;
    justify-content: end;
    color: #fff;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
    background: var(--tertiary-color);
    opacity: 1;
    mix-blend-mode: color;
}

.link-galeria
{
    min-width: 0;
    flex: 1 1 10px;
    object-fit: cover;
    opacity: 0.5;
    transition: 0.5s;
    position: relative;
    display: block;
    width: 100%;
}

.imgs 
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.link-galeria:hover .img-ctn:before
{
    opacity: 0;
    mix-blend-mode: inherit;
}

.link-galeria:hover
{
    cursor: pointer;
    flex: 1 1 280px;
    opacity: 1;
}

.btn-galeria-main
{
    display: grid;
    place-items: center;
    padding-top: 20px;
    max-width: 1440px;
    margin: 0 auto;
}

/********************************************/
/************ CONTACTO MAIN ****************/
/********************************************/
.contacto-main
{
    background: var(--secondary-color);
    color: var(--tertiary-color);
    padding: var(--padding-general);
    position: relative;
    z-index: 1;
    border-top: 3px solid #f9f9f9;
}
/*
.contacto-main::before
{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(../img/svg/servicios-inicio.svg);
    background-size: cover;
    background-position: start;
    z-index: -1;
    background-repeat: no-repeat;
}

.contacto-main::after
{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    background-image: url(../img/svg/servicios-inicio.svg);
    background-size: cover;
    background-position: start;
    z-index: -1;
    background-repeat: no-repeat;
    transform: scaleX(-1);
}
*/
.head-contacto
{
    text-align: center;
    max-width: 1440px;
    margin: 0 auto;
}

.body-contacto
{
    max-width: 1440px;
    margin: 0 auto;
}

.img-sb-main{
    padding: 30px 0;
}

.forms-group-main
{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    row-gap: 40px;
    padding: 50px 160px;
}

.group1
{
    grid-area: 1 / 1 / 2 / 2;
}

.group2
{
    grid-area: 1 / 2 / 2 / 3
}

.group3
{
    grid-area: 2 / 1 / 3 / 2;
}

.group4
{
    grid-area: 2 / 2 / 3 / 3;
}

.group5
{
    grid-area: 3 / 1 / 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.group
{
    position: relative;
}

.inputs 
{
    font-size: 16px;
    padding: 10px 10px 10px 5px;
    display: block;
    width: 90%;
    border: none;
    border-bottom: 1px solid #515151;
    background: transparent;
}

.inputs:focus 
{
    outline: none;
}

label 
{
    color: #999;
    font-size: 18px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 5px;
    top: 10px;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
}

.inputs:focus ~ label, .inputs:valid ~ label 
{
    top: -20px;
    font-size: 14px;
    color: var(--primary-color);
}

.inputs:focus
{
    border: 0;
}

.bar 
{
    position: relative;
    display: block;
    width: 90%;
}

.bar:before, .bar:after 
{
    content: '';
    height: 1px;
    width: 0;
    bottom: 1px;
    position: absolute;
    background: var(--primary-color);
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
}

.bar:before 
{
    left: 50%;
}

.bar:after 
{
    right: 50%;
}

.inputs:focus ~ .bar:before, .inputs:focus ~ .bar:after 
{
    width: 50%;
}

.highlight 
{
    position: absolute;
    height: 60%;
    width: 100px;
    top: 25%;
    left: 0;
    pointer-events: none;
    opacity: 0.5;
}

.inputs:focus ~ .highlight 
{
    animation: inputsHighlighter 0.3s ease;
}

@keyframes inputsHighlighter 
{
    from 
    {
        background: var(--primary-color);
    }

    to 
    {
        width: 0;
        background: transparent;
    }
}


/**************************************/
@media(max-width: 1200px)
{
    .descripcion-servicios, .title-servicios
    {
        width: 50%;
    }
}

/**************************************/
@media(max-width: 992px)
{
    .forms-group-main
    {
        padding: 50px 40px;
    }
    .info-sn-main
    {
        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
    }

    .img-sb-main
    {
        padding: 20px 80px;
    }

    .nosotros-main, .contacto-main
    {
        padding: 50px 60px;
    }

    .slides-main
    {
        height: calc(100vh - 113px);
    }

    .info-slide, .info-slide2, .info-slide3
    {
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .btn-conocer-main
    {
        padding: 50px 0;
    }

    .title-sobre-nosotros-main
    {
        padding-bottom: 30px;
    }
    
    .title-sobre-nosotros
    {
        text-align: center;
    }

    .texto-sb-main p    
    {
        text-align: center;
    }

    .galeria-main
    {
        padding: 50px 60px;
    }
}

/**************************************/
@media(max-width: 768px)
{
    .forms-group-main
    {
        padding: 50px 0;
    }
    .nosotros-main, .contacto-main
    {
        padding: 50px 40px;
    }

    .info-nosotros-main, .texto-sb-main
    {
        padding: 0 40px;
    }

    .line
    {
        width: 40%;
    }

    .servicios-main
    {
        padding: 50px 40px;
    }

    .servicios-main::before
    {
        width: 100%;
    }

    .descripcion-servicios, .title-servicios
    {
        width: 100%;
        color: #000;
        text-align: center;
        transition: all .3s;
    }

    .descripcion-servicios
    {
        font-size: 20px;
    }

    .servicios-slider-main
    {
        width: 100%;
    }

    .servicios-main::after
    {
        background-image: none;
        width: 0;
        height: 0;
    }

    .info-slide, .info-slide2, .info-slide3
    {
        padding: 20px;
    }

    .title-slide
    {
        font-size: 42px;
    }

    .galeria-main
    {
        padding: 50px 40px;
    }
}

/**************************************/
@media(max-width: 576px)
{
    .nosotros-main, .contacto-main
    {
        padding: 50px 20px;
    }
    .servicios-main
    {
        padding: 50px 20px;
    }

    .info-sn-main {
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    }

    .forms-group-main
    {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: inherit;
    }

    .group1, .group2, .group3, .group4, .group5
    {
        grid-area: inherit;
    }

    .body-galeria
    {
        flex-direction: column;
    }

    .link-galeria
    {
        height: 20px;
    }

    .title-slide
    {
        font-size: 36px;
        text-align: center;
    }

    .descripcion-slide
    {
        text-align: center;
    }

    .btn-slide-main
    {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .info-nosotros-main, .texto-sb-main
    {
        padding: 0;
    }

    .descripcion-servicios
    {
        font-size: 18px;
    }

    .galeria-main
    {
        padding: 50px 20px;
    }

    .copy-footer p {

        font-size: 15px;
    }
}

@media(max-width: 420px)
{
    .info-sn-main {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }
}
/**************************************/