body, html {
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	color: #666;
	font-weight: 400;
	width: 100% !important;
	height: 100% !important;
}
h2 {
	font-family: 'Montserrat', sans-serif;
	margin: 0 0 20px 0;
	font-weight: 700;
	font-size: 32px;
	color: #333;
}
h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #333;
}
h4 {
	font-size: 18px;
	color: #333;
}
h5 {
	text-transform: uppercase;
	font-weight: 700;
	line-height: 20px;
}
p {
	font-size: 15px;
}
p.intro {
	margin: 12px 0 0;
	line-height: 24px;
}
a {
	color: #fff;
	font-weight: 400;
}
ul, ol {
	list-style: none;
}
ul, ol {
	padding: 0;
	webkit-padding: 0;
	moz-padding: 0;
}
hr {
	height: 2px;
	width: 70px;
	text-align: center;
	position: relative;
	background: #1E7A46;
	margin-bottom: 20px;
	border: 0;
}

.border-radius
{
	border-radius: 10px;
}

.hidden
{
	display: none;
}

#contenidoQuienessomos, #destacable
{
	line-height: 2;
	text-align: justify;
}

/* Navigation */
#menu {
	padding: 20px;
	transition: all 0.8s;
}
#menu.navbar-default {
	background-color: #06094b;
	border-color: rgba(231, 231, 231, 0);
	box-shadow: 0 0 30px rgba(0,0,0,0.2)
}
#menu a.navbar-brand {
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #06094b;
	text-transform: uppercase;
	letter-spacing: -1px;
}
#menu.navbar-default .navbar-nav > li > a {
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 2px;
	border-radius: 0;
	margin: 9px 20px 0 20px;
}
#menu.navbar-default .navbar-nav > li > a:hover {
	color: #ce2a36;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
	color: #ce2a36 !important;
	background-color: transparent;
}
#menu .phone {
	font-family: 'Montserrat', sans-serif;
	margin: 4px 0 0 120px;
	float: left;
	font-size: 16px;
	font-weight: 400;
	color: #999;
}
#menu .phone span {
	font-size: 14px;
	display: block;
	color: #333333;
}
.navbar-toggle {
	border-radius: 0;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
	background-color: #fff;
	border-color: #fff;
}
.navbar-default .navbar-toggle:hover>.icon-bar {
	background-color: #1b6d3f;
}
.section-title {
	margin-bottom: 70px;
}
.section-title h2 {
	position: relative;
	margin-top: 10px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.09);
}
.section-title h2::after {
	position: absolute;
	content: "";
	background-color: #e52f3c;
	height: 3px;
	width: 50px;
	bottom: -1px;
	left: 0;
}

.icon-redes
{
	font-size: 25px;
	margin-right: 20px;
}

.btn-custom {
	text-transform: uppercase;
	color: #fff;
	background-color: #9f0000;
	padding: 14px 20px;
	letter-spacing: 1px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	border-radius: 4px;
	transition: all 0.3s;
}
.btn-custom:hover, .btn-custom:focus, .btn-custom.focus, .btn-custom:active, .btn-custom.active {
	color: #fff;
	background-color: #333333;
}
.btn:active, .btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}
a:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
	outline: none;
	outline-offset: none;
}
/* Header Section */
.intro {
	display: table;
	width: 100%;
	padding: 0;
	background: url(../img/intro-bg.jpg) center center no-repeat;
	background-color: #e5e5e5;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	-o-background-size: cover;
}
.intro .overlay {
	background: rgba(0,0,0,0.3);
}
.intro h1 {
	font-family: 'Montserrat', sans-serif;
	color: #fff;
	font-size: 62px;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 10px;
	text-shadow: 0 0 15px rgba(0,0,0,0.5)
}

.servicio
{
	padding: 20px;
	display: flex;
	align-items: center;
	text-align: left;
	height: 90px;
	margin-top: 20px;
}

.foto-personal
{
	border-radius: 50%;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,1);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,1);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,1);
	width: 100%;
}

.icon {
	font-size: 3em;
	color: #9f0000;
	margin-right: 15px;
}

.intro select, .intro input
{
	padding: 5px;
	margin-left: 10px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	width: 22rem;
	margin-bottom: 20px;
}

#imgLogo
{
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	height: 70px;
}

.resultado
{
	border: 1px solid #ccc;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin-bottom: 10px;
	cursor: pointer;
	min-height: 485px !important;
}

.titulos
{
	border-bottom: 1px solid #ccc;
}

#ficha ul {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.bordes
{
	border: 1px solid #ccc;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin-bottom: 20px;
	padding: 30px;
	margin-top: 20px;
}

.buscar
{
	margin-left: 20px;
}

