@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700,900&display=swap');
body{
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #2D2D2D;
}
.box-shadow{
	-webkit-box-shadow: -1px -1px 34px -10px rgba(0,0,0,0.3);
	-moz-box-shadow: -1px -1px 34px -10px rgba(0,0,0,0.3);
	box-shadow: -1px -1px 34px -10px rgba(0,0,0,0.3)
}
.border{
	display: inline-block;
	border: 0 !important;
	width: 100%;
	height: 4px;
	background-color: #FDC221;
	max-width: 250px;
}
.section h2{
	font-size: 28px;
}
.section h3{
	font-size: 20px;
}
.body.row{
	margin-top: -15px;
	margin-bottom: -15px;
}
.body.row > article, .body.row > div{
	padding-top: 15px;
	padding-bottom: 15px;
}
img{
	max-width: 100%;
}
.container{
	max-width: 1200px;
	width: 95%;
}
header .container{
	max-width: 100%;
}
header.navbar-light {
	box-shadow: 0 2px 2px rgba(0,0,0,.15);
	-moz-box-shadow: 0 2px 2px rgba(0,0,0,.15);
	-webkit-box-shadow: 0 2px 2px rgba(0,0,0,.15);
	-ms-box-shadow: 0 2px 2px rgba(0,0,0,.15);
	-o-box-shadow: 0 2px 2px rgba(0,0,0,.15);
}
.section .head{
	margin-bottom: 40px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.btn{
	padding: 10px 25px;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 15px;
	border-radius: 0;
}
.padding{
	padding-top: 80px;
	padding-bottom: 80px;
}
.padding-top{
	padding-top: 80px;
}
.padding-bottom{
	padding-bottom: 80px;
}
.btn-warning{
	color: #fff !important;
}
.text-blue{
	color: #295491 !important;
}
.text-bluelight{
	color: #0083F8 !important;
}
.navbar-light .navbar-nav .nav-link{
	font-weight: 900;
	color: #2D2D2D;
	font-size: 15px;
}
.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link{
	color: #0083F8;
}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
	color: #0083F8;
}
.carousel-caption{
	left: 0;
	right: 0;
	top: 0;
	text-align: left;
}
#portada h1{
	font-weight: 900;
	font-size: 48px;
}
#portada p{
	font-size: 18px;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
	width: 50px;
	height: 50px;
	background-color: #D1CECC;
	background-image: none;
	position: absolute;
	line-height: 50px;
	font-size: 24px;
	color: #000;
	opacity: 1;
}
.carousel-control-next-icon{
	right: 0;
}
.carousel-control-next-icon:after{
	content: '>';
}
.carousel-control-prev-icon{
	left: 0;
}
.carousel-control-prev-icon:after{
	content: '<';
}
#nosotros .container{
	max-width: 1200px;
}
#nosotros .texto{
	padding: 60px 35px;
}
#nosotros .texto h2{
	font-weight: 900;
	font-size: 28px;
}
#servicios article .texto{
	padding: 15px;
}
#servicios article h3{
	font-weight: 900;
}
#servicios article h3 a{
	color: #2D2D2D;
}
#servicios article h3 a:hover{
	color: #FDC221;
	text-decoration: none;
}
#servicios img{
	width: 100%;
}
#metodologia article > div{
	padding: 35px;
}
#metodologia h3{
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 900;
}
#metodologia .imagen{
	padding: 20px 0;
}
#metodologia .head h2{
	border-right: 4px solid #FDC221;
	padding-right: 30px;
}
footer{
	background-color: #252525;
	color: #fff;
}
footer h4{
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 900;
}
#footer-top{
	background-color: #2D2D2D;
	padding: 40px 0;
}
#footer-bottom{
	padding: 20px 0;
}
footer a{
	color: #fff;
	text-decoration: none;
}
footer a:hover{
	color: #FDC221;
	text-decoration: none;
}
footer .head{
	margin-bottom: 20px;
}
footer ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
footer ul li{
	margin-bottom: 10px;
}
footer .head{
	margin-bottom: 30px;
}
footer .social li{
	display: inline-block;
}
footer .social li a{
	display: block;
	height: 50px;
	width: 50px;
	font-size: 18px;
	line-height: 50px;
	border-radius: 50%;
	border: 1px solid #fff;
	text-align: center;
	margin: 5px;
}
footer .social li a:hover{
	background-color: #fff;
	color: #2D2D2D;
}
footer .bloque{
	margin-bottom: 20px;
}
#slidebar{
	background-image: url(../images/slidebar.jpg);
	background-color: #eee;
	padding: 50px 0;
}
#slidebar h4{
	font-weight: 900;
	font-size: 36px;
	color: #fff;
}
#services .bloque ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
#services .bloque ul li.active{

}
#services .bloque ul li a{
	padding: 5px 0 5px 15px;
	display: block;
	color: #2D2D2D;
	text-decoration: none;
}
#services .bloque ul li.active a{
	border-left: 4px solid #FDC221;
	color: #FDC221;
	font-weight: bold;
}
#services .bloque{
	margin-bottom: 20px;
	padding: 15px;
}
.bg-blue{
	background-color: #00448A;
	color: #fff;
}
#services .bloque.bg-blue{
	padding: 45px 25px;
}
#services .bloque.bg-blue li{
	margin-bottom: 10px;
}

