/* FONTS */
@font-face
{
    font-family: 'Product-Sans';
    src: url('font/product-sans/regular.ttf');
}

@font-face
{
    font-family: 'Product-Sans-Bold';
    src: url('font/product-sans/bold.ttf');
}

@font-face
{
    font-family: 'Product-Sans-BoldItalic';
    src: url('font/product-sans/bold-italic.ttf');
}

@font-face
{
    font-family: 'Product-Sans-Italic';
    src: url('font/product-sans/italic.ttf');
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: 'Product-Sans-Bold';
    letter-spacing: 0.2vw;
}

    
body
{
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    background-color: #fff;        
    overflow-x: hidden;
}

    
a,
a:link,
a:visited,
a:active
{
    text-decoration: none;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
}

#footer a,
#footer a:link,
#footer a:visited,
#footer a:active
{
    color: #3c3c3c;
}


p > span,
a > span
{
    margin-right: 0.96vw;
    font-size: inherit;
}

.force-flex
{
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}
.flex
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex > *
{
    position: relative;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
.flex-nowrap
{
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.flex-nowrap > *
{
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}
.flex-center
{
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.flex-distribute
{
    -ms-flex-pack: distribute;
    justify-content: space-around;
}
.valign-distribute
{
    -ms-flex-line-pack: distribute;
    align-content: space-around;
}
.flex-justify
{
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.valign-justify
{
    -ms-flex-line-pack: justify;
    align-content: space-between;
}
.justify-content {
    text-align: justify !important;
}
.flex-left
{
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
.flex-right
{
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.ignore-flex
{
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}
.valign-center
{
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.valign-top
{
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.valign-bottom
{
    -ms-flex-line-pack: end;
    align-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.animate
{
    -webkit-transition:.5s all;
    transition:.5s all;
}

.btn
{
    font-family: 'Product-Sans', sans-serif;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    height: 7.53vw;
    background-color: #C52033;
    padding: 0.78vw 4.6vw;
    font-size: 3.7vw;
    color: #fff;
    letter-spacing: 0.1vw;
    -webkit-transition: .2s all;
    transition: .2s all;
    cursor: pointer;
}

.btn:hover
{
    background-color: #9f1b2a;
}

.btn-outline
{
    background-color: transparent;
    border: 3px #fff solid;
}

.btn-outline:hover
{
    background-color: #fff;
    color: #404041;
}

 
.dropdown,
.menu
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu > li
{
    text-align: center;
    font-size: 1.04vw;
    padding:0 1vw;
}

.dropdown
{
    height: 16.2vw;
    overflow: hidden;
    z-index: 10;
}

.dropdown > li
{
    padding: 1vw 0;
    margin: 0 0.8vw;
    height: 14.6vw;
    text-align: center;
    
}
   
.dropdown > li:first-of-type
{
    top: 0;
}

.slider
{
    overflow: hidden;
}

.slider > .overflow-wrapper
{
    position: absolute;
    width: 100%;
    height: inherit;
    overflow: hidden;
    left: 0;
    
}

.dropdown-arrow
{
    display: none;
    font-size: inherit;
    position: absolute;
    top: 0;
    right: 0vw;
    z-index: 10;
    height: 0.5vw;
    width: 0.5vw;
}

.carousel > .overflow-wrapper
{
    position: absolute;
    width: 100%;
    height: inherit;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    left: 0;
    
}

.slider .background-item
{
    position: relative;
    height: inherit;
    min-width: 100%;
    background-size: cover;
}

.slider-info
{
    -ms-flex-preferred-size: 94.1vw;
    flex-basis: 94.1vw;
    height: inherit;
    z-index: 10;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: distribute;
    align-content: space-around;
    color: #fff;
}

.silder-info > h1,
.slider-info > h4
{
    margin: 0;
    padding: 0;
}

.slider-info > h1 
{
    font-size: 5vw;
    line-height: 7.04vw;
    text-align: center;
}

.slider-info > h4 
{
    font-size: 1.15vw;
    font-family: 'Product-Sans', sans-serif;
    padding: 1.05vw 0;
    font-weight: normal;
    display: none;
}

.slider-button
{
    cursor: pointer;
    text-align: center;
    color: #fff;
    border:1px #fff solid;
    border-radius: 100%;
    height: 8.7vw;
    width: 8.7vw;
    z-index: 5;
}

.left,
.right
{
    height: inherit;
    -ms-flex-preferred-size: 100vw;
    flex-basis: 100vw;
}


    
.left p,
.right p
{
    line-height: 7.04vw;
    font-family: 'Product-Sans', sans-serif;
    font-size: 3.2vw;
    text-align: center;
    padding: 0 14vw;
}

.left > *,
.right > *
{
    margin: 1.25vw 0;
}

.left h2,
.right h2
{
    font-size: 5.3vw;
}

.image > *
{
 position: relative;
}

.image-frame
{
 border: 4px #C52033 solid;
 z-index: 5;
}

.image-content
{
    height: inherit;
    width: 100%;
    background-size: cover;
} 

.section-heading
{
    background-color: #fff;
    color: #C30B2F;
    text-align: center;
    padding: 0 20vw;
    font-family: "Product-Sans", sans-serif;
}

.section-heading p
{
    font-size: 3.2vw;
    line-height: 5.12vw;
    margin:0 0 12vw 0;
}

.section-heading h2
{
    font-size: 5.33vw;
    color: #000;
    margin: 12vw 0;
}

.section-footer
{
    background-color: #404041;
    color: #fff;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.section-footer h2
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    font-size: 3.2vw;
    padding: 0 4vw;
    text-align: center;
    font-family: 'Product-Sans', sans-serif;
}

.section-footer .btn
{
    -ms-flex-preferred-size: 46vw;
    flex-basis: 46vw;
    font-size: 2.6vw;
    margin: 1.5vw 0 4.5vw 0;
}

.heading h2
{
    font-family: 'Product-Sans', sans-serif;
    font-size: 5.3vw;
    text-align: center;
}

.controls > span
{
    width: 9.5vw;
    height: 9.5vw;
    border: 1px #fff solid;
    cursor: pointer;
    margin: 8vw 2.7vw;
}

.custom-carousel-item
{
    min-width: 100%;
    float: left;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


.custom-carousel-item > *
{
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
}

#contact-bar
{
    height: 16.26vw;
    padding:0 6.2vw;
    font-size: 0.83vw;
    color: #fff;
    background-color: #000;
}

    
#contact-bar > div
{
    height: 100%;
}

#contact-bar a:link,
#contact-bar a:visited,
#contact-bar a:active
{
    color: #fff;
}

.lang-selector
{
    z-index: 100;
}

.lang-selector > ul
{
    -ms-flex-preferred-size: 8vw;
    flex-basis: 8vw;
}

.lang-option
{
    cursor: pointer;
}

.lang-option > p
{
    margin: 0;
    padding: 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.lang-option *:not(.flag)
{
    display: none;
}

#contact-bar .lang-selector > .dropdown
{
    background-color: #000;
}

.flag
{
    margin: 0;
    padding: 0;
    margin-right: 0.43vw;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    width: 10.21vw;
}

#contact-info
{
    -ms-flex-preferred-size: 19.7vw;
    flex-basis: 19.7vw;
    text-align: center;
    white-space: nowrap;
    display: none;
}

#contact-info > *
{
    padding: 0 1.1vw;
}

#contact-info > :first-child
{
    border-right: 2px #fff solid;
    padding-left: 0;
}

#main-menu
{
    height: 37.3vw;
    width: 66.46vw;
    background-color: #fff;
    padding: 0 16.77vw;
}

#main-menu > *:not(.logo)
{
    display: none;
}

#main-menu > .menu
{
    -ms-flex-preferred-size: 41.67vw;
    flex-basis: 41.67vw;
}


#main-menu > .menu a:link,
#main-menu > .menu a:visited,
#main-menu > .menu a:active
{
    color: #000;
}

#main-menu > .menu a:hover
{
    color: #C52033;
}

#main-menu > .logo,
#footer > .logo
{
    width: 25vw;
    margin: 0 auto;
}

#main-menu > .btn
{
    font-size: 0.73vw;
}

#gallery
{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 125vw;
    width: 92.6vw;
    padding: 0 3.6vw;
}

.slider-bullets
{
    display: none;
    z-index: 15;
    height: 1.25vw;
    position: absolute;
    top: 56.67vw;
    margin: 0 auto;
}

.bullet
{
    border-radius: 100%;
    -ms-flex-preferred-size: 1.25vw;
    flex-basis: 1.25vw;
    height: 1.25vw;
    margin: 0 0.52vw;
    background-color: rgba(255, 255, 255, 0.33);
    -webkit-transition: .25s all;
    transition: .25s all;
}

.focused-bullet
{
    background-color: #fff;
}

#nosotros
{
    background-color: #FFFFFF;
    overflow: hidden;
}

#mision,
#vision
{
    background-color: #fff;

}

#mision
{
    padding-top: 16vw;
}


#vision > .left
{
    padding:0 14.6vw;
}

#vision > .left > p
{
    padding: 0;
    text-align: left;
}

#mision .image-frame
{
    height: 53vw;
    -ms-flex-preferred-size: 62vw;
    flex-basis: 62vw;
    margin-bottom: 30vw;
}

.active-link
{
    color: #C52033 !important;
}


#mision > .left > h2,
#mision > .left > .btn
{
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

#mision > .left > p
{
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
}

#mision .image-content
{
 background-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.286)), to(rgba(0,0,0,0.286))), url('/img/mision.jpg');
 background-image: linear-gradient(90deg, rgba(0,0,0,0.286), rgba(0,0,0,0.286)), url('/img/mision.jpg');
 top: 3vw;
 left: 3vw;
}

#mision .left
{
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

#vision .left
{
    color: #fff;
    padding-right: 5vw;
}

#vision-shape
{
    position: absolute;
    background-color: #C30B2F;
    width: 116vw;
    height: 74vw;
    -webkit-transform: perspective(100vw) rotateY(10deg);
    transform: perspective(100vw) rotateY(10deg);
    -webkit-transform-origin: right top;
    transform-origin: right top;        
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    outline: 1px solid transparent;
}

#vision .image
{
    height: 63.7vw;
    width: 70vw;
}

#vision .image-content
{
    width: 70%;
    margin: 0 auto;
    background-image: url('/img/vision.jpg');
    -webkit-transform: perspective(200vw) translateY(0.5vw) rotateY(10deg);
    transform: perspective(200vw) translateY(0.5vw) rotateY(10deg);
    -webkit-transform-origin: top center;
    transform-origin: top center;        
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    outline: 1px solid transparent;
}

#servicios .left
{
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

#list-servicios
{
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	transform: translateY(-3vw);
}

#servicios
{
    padding-top: 19.2vw;
    background-color: #fff;
}

#servicios h2
{
    padding-left: 14vw;
}

#servicios .right
{
    padding: 0;
}

#servicios .right p
{
    text-align: left;
    margin-bottom: 5vw;
}

#servicios .image
{
    height: 77.5vw;
    -ms-flex-preferred-size: 61.6vw;
    flex-basis: 61.6vw;
}

#servicios .image-content
{
    background-image: url('/img/servicios.jpg');
    top: -2.8vw;
    left: -2.8vw;
}

#list-servicios .servicio-item:nth-child(2) img
{
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

#list-servicios .servicio-item:nth-child(2) p
{
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.servicio-item
{
    margin: 10vw 0;
    font-size: 3.2vw;
    text-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-preferred-size: 78vw;
    flex-basis: 78vw;
}

.servicio-item img
{
    -ms-flex-preferred-size: 12vw;
    flex-basis: 12vw;
    height: 12vw;
}

.servicio-item h3
{
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    margin: 5vw 0 8vw 0;
    font-size: 5.3vw;
}

.servicio-item p
{
    margin: 0 10vw;
    line-height: 8vw;
    font-family: 'Product-Sans', sans-serif;
    text-align: center;
}

#proyectos-gallery
{
    height: 133vw;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#proyectos-gallery > *
{
    height: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

#proyectos-gallery > .subgallery
{
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}


 #proyectos-gallery .subgallery > *
 {
     -ms-flex-preferred-size: 100%;
     flex-basis: 100%;
     height: 50%;
     top: 50%;
 }

.gallery-item > .gallery-overlay
{
    height: 100%;
    width: 100%;
    background-color: transparent;
}
.gallery-item
{
    color: transparent;
    background-size: cover;
    background-position: center;
}
.gallery-overlay
{
    text-align: center;
    -webkit-transition: 0.4s all;
    transition: 0.4s all;
}
.gallery-item h3
{
    font-size: 5.3vw;
    letter-spacing: 0.1vw;
    padding: 0 9vw;
}
.gallery-item p
{
    display: none;
    margin: 0 4vw;
    font-size: 0.8vw;
    line-height: 1.6vw;
}
.gallery-item:hover *
{
    color: #fff;
}
.gallery-item:hover > .gallery-overlay
{
    background-color: rgba(195, 11, 47, 0.86);
}
#mapa-container
{
    background-color: #fff;
    text-align: center;
    overflow: hidden;
}
#mapa-container > h2
{
    margin-top: 5.7vw;
    margin-bottom: 0;
    font-size: 2.6vw;
    color: #C01A3B;
}
#mapa-container > div
{
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#map
{
    height: 95vw;
}
#map-info,
#map-info *
{
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
}
#map-info
{
    margin-bottom: 10vw;
    -ms-flex-preferred-size: 60vw;
    flex-basis: 60vw;
    max-width: 60vw;
    height: 50vw;
    color: #fff;
    background-image: url('/img/sliders/bg-item-2.jpg');
    background-size: cover;
}
#map-info .offset
{
    height: inherit;
    background-color: rgba(186, 2, 38, 0.87);
    -webkit-transform: translate(2.3vw, -3vw);
    transform: translate(2.3vw, -3vw);
    padding: 0 5.2vw;
}
#map-info h2
{
    font-size: 5.3vw;
    text-transform: uppercase;
}
#map-info p
{
    font-size: 1.8vw;
    line-height: 4vw;
}
#resenas
{
    background-color: #BE0227;
    color: #fff;
	align-content: center;
	align-items: center;
}
#resenas .carousel
{
    height: 261.8vw;
    width: 100vw;
    margin-top: 2.5vw;
}

#proyectos
{
	margin-top: 5vw;
}

#resenas .custom-carousel-item > *
{
    margin: 0 2.9vw;
}
#resenas .heading
{
    padding: 0 10vw;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#resenas .heading h2
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
#resenas .image-frame
{
    -ms-flex-preferred-size: 60.1vw;
    flex-basis: 60.1vw;
    height: 92.8vw;
    border: 4px #fff solid;
    left: 5vw;
    margin-top: 3vw;
}
#resenas .image-content
{
    top: -4vw;
    left: -10vw;
    width: 110%;
}
#resenas .info
{
    -ms-flex-preferred-size: 65.6vw;
    flex-basis: 65.6vw;
    height: inherit;
}
#resenas .info-author
{
    font-family: 'Product-Sans-Bold', sans-serif;
    font-size: 4.8vw;
    letter-spacing: 0.18vw;
}
#resenas .info-content
{
    font-family: 'Product-Sans', sans-serif;
    font-size: 3.7vw;
    line-height: 11vw;
    margin-top: 20vw;
    text-align: center;
	overflow: scroll;
	height: 80vh;
}
.see-more-link
{
	display: none;
	color: #fff;
}
.see-more-link:hover
{
	text-decoration: underline;
}

.info-content a
{
	color: #fff;
}
.hidden-info
{
	display: none;
}
#blog
{
    background-color: #fff;
}
#blog .section-heading > h2
{
    font-size: 5.3vw;
}

.blog-posts
{
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.post
{
    -ms-flex-preferred-size: 100vw;
    flex-basis: 100vw;
    margin: 17.8vw 0.88vw;
}

.post > *:not(.post-image)
{
    margin-left: 11.2vw; 
}

.post .btn
{
    -ms-flex-preferred-size: 36.1vw;
    flex-basis: 36.1vw
}
.post-image
{
    height: 41.9vw;
    background-size: cover;
    background-position: center;
}
.image-caption
{        
    padding: 0;
    margin: 0;
    position: relative;
    width: 35%;
    height: 7.6vw;
    font-size: 2.6vw;
    color: #fff;
    background-color: #BE0227;
}
.post-title,
.post-author
{
    letter-spacing: 0.1vw;
}
.post-title
{
    font-family: 'Product-Sans-Bold', sans-serif;
    font-size: 4.5vw;
    height: 4.5vw;
    margin: 10.5vw 0 2.2vw 0; 
}
.post-author
{
    font-family: 'Product-Sans', sans-serif;
    font-size: 3.2vw;
    margin: 0;
    margin-bottom: 3.2vw;
    height: 3.2vw;
}
#contacto
{
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.7)), to(rgba(0, 0, 0, 0.7))), url('/img/contact-map.png');
    background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('/img/contact-map.png');
    background-size: 125%;
    background-position: center;
}
#contacto hr
{
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    margin: 4.4vw 0; 
    display: none;
}

#contact-icons
{
    padding-top: 10vw;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.contact-item
{
    color: #fff;
    text-align: center;
    letter-spacing: 0.1vw;
    margin: 6vw 2.7vw;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}
.contact-item a:link,
.contact-item a:active,
.contact-item a:visited
{
    color: #fff;
}

.contact-image
{
    height: 11.2vw;
    -ms-flex-preferred-size: 11.2vw;
    flex-basis: 11.2vw;
    margin-bottom: 2.6vw;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.contact-item-title
{
    margin: 0;
    margin-bottom: 0.2vw;
    font-family: 'Product-Sans', sans-serif;
    font-size: 2.6vw;
}
.contact-item-subtitle
{
    margin: 0;
    font-family: 'Product-Sans', sans-serif;
    font-size: 1.8vw;
}
#contacto > form div:first-of-type
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#contacto > form div:first-of-type > *
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;        
}
#contacto > form input[type="text"],
#contacto > form input[type="email"],
#contacto > form input[type="tel"],
#contacto > form textarea
{
    outline: none;
    font-size: 4.8vw;
    margin: 3.7vw 12.4vw;
}
#contacto > form input[type="text"],
#contacto > form input[type="email"],
#contacto > form input[type="tel"]
{
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    height: 3.2vw;
    padding: 3vw 1.2vw;
    border: none;
}
#contacto > form input[type="text"]::-webkit-input-placeholder,
#contacto > form input[type="email"]::-webkit-input-placeholder,
#contacto > form input[type="tel"]::-webkit-input-placeholder,
#contacto > form textarea::-webkit-input-placeholder
{
    font-family: 'Product-Sans-Bold', sans-serif;
    color: #000;
    letter-spacing: 0.1vw;
}
#contacto > form input[type="text"]:-ms-input-placeholder,
#contacto > form input[type="email"]:-ms-input-placeholder,
#contacto > form input[type="tel"]:-ms-input-placeholder,
#contacto > form textarea:-ms-input-placeholder
{
    font-family: 'Product-Sans-Bold', sans-serif;
    color: #000;
    letter-spacing: 0.1vw;
}
#contacto > form input[type="text"]::placeholder,
#contacto > form input[type="email"]::placeholder,
#contacto > form input[type="tel"]::placeholder,
#contacto > form textarea::placeholder
{
    font-family: 'Product-Sans-Bold', sans-serif;
    color: #000;
    letter-spacing: 0.1vw;
}
#contacto > form textarea
{
    width: inherit;
    height: 85vw;
    padding: 0;
    padding: 1.3vw 0 0 1.3vw;
    border: none;
}
#contacto > form div:first-of-type > div:first-of-type
{
    margin-top: 15vw;
}
#contacto .btn
{
    height: 14.17vw;
    -ms-flex-preferred-size: 58vw;
    flex-basis: 58vw;
    font-size: 5.3vw;
    margin: 8vw 0 16vw 0;
}
#footer
{
    padding: 5vw 0;
    background-color: #fff;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
}
#footer .lang-selector
{
    display: none;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    font-size: 0.9vw;
}
#footer .lang-option
{
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}
#footer .lang-selector,
#footer .lang-option *
{
    background-color: #fff;
}
#footer .active,
#footer .dropdown-arrow
{
    color: #C10B0B;
}
article.flex-nowrap
{
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.section-title
{
	flex: 0 0 auto;
	width: 80%;
	text-align: center;
	transform: translateY(-22vw);
}

#footer > p
{
    -ms-flex-preferred-size: 100vw;
    flex-basis: 100vw;
    padding-top: 2vw;
}

#mobile-menu-button
{
    font-size: 8vw;
    z-index: 95;
}

#mobile-menu
{
    margin: 0;
    padding: 0;
    left: 0;
    height: 0;
    top: 16.26vw;
    position: absolute;
    background-color: #000;
    overflow: hidden;
    z-index: 100;
    -webkit-transition: 0.5s all ease-in-out;
    transition: 0.5s all ease-in-out;
}
#mobile-menu ul
{
    margin: 0;
    padding: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100vw;
}
#mobile-menu li
{
    margin: 0;
    padding: 5.4vw 0;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    font-size: 5.3vw;
}

/* CELL PHONE STYLE */

@media (max-width: 767px)
{
    .pad-top
    {
        padding-top: 65pt;
    }
}

/* MAIN STYLE */
@media (min-width: 768px)
{
    #mobile-menu,
    #mobile-menu-button
    {
        display: none;
    }
    
    .dropdown
    {
        height: 3.2vw;
    }
    
    .dropdown > li
    {
        height: 1.3vw;
        
    }
    
    .dropdown-arrow
    {
        display: inherit;
        font-size: inherit;
        top: 1.5vw;
        height: 0.5vw;
        width: 0.5vw;
        right: 0vw;
        z-index: 1;
    }
    
    .slider-info
    {
        -ms-flex-preferred-size: 94.1vw;
        flex-basis: 94.1vw;
        padding-left: 5.86vw;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-line-pack: center;
        align-content: center;
    }
    
    
    .slider-button-wrapper
    {
        -ms-flex-preferred-size: 2.6vw;
        flex-basis: 2.6vw;
        height: inherit;
        
    }
    
    .slider-button
    {
        height: 2.3vw;
        width: 2.3vw;
    }
    
    
    .left
    {
        -ms-flex-preferred-size: 39.3vw;
        flex-basis: 39.3vw;
        padding-left: 8.6vw;
    }
    
    .right
    {
        -ms-flex-preferred-size: 50vw;
        flex-basis: 50vw;
    }
    
    .left > *,
    .right > *
    {
        margin: 1.25vw 0;
    }
    
    .section-heading
    {
        height: 19.53vw;
        padding: 0 20vw;
    }
    
    .section-footer
    {
        height: 12.5vw;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    .controls > span
    {
        width: 2.3vw;
        height: 2.3vw;
        margin: 0 0.15vw;
    }
    
    /* CONTACT BAR */
    #contact-bar
    {
        height: 3.2vw;
        padding:0 16.7vw;
    }
    
    .lang-selector > ul
    {
        -ms-flex-preferred-size: 8vw;
        flex-basis: 8vw;
    }
    
    .lang-option *
    {
        display: inline-block !important;
    }
    
    .flag
    {
        margin-right: 0.43vw;
        width: 2vw;
    }
    
    #contact-info
    {
        -ms-flex-preferred-size: 19.7vw;
        flex-basis: 19.7vw;
        display: inherit;
    }
    
    #contact-info > *
    {
        padding: 0 1.1vw;
    }
    
    #main-menu
    {
        height: 6.6vw;
        width: 66.46vw;
        padding: 0 16.77vw;
    }
    
    #main-menu > *:not(.logo)
    {
        display: inherit;
    }
    
    #main-menu > .menu
    {
        -ms-flex-preferred-size: 41.67vw;
        flex-basis: 41.67vw;
    }
    
    #main-menu > .logo,
    #footer > .logo
    {
        margin: 0;
        width: 4.95vw;
    }
    
    #gallery
    {
        height: 53.125vw;
        width: 92.6vw;
        padding: 0 3.6vw;
    }
    
    .slider-bullets
    {
        display: inherit;
        height: 1.25vw;
        top: 56.67vw;
    }
    
    .bullet
    {
        -ms-flex-preferred-size: 1.25vw;
        flex-basis: 1.25vw;
        height: 1.25vw;
        margin: 0 0.52vw;
    }
    
    
    .btn
    {
        padding: 0.78vw 1.6vw;
        height: 0.72vw;
        font-size: 1.04vw;
        letter-spacing: 0.1vw;
    }
    
    .menu > li
    {
        font-size: 1.04vw;
        padding:0 1vw;
    }
    .dropdown-arrow
    {
        
    }
    .slider-info > h1
    {
        font-size: 3.125vw;
        line-height: 4.4vw;
        text-align: left;
    }
    .slider-info > h4
    {
        display: inherit;
        font-size: 1.15vw;
        padding: 1.05vw 0;
    }
    .left p,
    .right p
    {
        line-height: 2.75vw;
        font-size: 1.25vw;
        padding: 0;
        text-align: left;
    }
    
    .left h2,
    .right h2
    {
        font-size: 3.125vw;
    }
    .left .btn,
    .right .btn
    {
        font-size: 1.04vw;
    }
    .section-heading p
    {
        font-size: 1.25vw;
        line-height: 2vw;
        margin: 0;
    }
    .section-heading h2
    {
        font-size: 3.125vw;
        margin: 1.56vw 0;
    }
    .section-footer h2
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        font-size: 1.8vw;
        padding: 0 4vw;
        text-align: left;
    }
    .section-footer .btn
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        font-size: 1.04vw;
        margin: 0;
    }
    #contact-bar
    {
        height: 3.2vw;
        padding:0 16.7vw;
        font-size: 0.83vw;
    }
    #main-menu > .btn
    {
        font-size: 0.73vw;
    }
    
    #mision,
    #vision
    {
        height: 39.8vw;
        padding: 0;
    }
    
    #mision .image-frame
    {
        height: 27vw;
        -ms-flex-preferred-size: 32.5vw;
        flex-basis: 32.5vw;
        margin: 0;
    }
    
    #mision .image-content
    {
        top: 2vw;
        left: 2vw;
    }
    
    #vision .left
    {
        padding-right: 5vw;
    }
    
    #vision-shape
    {
        width: 53vw;
        height: 40vw;
        -webkit-transform: translate(-12vw, -3vw) perspective(100vw) rotateY(10deg);
        transform: translate(-12vw, -3vw) perspective(100vw) rotateY(10deg);
    }
    
    #vision .image
    {
        height: 39.48vw;
        width: 50vw;
    }
    
    #vision .image-content
    {
        -webkit-transform: perspective(100vw) translateY(1.5vw) rotateY(10deg);
        transform: perspective(100vw) translateY(1.5vw) rotateY(10deg);
    }
    
    
    #servicios
    {
        height: 75.8vw;
        -webkit-transform: translateY(-2vw);
        transform: translateY(-2vw);
        padding: 0;
    }
    
    #servicios h2
    {
        padding: 0;
    }
    
    #servicios .right
    {
        padding-left: 1vw;
        -ms-flex-preferred-size: 49vw;
        flex-basis: 49vw;
        -webkit-transform: translateY(-5vw);
        transform: translateY(-5vw);
    }
    
    #servicios .right p
    {
        margin: 0;
        margin-right: 10vw;
    }
    
    #servicios .image
    {
        height: 42.3vw;
        width: 33.7vw;
        top: -13vw;
        left: -3.5vw;
    }
    
    #servicios .image-content
    {
        top: -1.8vw;
        left: -1.8vw;
    }
    
    .servicio-item
    {
        margin: 0;
        font-size: 1.25vw;
        height: 14.6vw;
        -ms-flex-preferred-size: 33.33%;
        flex-basis: 33.33%;
        -webkit-transform: translateY(-16vw);
        transform: translateY(-16vw);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .servicio-item img
    {
        -ms-flex-preferred-size: 4.5vw;
        flex-basis: 4.5vw;
        height: 4.5vw;
    }
    
    .servicio-item p
    {
        margin: 0 10vw;
        line-height: normal;
    }
    
    .servicio-item h3
    {
        font-size: inherit;
    }
    
    #proyectos-gallery
    {
        height: 34.5vw;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    #proyectos-gallery > *
    {
        height: inherit;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    }
    
    #proyectos-gallery > .subgallery
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }
    
    #proyectos-gallery .subgallery > *
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        height: 50%;
        top: 0;
    }
    
    .gallery-item > .gallery-overlay
    {
        height: 100%;
        width: 100%;
    }
    
    .gallery-item h3
    {
        font-size: 1.6vw;
        letter-spacing: 0.1vw;
        padding: 0;
    }
    
    .gallery-item p
    {
        display: inherit;
        margin: 0 4vw;
        font-size: 0.8vw;
        line-height: 1.6vw;
    }
    
    #mapa-container
    {
        height: 55vw;
    }
    
    #mapa-container > h2
    {
        margin-top: 5.7vw;
        font-size: 2.6vw;
    }
    
    #mapa-container > div
    {
        height: 46.87vw;
        
        -webkit-box-pack: start;
        
        -ms-flex-pack: start;
        
        justify-content: flex-start;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    #map
    {
        height: 45vw;
        padding-left: 8vw;
        -webkit-transform: scale(1.3);
        transform: scale(1.2);
    }
    
    #map-info,
    #map-info *
    {
        -webkit-transition: 0.2s all;
        transition: 0.2s all;
    }
    
    #map-info
    {
        margin: 0;
        margin-left: 12vw;
        -ms-flex-preferred-size: 25.6vw;
        flex-basis: 25.6vw;
        max-width: 25.6vw;
        height: 34.5vw;
    }
    
    #map-info .offset
    {
        height: inherit;
        background-color: rgba(186, 2, 38, 0.87);
        -webkit-transform: translate(2.3vw, -3vw);
        transform: translate(2.3vw, -3vw);
        padding: 0 5.2vw;
    }
    
    #map-info h2
    {
        font-size: 2.3vw;
    }
    
    #map-info p
    {
        font-size: 0.9vw;
        line-height: 2vw;
    }
    
    #resenas
    {
        height: 34.1vw;
    }
    
    #resenas .carousel
    {
        height: 14.6vw;
        width: 100vw;
        margin-top: 2.5vw;
    }
    
    #resenas .custom-carousel-item > *
    {
        margin: 0 2.9vw;
    }
    
    #resenas .heading
    {
        padding: 0 10vw;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    
    #resenas .heading h2
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    
    #resenas .image-frame
    {
        -ms-flex-preferred-size: 18vw;
        flex-basis: 18vw;
        height: 25.1vw;
        top: 7.2vw;
        left: 0;
        margin: 0;
    }
    
    #resenas .image-content
    {
        top: -2vw;
        left: -3vw;
        width: 110%;
    }
    
    #resenas .info
    {
        -ms-flex-preferred-size: 48vw;
        flex-basis: 48vw;
    }
    
    #resenas .info-author
    {
        font-size: 1.3vw;
        letter-spacing: 0.18vw;
    }
    
    #resenas .info-content
    {
        font-size: 1vw;
        line-height: 2.8vw;
        margin-top: 0vw;
        text-align: left;
		height: 12vw;
		overflow: hidden;
    }

	.see-more-link
	{
		display: inherit;
	}
    
    #blog
    {
        padding-bottom: 8.21vw;
    }
    
    #blog .section-heading > h2
    {
        font-size: 2.6vw;
    }
    
    .blog-posts
    {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    
    .post
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 35.7vw;
        margin: 0 0.88vw;
    }
    
    .post .btn
    {
        -ms-flex-preferred-size: 10vw;
        flex-basis: 10vw
    }
    
    .post-image
    {

        height: 15vw;
    }
    
    .image-caption
    {       
        width: 35%;
        height: 2.7vw;
        font-size: 1vw;
    }
    
    .post-title,
    .post-author
    {
        letter-spacing: 0.1vw;
    }
    
    .post-title
    {
        font-size: 1.3vw;
        height: 1.6vw;
        margin: 1.6vw 0 0.2vw 0; 
    }
    
    .post-author
    {
        font-size: 1vw;
        margin: 0;
        margin-bottom: 1.46vw;
        height: 1.1vw;
    }
    
    #contacto
    {
        height: 51.3vw;
        background-size: 125%;
    }
    
    #contacto hr
    {
        -ms-flex-preferred-size: 80%;
        flex-basis: 80%;
        margin: 4.4vw 0;
        display: inherit;
    }
    
    .contact-item
    {
        width: 15vw;
        letter-spacing: 0.1vw;
        margin:0 2.7vw;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    
    .contact-image
    {
        height: 3.5vw;
        -ms-flex-preferred-size: 3.5vw;
        flex-basis: 3.5vw;
        margin-bottom: 2.6vw;
    }
    
    .contact-item-title
    {
        margin-bottom: 0.2vw;
        font-size: 1.3vw;
    }
    
    .contact-item-subtitle
    {
        font-size: 0.9vw;
    }
    
    #contacto > form div:first-of-type
    {
        -ms-flex-preferred-size: 70%;
        flex-basis: 70%;
    }
    
    #contacto > form div:first-of-type > *
    {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;        
    }
    
    #contacto > form input[type="text"],
    #contacto > form input[type="email"],
    #contacto > form input[type="tel"],
    #contacto > form textarea
    {
        font-size: 0.9vw;
        margin: 0;
    }
    
    #contacto > form input[type="text"],
    #contacto > form input[type="email"],
    #contacto > form input[type="tel"]
    {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        height: 3.2vw;
        padding: 0 1.2vw;
        margin-right: 1.2vw;
    }
    
    #contacto > form input[type="text"]::-webkit-input-placeholder,
    #contacto > form input[type="email"]::-webkit-input-placeholder,
    #contacto > form input[type="tel"]::-webkit-input-placeholder,
    #contacto > form textarea::-webkit-input-placeholder
    {
        letter-spacing: 0.1vw;
    }
    
    #contacto > form input[type="text"]:-ms-input-placeholder,
    #contacto > form input[type="email"]:-ms-input-placeholder,
    #contacto > form input[type="tel"]:-ms-input-placeholder,
    #contacto > form textarea:-ms-input-placeholder
    {
        letter-spacing: 0.1vw;
    }
    
    #contacto > form input[type="text"]::placeholder,
    #contacto > form input[type="email"]::placeholder,
    #contacto > form input[type="tel"]::placeholder,
    #contacto > form textarea::placeholder
    {
        letter-spacing: 0.1vw;
    }
    
    #contacto > form textarea
    {
        height: 11.4vw;
    }
    
    
    #contacto > form div:first-of-type > div:first-of-type
    {        
        margin: 0;
        height: 12.7vw;
    }
    
    #contacto > form textarea
    {
        padding: 1.3vw 0 0 1.3vw;
    }
    
    #contacto .btn
    {
        margin: 0;
        margin-top: 4.5vw;
        height: auto;
        -ms-flex-preferred-size: 12.5vw;
        flex-basis: 12.5vw;
        font-size: inherit;
    }
    
    #footer
    {
        padding: 0;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        height: 10.4vw;
    }
    
    #footer .lang-selector
    {
        display: inherit;
        font-size: 0.9vw;
    }
    
    article.flex-nowrap
    {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    #mision > .left > h2
    {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    #mision > .left > .btn
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }
    #mision > .left
    {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    
    #vision > .left
    {
        padding: 8.6vw;
    }

    #vision > .left > p
    {
        padding: 0;
    }
    
    #vision .image-content
    {
        width: 105%;
        margin: 0;
    }
    
    .left,
    .right
    {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        height: inherit;
    }
    
    #servicios .left
    {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }
    
    #list-servicios
    {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .servicio-item h3
    {
        margin: 1.2vw 0;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    
    #list-servicios .servicio-item:nth-child(2) img
    {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }

    #list-servicios .servicio-item:nth-child(2) p
    {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }
    
    .heading h2
    {
        font-size: inherit;
        text-align: left;
    }
    
    .custom-carousel-item
    {
        height: inherit;
        min-width: 100%;
        float: left;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    
    .custom-carousel-item > *
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
    
    .carousel > .overflow-wrapper
    {
        position: absolute;
        width: 100%;
        height: inherit;
        left: 0;

    }
    
    .post > *:not(.post-image)
    {
        margin-left: 0; 
    }
    
    #contact-icons
    {
        padding-top: 0;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }

    #footer > p
    {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        padding-top: 0;
    }

}

.fa {
    padding: 20px;
    font-size: 30px;
    width: 30px;
    text-align: center;
    text-decoration: none;
    margin: 5px 2px;
    border-radius: 50%;
}

.fa:hover {
    opacity: 0.7;
}

.fa-facebook {
    background: #3B5998;
    color: white;
}

.fa-twitter {
    background: #55ACEE;
    color: white;
}

.fa-google {
    background: #dd4b39;
    color: white;
}

.fa-linkedin {
    background: #007bb5;
    color: white;
}

.fa-youtube {
    background: #bb0000;
    color: white;
}

.fa-instagram {
    background: #125688;
    color: white;
}

.fa-pinterest {
    background: #cb2027;
    color: white;
}

.fa-snapchat-ghost {
    background: #fffc00;
    color: white;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}

.fa-skype {
    background: #00aff0;
    color: white;
}

.fa-android {
    background: #a4c639;
    color: white;
}

.fa-dribbble {
    background: #ea4c89;
    color: white;
}

.fa-vimeo {
    background: #45bbff;
    color: white;
}

.fa-tumblr {
    background: #2c4762;
    color: white;
}

.fa-vine {
    background: #00b489;
    color: white;
}

.fa-foursquare {
    background: #45bbff;
    color: white;
}

.fa-stumbleupon {
    background: #eb4924;
    color: white;
}

.fa-flickr {
    background: #f40083;
    color: white;
}

.fa-yahoo {
    background: #430297;
    color: white;
}

.fa-soundcloud {
    background: #ff5500;
    color: white;
}

.fa-reddit {
    background: #ff5700;
    color: white;
}

.fa-rss {
    background: #ff6600;
    color: white;
}

.social-media-section{
    padding-top: 3%;
}

.no-resize, .resize {
    width: 100px;
    height: 50px;
    border: 1px solid #000;
    color: #000;
    float: left;
    margin-left: 10px;
    font-size: 15px
}

@media (min-width: 768px) {
    .slider-info {
        padding-left: 5.86vw !important;
    }
}