.intro p {
	font-size: 17px;
	line-height: 28px;
	padding: 15px;
	margin: 0 auto;
	margin-bottom: 40px;
	background: rgba(0,0,0,.45);
}
header .intro-text {
	padding-top: 350px;
	padding-bottom: 150px;
	text-align: center;
}
/* Get Touch Section */
#get-touch {
	padding: 40px 0 30px;
	color: rgba(255,255,255,.7);
	background: #333333;
}
#get-touch h3 {
	font-size: 24px;
	font-weight: 400;
	color: #fff;
	margin: 0 0 10px 0;
}
#get-touch .btn-custom {
	margin: 0;
	background: transparent;
	border: 2px solid #fff;
}
#get-touch .btn-custom:hover {
	color: #333333;
	background: #fff;
	border: 2px solid #fff;
}
/* About Section */
#about {
	padding: 110px 0;
	background: #f6f6f6;
}
#about h3 {
	font-size: 22px;
	margin: 0 0 20px 0;
}
#about h2 {
	position: relative;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.09);
}
#about h2::after {
	position: absolute;
	content: "";
	background-color: #e52f3c;
	height: 3px;
	width: 50px;
	bottom: -1px;
	left: 0;
}
#about .about-text li {
	margin-bottom: 6px;
	margin-left: 6px;
	list-style: none;
	padding: 0;
}
#about .about-text li:before {
	content: '\f00c';
	font-family: 'FontAwesome';
	color: #333333;
	font-size: 11px;
	font-weight: 300;
	padding-right: 8px;
}
#about img {
	padding: 20px;
	width: 500px;
	margin-top: 10px;
	background: #fff;
	border-right: 0;
	box-shadow: 0 0 50px rgba(0,0,0,0.06);
}
#about p {
	line-height: 24px;
	margin: 30px 0;
}
/* Services Section */
#services {
	padding: 100px 0;
}
#services .service-media {
	margin: 10px;
}
#services .service-media img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#services .service-desc {
	margin: 10px 10px 20px;
}
#services h3 {
	font-weight: 700;
	padding: 5px 0;
}
#services .service-desc hr {
	margin-left: 0;
}
/* Portfolio Section */
#quienessomos {
	padding: 100px 0;
	background-color: rgba(209, 183, 143, 0.4);
}

.hover-bg .hover-text {
	position: absolute;
	text-align: center;
	margin: 0 auto;
	color: #fff;
	background: rgba(31, 56, 110, 0.8);
	padding: 30% 0 0 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	transition: all 0.5s;
}
.hover-bg .hover-text>h4 {
	opacity: 0;
	color: #fff;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	transition: all 0.3s;
	font-size: 17px;
	letter-spacing: 1px;
	font-weight: 400;
	text-transform: uppercase;
}
.hover-bg:hover .hover-text>h4 {
	opacity: 1;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.hover-bg:hover .hover-text {
	opacity: 1;
}


/* Testimonials Section */
#testimonials {
	padding: 100px 0;
}
#testimonials i {
	color: #e6e6e6;
	font-size: 32px;
	margin-bottom: 20px;
}
.testimonial {
	position: relative;
	padding: 20px;
}
.testimonial-image {
	float: left;
	margin-right: 15px;
}
.testimonial-image, .testimonial-image img {
	display: block;
	width: 64px;
	height: 64px;
}
.testimonial-content {
	position: relative;
	overflow: hidden;
}
.testimonial-content p {
	margin-bottom: 0;
	font-size: 14px;
	font-style: italic;
}
.testimonial-meta {
	margin-top: 10px;
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
}
/* Contact Section */
#contact {
	padding: 100px 0 60px 0;
	background: #06094b;
	color: rgba(255,255,255,.65);
}

#contacto {
	padding: 20px 0 20px 0;
	background: #333333;
	color: rgba(255,255,255,.65);
	margin-top: 50px;
}

#contact .section-title {
	margin-bottom: 40px;
}
#contact h2 {
	color: #fff;
	margin-top: 10px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
#contact h4, #contacto h4 {
	color: #fff;
	margin-top: 22px;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
#contact form {
	padding-top: 20px;
}
#contact h3 {
	font-size: 17px;
	font-weight: 600;
}
#contact .text-danger {
	color: #cc0033;
	text-align: left;
}
#contact .btn-custom {
	margin: 30px 0;
	background: transparent;
	border: 2px solid #fff;
}
#contact .btn-custom:hover {
	color: #333333;
	background: #fff;
}
label {
	font-size: 12px;
	font-weight: 400;
	font-family: 'Open Sans', sans-serif;
	float: left;
}
#contact .form-control {
	display: block;
	width: 100%;
	padding: 6px 12px;
	font-size: 16px;
	line-height: 1.42857143;
	color: #444;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ddd;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}