#gallery .body .container {
	max-width: 100%;
	width: 100%
}

#gallery .body {
	margin-top: -15px;
	margin-bottom: -15px
}

#gallery .body a {
	display: block
}

#gallery article {
	position: relative;
	overflow: hidden
}

#gallery img {
	position: relative;
	z-index: 1;
	transition: all 0.2s linear;
	width: 100%
}

#gallery article:hover img {
	-webkit-transform: scale(1.3, 1.3);
	-moz-transform: scale(1.3, 1.3);
	-o-transform: scale(1.3, 1.3);
	-ms-transform: scale(1.3, 1.3);
	transform: scale(1.3, 1.3)
}

#gallery article .icons {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	color: #fff;
	font-size: 28px
}

#gallery article .shadow {
	background: rgba(0, 0, 0, 0.14);
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.14) 53%, rgba(0, 0, 0, 0.67) 82%, rgba(0, 0, 0, 1) 100%);
	background: -webkit-gradient(left top, left bottom, color-stop(53%, rgba(0, 0, 0, 0.14)), color-stop(82%, rgba(0, 0, 0, 0.67)), color-stop(100%, rgba(0, 0, 0, 1)));
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.14) 53%, rgba(0, 0, 0, 0.67) 82%, rgba(0, 0, 0, 1) 100%);
	background: -o-linear-gradient(top, rgba(0, 0, 0, 0.14) 53%, rgba(0, 0, 0, 0.67) 82%, rgba(0, 0, 0, 1) 100%);
	background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.14) 53%, rgba(0, 0, 0, 0.67) 82%, rgba(0, 0, 0, 1) 100%);
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.14) 53%, rgba(0, 0, 0, 0.67) 82%, rgba(0, 0, 0, 1) 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000', GradientType=0);
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	top: 0;
	left: 0;
	opacity: 0.5
}

#modalGallery .lista {
	margin-top: 15px;
	margin-bottom: -15px
}

#modalGallery .lista .bloque {
	cursor: pointer
}

#modalGallery .lista>div {
	padding-top: 15px;
	padding-bottom: 15px
}

#modalGallery .big img {
	max-height: 800px;
	margin: 0 auto;
	display: block
}

#gallery .btn {
	font-size: 18px;
	padding: 15px 25px
}

#gallery .text {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	padding: 15px;
	color: #fff;
	text-decoration: none !important;
	top: 0;
	left: 0
}

#gallery .text h3 {
	text-decoration: none;
	font-size: 18px
}

#gallery .head .container {
	max-width: 1400px;
	width: 95%
}

#gallery .input-group-text {
	background-color: #fff;
	border-color: #000
}
.card-columns .card {
    display: inline-flex
}


#map {
    position: relative;
    overflow: hidden;
    min-height: 500px
}

#map_canvas {
    width: 100%;
    min-height: inherit
}
@media (min-width: 576px) {
    .card-columns {
        column-count: 1
    }
}

@media (min-width: 768px) {
    .card-columns {
        column-count: 2
    }
}

@media (min-width: 992px) {
    .card-columns {
        column-count: 3
    }
}

@media (min-width: 1200px) {
    .card-columns {
        column-count: 4
    }
}

@media (min-width: 992px){
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 15px;
		padding-left: 15px;
	}
}
@media (max-width: 991px){
	#metodologia .head h2{
		padding: 0;
		border: 0;
	}
	.padding{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.padding-top{
		padding-top: 60px;
	}
	.padding-bottom{
		padding-bottom: 60px;
	}
	#metodologia article > div{
		padding: 15px;
	}
	#metodologia h3 {
		font-size: 15px;
	}
	.section h2 {
		font-size: 24px;
	}
	.section h3 {
		font-size: 18px;
	}
	body{
		font-size: 14px;
	}
	header .nav-item{
		border: 1px solid #eee;
		padding: 10px 0;
	}
	header .nav-item.active{
		background-color: #0083F8;
		color: #fff;
	}
	.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link {
		color: #fff;
	}
}