#contact .form-control:focus {
	border-color: #999;
	outline: 0;
	-webkit-box-shadow: transparent;
	box-shadow: transparent;
}
.form-control::-webkit-input-placeholder {
color: #777;
}
.form-control:-moz-placeholder {
color: #777;
}
.form-control::-moz-placeholder {
color: #777;
}
.form-control:-ms-input-placeholder {
color: #777;
}
#contact .contact-item {
	margin: 20px 0;
}
#contact .contact-item span {
	color: rgba(255,255,255,1);
	display: block;
}
#contact .social {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: 50px;
	margin-top: 50px;
	text-align: center;
}
#contact .social ul li {
	display: inline-block;
	margin: 0 20px;
}
#contact .social i.fa {
	font-size: 24px;
	padding: 10px;
	color: rgba(255,255,255,0.6);
	transition: all 0.3s;
}
#contact .social i.fa:hover {
	color: #fff;
}
/* Footer Section*/
#footer {
	background: #f6f6f6;
	padding: 30px 0;
}
#footer p {
	color: #888;
	font-size: 14px;
}
#footer a {
	color: #333333;
}
#footer a:hover {
	color: #e52f3c;
}

@media (max-width: 768px) {
#about img {
	margin: 50px 0;
}

#galeria
{
	min-height: auto !important;
}

}

/* Homepage refresh */
:root {
	--ink: #172b35;
	--muted: #667277;
	--paper: #f5f1ea;
	--white: #fffdf9;
	--coral: #d95d47;
	--sage: #aab8a3;
	--line: #d9d5cc;
}

body#page-top {
	background: var(--paper);
	color: var(--muted);
}

#menu.navbar-default {
	padding: 14px 0;
	background: rgba(255, 253, 249, .96);
	border: 0;
	box-shadow: 0 1px 0 rgba(23, 43, 53, .12);
}
#menu .container { display: flex; align-items: center; justify-content: space-between; }
#menu .navbar-header { display: flex; align-items: center; }
#menu .brand-mark { display: flex; align-items: center; color: var(--ink); text-decoration: none; }
#menu #imgLogo { width: auto; height: 80px; max-width: 180px; object-fit: contain; }
#menu.navbar-default .navbar-nav > li > a { margin: 8px 0 0 30px; padding: 9px 0; color: var(--ink); font-size: 11px; letter-spacing: .12em; }
#menu.navbar-default .navbar-nav > li > a:hover { color: var(--coral); }
#menu .nav-contact { border-bottom: 2px solid var(--coral); }
#menu .nav-contact i { margin-left: 6px; }

.home-hero .intro { background-position: center; }
.home-hero .overlay { min-height: 720px; background: rgba(18, 39, 45, .52); }
.home-hero .container { position: relative; min-height: 720px; }
.hero-copy { width: 56%; padding-top: 175px; color: var(--white); }
.eyebrow { display: block; margin-bottom: 18px; color: var(--sage); font: 700 11px/1.2 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow.dark { color: var(--coral); }
.hero-copy h1 { max-width: 680px; margin: 0 0 22px; font: 700 59px/1.04 'Montserrat', sans-serif; letter-spacing: 0; }
.hero-copy p { max-width: 470px; margin-bottom: 28px; color: rgba(255, 253, 249, .82); font-size: 17px; line-height: 1.7; }
.hero-link, .text-link { color: inherit; font: 700 11px/1.2 'Montserrat', sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.hero-link:hover, .text-link:hover { color: var(--coral); text-decoration: none; }
.hero-link i, .text-link i { margin-left: 10px; }
.search-panel { position: absolute; right: 15px; bottom: 52px; width: 390px; padding: 30px; background: var(--white); color: var(--ink); box-shadow: 0 18px 45px rgba(7, 24, 29, .25); }
.search-heading { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 23px; }
.search-heading small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.search-heading h2 { margin: 0; font-size: 22px; }
.search-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.search-fields select { width: 100%; height: 43px; margin: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--muted); font-size: 12px; }
.search-fields .buscar { grid-column: 1 / -1; width: 100%; margin: 6px 0 0; padding: 14px 12px; border-radius: 0; background: var(--coral); font-size: 11px; letter-spacing: .08em; }
.search-fields .buscar:hover { background: var(--ink); }
.search-fields .buscar i { margin-left: 12px; }

.featured-section, .services-section { padding: 105px 0 115px; }
.section-intro { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 52px; }
.section-intro h2, .about-copy h2, .contact-lead h2 { margin: 0; color: var(--ink); font: 700 42px/1.1 'Montserrat', sans-serif; }
.section-intro h2 em, .about-copy h2 em, .contact-lead h2 em { color: var(--coral); font-style: normal; }
.section-intro .text-link { color: var(--ink); }
#contenidoDestacadas { width: 100%; display: flex; flex-wrap: wrap; }
#contenidoDestacadas > .col-md-4 { padding: 0 10px; }
.resultado { min-height: 0 !important; margin-bottom: 20px; border: 0; border-radius: 0; background: var(--white); box-shadow: 0 8px 24px rgba(23, 43, 53, .08); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.resultado:hover { transform: translateY(-6px); box-shadow: 0 16px 28px rgba(23, 43, 53, .14); }
.resultado .service-media { margin: 0; overflow: hidden; }
.resultado .service-media img { width: 100%; height: 220px; object-fit: cover; }
.resultado .service-desc { min-height: 145px; margin: 0; padding: 21px 24px 22px; }
.resultado h3 { margin: 0 0 7px; color: var(--ink); font-size: 18px; }
.resultado h4 { margin: 0 0 13px; color: var(--coral); font-size: 13px; }
.resultado p { margin: 0; line-height: 1.5; }

.about-section { padding: 120px 0; background: var(--sage); }
.about-layout { display: flex; align-items: center; }
.about-visual { position: relative; padding-right: 65px; }
.about-visual .foto-personal { width: 100%; height: 380px; object-fit: cover; border: 14px solid var(--white); border-radius: 0; box-shadow: 17px 17px 0 rgba(217, 93, 71, .8); }
.about-caption { position: absolute; right: 20px; bottom: -22px; padding: 12px 16px; background: var(--ink); color: var(--white); font: 700 11px/1.35 'Montserrat', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.about-copy { padding-left: 55px; }
.about-copy h2 { margin-bottom: 25px; }
.about-copy p { max-width: 540px; margin-bottom: 17px; font-size: 15px; line-height: 1.8; color: var(--ink); }
.about-copy .text-link { display: inline-block; margin-top: 15px; color: var(--ink); }

.services-section { background: var(--white); }
.section-note { max-width: 280px; margin: 0 8% 4px 0; line-height: 1.7; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-item { position: relative; min-height: 190px; padding: 27px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-item i { margin-bottom: 21px; color: var(--coral); font-size: 25px; }
.service-item h4 { margin: 0 35px 9px 0; color: var(--ink); font: 700 16px/1.3 'Montserrat', sans-serif; }
.service-item p { margin: 0; font-size: 13px; line-height: 1.55; }

.contact-section { padding: 110px 0 100px; background: var(--ink); color: rgba(255, 253, 249, .7); }
.contact-lead h2 { margin-bottom: 25px; color: var(--white); }
.contact-lead p { max-width: 360px; line-height: 1.7; }
.contact-data { margin-top: 38px; }
.contact-data p { display: flex; align-items: center; margin: 16px 0; font-size: 13px; }
.contact-data i { width: 24px; color: var(--coral); }
.contact-data span { color: var(--white); }
.contact-form-wrap { padding-top: 19px; }
#contact .form-control { height: 47px; margin-bottom: 20px; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255, 253, 249, .3); background: transparent; color: var(--white); font-size: 14px; }
#contact textarea.form-control { height: auto; }
#contact .form-control:focus { border-bottom-color: var(--coral); }
#contact .form-control::placeholder { color: rgba(255, 253, 249, .55); }
#contact .btn-custom { margin-top: 20px; border: 0; border-radius: 0; background: var(--coral); }
#contact .btn-custom:hover { background: var(--white); color: var(--ink); }
#footer { padding: 23px 0; background: #102129; }
#footer p { margin: 0; color: rgba(255, 253, 249, .55); }
#footer a { margin-left: 8px; color: var(--white); }

@media (max-width: 768px) {
	#menu .container { display: block; }
	#menu .navbar-header { justify-content: space-between; }
	#menu .navbar-collapse { border: 0; box-shadow: none; }
	#menu.navbar-default .navbar-nav > li > a { margin: 4px 0; }
	.hero-copy { width: 100%; padding-top: 135px; }
	.hero-copy h1 { font-size: 42px; }
	.home-hero .overlay, .home-hero .container { min-height: 810px; }
	#menu #imgLogo { height: 62px; }
	.search-panel { right: 15px; bottom: 44px; width: calc(100% - 30px); padding: 22px; }
	.section-intro { display: block; }
	.section-intro .text-link { display: inline-block; margin-top: 23px; }
	.section-intro h2, .about-copy h2, .contact-lead h2 { font-size: 32px; }
	#contenidoDestacadas { display: block; }
	#contenidoDestacadas > .col-md-4 { padding: 0; }
	.about-layout { display: block; }
	.about-visual { padding-right: 25px; margin-bottom: 65px; }
	.about-copy { padding-left: 15px; }
	.service-grid { grid-template-columns: 1fr; }
	.section-note { margin: 22px 0 0; }
	.contact-form-wrap { margin-top: 40px; padding-top: 0; }
}
