@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;500;600;700;900&display=swap');

html, body {
    margin: 0;
    padding: 0 !important;
    width: 100%;
    font-family: 'Roboto', sans-serif;
    background: #FFFFFF;
    color: #3C3C3C;
    font-size: 14px;
    width: 100%;
}

@media (max-width: 991px) {
	html, body {
		overflow: visible;
		height: auto;
	}
}

.monserrat {
	font-family: 'Montserrat', sans-serif;
}

.blanco {
	color: #ffffff !important;
}

.fondo_blanco {
	background-color: #ffffff !important;
}

.borde_blanco {
	border-color: #ffffff !important;
}

.negro {
	color: #000000 !important;
}

.fondo_negro {
	background-color: #000000 !important;
}

.borde_negro {
	border-color: #000000 !important;
}

.sombra {
	-webkit-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.2);
  box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.2);
}

.sombra2 {
	-webkit-box-shadow: 0px 2px 10px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 2px 10px rgba(0,0,0,0.2);
  box-shadow: 0px 2px 10px rgba(0,0,0,0.2);
}

ul {
  list-style: disc;
}

ol{
  list-style: decimal;
}

ul, ol {
	padding-left: 20px;
}

.bx-wrapper ul,
.bx-wrapper ol {
	padding-left: 0;
}

li {
	list-style-position: outside;
}

.btn-transparente {
	background: transparent !important;
	border-radius: 25px;
	border: 1px solid white;
}

/* Barra y Menu Superior */
	header {
		height: 115px;
		z-index: 1000;
	}

	.navbar-nav li a .wrapt .wrapc:after {
		content: " ";
		display: block;
		position: absolute;
		top: 100%;
		height: 2px;
		background: white;
		width: 16px;
		margin-left: -8px;
		left: 0.00000001px;
		opacity: 0.0000000001;
		-webkit-transition: all 0.34s ease-in-out;
	  -moz-transition: all 0.34s ease-in-out;
	  -o-transition: all 0.34s ease-in-out;
	  -ms-transition: all 0.34s ease-in-out;
	  transition: all 0.34s ease-in-out;
	}

	.navbar-nav li:hover a .wrapt .wrapc {
		color: #3AB54A;
		font-weight: bold;
	}

	.navbar-nav li:hover a .wrapt .wrapc:after {
		left: 50%;
		opacity: 1;
	}

	.navbar-nav li:last-child {
		background: #3AB54A;
		border-radius: 0 5px 5px 0;
	}

	.navbar-nav li:hover:last-child a .wrapt .wrapc {
		color: #FFFFFF;
		font-weight: bold;
	}

	.navbar-nav li:last-child a .wrapt .wrapc:after {
		background: #F4DA35;
	}

 	.navbar-nav li.full-height a.full-height:hover,
 	.navbar-nav li.full-height a.full-height:focus  {
 		background: transparent !important;
 	}

 	ul.dropdown-menu {
 		background: #3AB54A !important;
  	margin-top: 10px !important;
  	width: 140px;
  	min-width: 140px;
    left: 50%;
    margin-left: -70px;
    border-radius: 10px !important;
 	}

 	ul.dropdown-menu:before {
 		content: " ";
 		display: block;
 		position: absolute;
 		width: 0;
  	height: 0;
  	border-left: 10px solid transparent;
  	border-right: 10px solid transparent;
  	border-bottom: 10px solid #3AB54A;
  	bottom: 100%;
    left: 50%;
    margin-left: -10px;
 	}

 	ul.dropdown-menu:after {
 		content: " ";
 		display: block;
 		position: absolute;
 		width: 100%;
  	height: 15px;
  	bottom: 100%;
    left: 0;
 	}

 	ul.dropdown-menu > li:after {
 		content: " ";
		display: block;
		position: absolute;
		top: 100%;
		height: 1px;
		background: rgba(255, 255, 255, 0.2);
		width: 70%;
		left: 15%;
		z-index: 1;
 	}

 	ul.dropdown-menu > li:first-child {
 		border-radius: 10px 10px 0 0 !important;
 	}

 	ul.dropdown-menu > li:last-child {
 		border-radius: 0 0 10px 10px !important;
 		background: none;
 	}

 	ul.dropdown-menu > li > a {
 		white-space: inherit;
 	}

 	ul.dropdown-menu > li:hover {
 		background: #F4DA35;
 	}

 	ul.dropdown-menu > li:hover > a {
 		color: black !important;
 		font-weight: bold;
 	}

 	ul.dropdown-menu > li:hover > a {
 		background: transparent !important;
 	}

	@media (min-width: 991px) {
		.dropdown:hover .dropdown-menu {
	    display: block;
	    margin-top: 0;
	 	}

		.navbar-brand img {
	    position: inherit;
	    z-index: 0;
		}
 	}

	@media (max-width: 991px) {
		header {
			position: fixed;
	    top: 0;
	    left: 0;
	    right: 0;
	    background: #3A5C5B;
		}

		main {
			margin-top: 70px;
		}

		header.flyout {
			background: #000000;
		}

		.navbar {
		    height: auto;
		}

		.navbar-header {
			width: 100%;
		}

		.navbar-nav {
		    width: 100% !important;
		}

		.navbar-collapse {
			margin: 0;
		}
		.nav-icon{
			background-color: black !important;
		}
		.display-logo{
			padding-left: 20px !important;
			display: inline !important;
		}
	}
/* Fin Barra y Menu Superior */

/* Cabezotes */
	.cabezote_interna {
		background-size: cover;
		background-repeat: none;
		background-position: center top;
	}

	.bx_headers .bx_headers_slider {
		width: 100%;
		height: 100%;
		margin: 0;
	}

	.bx_headers .bx-wrapper {
		margin: 0;
		width: 100%;
		height: 100%;
		position: relative;
	}

	.bx_headers .bx-wrapper .bx-viewport{
		margin: 0;
		width: 100%;
		height: 100%;
	}

	.bx_headers .bx_headers_slider li {
		height: 100%;
		width: 100%;
		text-align: center;
		background-size: cover;
		background-position: center;
	}

	.bx_headers .bx-wrapper img {
		margin: 0 auto;
	}

	.bx_headers .bx-wrapper .bx-controls{
		position: absolute;
    width: 100%;
    top: 50%;
    left: 20px;
    margin-top: -16px;
    z-index: 9999;
    width: 12px;
	}

	.bx_headers .bx-wrapper .bx-pager,
	.bx_headers .bx-wrapper .bx-controls-auto {
		position: relative;
		padding-top: 0;
		bottom: 0;
	}

	.bx_headers .bx-controls .bx-has-pager {
	    width: 12px;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager {
		text-align: center;
		width: 12px;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager:before {
		content: " ";
		display: block;
		width: 1px;
		height: 60px;
		background: white;
		position: absolute;
		bottom: 100%;
		margin-bottom: 10px;
		left: 6px;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager:after {
		content: " ";
		display: block;
		width: 1px;
		height: 60px;
		background: white;
		position: absolute;
		top: 100%;
		margin-top: 10px;
		left: 6px;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {
		margin-top: 10px;
		display: block;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:first-child {
		margin-top: 0;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager a {
		background: #FFFFFF;
		opacity: 1;
    width: 12px;
  	height: 12px;
  	margin: 0;
	}

	.bx_headers .bx-wrapper .bx-pager.bx-default-pager a:hover,
	.bx_headers .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #3AB54A;
	}

	.linea_header:after {
		content: " ";
		display: block;
		position: absolute;
		top: 100%;
		margin-top: 10px;
		width: 100px;
		height: 6px;
		background: #F4DA35;
	}

	@media (max-width: 991px) {
		.header-text {
			padding: 0 !important;
			line-height: 1 !important;
		}

		.header-text .f-40 {
			font-size: 20px !important
		}

		.header-text {
			font-size: 12px !important;
			padding: 0 !important;
		}

		.link_cabezote {
			padding: 10px !important;
		}

		.rectangle_slider .border_blanco_header {
			background-size: 25px;
		}

		.logo_voodoo {
			left: 50%;
			margin-left: -73px;
		}

		.galeria_detalle .bx-pager {
			bottom: 0;
		}

		.galeria_detalle .bx-pager img {
			width: 40px;
		}
	}
/* Fin Cabezotes */

/* Slides Plan */
	.slider_planes {
		background: url('../images/planes.png') left top repeat-x;
		border-top: 10px solid white;
	}

	.plan_slide {
		object-fit: cover;
  	object-position: center;
	}

	.plan_slide .square-inner {
		padding: 5px;
	}

	.plan_slide {
		padding-bottom: 100px !important;
	}

	.plan_slide:hover .square-inner {
		padding: 0;
	}

	.plan_slide .btn_hover {
		height: 0.0000001px;
		overflow: hidden;
		margin-top: 0.000001px;
	}

	.plan_slide:hover .btn_hover {
		height: 32px;
		margin-top: 10px;
	}

	.slider_planes .bx-wrapper .bx-controls-direction a {
		top:  10px;
	}

	.slider_planes .bx-wrapper .bx-prev {
		right: 40px;
    left: inherit;
	}

	.slider_planes .bx-wrapper .bx-next {
		right: 0;
	}

	.btn-success {
		background: #3AB54A;
		border: none;
	}
/* Fin Slides Plan */

/* Mapa Municipios */
	.ol-popup {
    padding: 0 !important;
    min-width: 300px;
    border-radius: 10px !important;
  }
  @media (max-width: 991px){
  	.d-content{
  		display: contents !important; 
  		padding-bottom: 10px;
  	}
  	.sm-f-12{
  		font-size: 12px !important;
  	}
  }

  .ol-popup:after {
    left: 50% !important;
    margin-left: -10px !important;
  }

  .ol-popup-content {
    border-radius: 10px;
    
    max-height: 250px;
    overflow: hidden !important;
  }

  .ol-popup-content img {
    width: 298px;
    height: 151px;
    object-fit: cover;
    object-position: center;
  }


  .ol-popup-content .btn-success {
    border-radius: 25px;
  }

  .ol-popup-closer:after {
    color: #FFFFFF !important;
    text-decoration: none !important;
    text-shadow: -3px 3px 2px rgba(0, 0, 0, 0.8);
  }

  .filtros_mapas {
  	position: absolute;
  	top: 0;
  	left: 10%;
  	z-index: 1000;
  	background: #FFFFFF url('../images/filtros_mapas.png') center top repeat-x;
  	border-radius: 0 0 10px 10px;
  	margin-top: -15px;
  }

  .filtros_mapas:before {
  	content: " ";
  	display: block;
  	position: absolute;
  	top: 0;
  	right: 100%;
  	width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 15px 15px;
		border-color: transparent transparent #384e12 transparent;
  }

  .filtros_mapas:after {
  	content: " ";
  	display: block;
  	position: absolute;
  	top: 0;
  	left: 100%;
  	width: 0;
		height: 0;
		border-style: solid;
		border-width: 15px 0 0 15px;
		border-color: transparent transparent transparent #384e12;
  }

  .filtros_mapas .border_filtro {
  	border-bottom: 1px dashed gray;
  }

  .filtros_mapas .border_filtro:last-child {
  	border-bottom: none;
  }

  .filtros_mapas a {
  	color: #787878;
  	text-decoration: none !important;
  	width: 240px;
  	border-radius: 25px;
  }

  .filtros_mapas a img {
  	height: 30px;
  	margin-right: 10px;
  	vertical-align: middle;
  }

  .filtros_mapas a span {
  	position: absolute;
  	padding: 3px 5px;
  	right: 15px;
  	top: 50%;
  	margin-top: -12px;
  	background: #3AB54A;
  	width: 50px;
  }

  .filtros_mapas a:hover {
  	background: #3AB54A;
  	color: white;
  }

  .filtros_mapas a:hover img {
  	-webkit-filter: brightness(3);
   	filter: brightness(3);
  }

  .filtros_mapas a:hover span {
  	background: #0E8016;
  	color: white;
  }
/* Fin Mapa Municipios */

/* Testimonios */
	.bx_testimonios .bx_testimonios_slider {
		width: 100%;
		height: 100%;
		margin: 0;
	}

	.bx_testimonios .bx-wrapper {
		margin: 0;
		width: 100%;
		height: 100%;
		position: relative;
	}

	.bx_testimonios .bx-wrapper .bx-viewport{
		margin: 0;
		width: 100%;
		height: 100%;
	}

	.bx_testimonios .bx_testimonios_slider li {
		height: 100%;
		width: 100%;
		text-align: center;
		background-size: cover;
		background-position: center;
	}

	.bx_testimonios .bx-wrapper img {
		margin: 0 auto;
	}

	.bx_testimonios .bx-wrapper .bx-controls{
		position: absolute;
    top: 70%;
    left: 90px;
    z-index: 9999;
    width: calc(50% - 45px);
    text-align: center;
		height: 15px;
	}

	.bx_testimonios .bx-wrapper .bx-pager,
	.bx_testimonios .bx-wrapper .bx-controls-auto {
		position: relative;
		padding-top: 0;
		bottom: 0;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager {
		text-align: center;
		width: auto;
		display: inline-block;
		height: 15px;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager:before {
		content: " ";
		display: block;
		width: 60px;
		height: 1px;
		background: white;
		position: absolute;
		top: 5px;
		left: 100%;
		margin-left: 10px;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager:after {
		content: " ";
		display: block;
		width: 60px;
		height: 1px;
		background: white;
		position: absolute;
		top: 6px;
		right: 100%;
		margin-right: 10px;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {
		margin-left: 10px;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item:first-child {
		margin-left: 0;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager a {
		background: #FFFFFF;
		opacity: 1;
    width: 12px;
  	height: 12px;
  	margin: 0;
	}

	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager a:hover,
	.bx_testimonios .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #3AB54A;
	}

	.linea_header:after {
		content: " ";
		display: block;
		position: absolute;
		top: 100%;
		margin-top: 10px;
		width: 100px;
		height: 6px;
		background: #F4DA35;
	}

	@media (max-width: 991px) {
		.header-text {
			padding: 0 !important;
			line-height: 1 !important;
		}

		.header-text .f-40 {
			font-size: 20px !important
		}

		.header-text {
			font-size: 12px !important;
			padding: 0 !important;
		}

		.link_cabezote {
			padding: 10px !important;
		}

		.rectangle_slider .border_blanco_header {
			background-size: 25px;
		}

		.logo_voodoo {
			left: 50%;
			margin-left: -73px;
		}

		.galeria_detalle .bx-pager {
			bottom: 0;
		}

		.galeria_detalle .bx-pager img {
			width: 40px;
		}
	}
/* Fin Testimonios */

/* Slides Aliados */
	.slider_aliados {
		background: #F2F2F2;
	}

	.bx-wrapper .bx-prev {
    background-position: 0 0 !important;
	}

	.bx-wrapper .bx-next {
	    
	    background-position: -43px 0 !important;
	}

	.aliado_slide {
		object-fit: cover;
  	object-position: center;
  	display: flex;
  	align-items: center;
  	height: 100%;
	}

	.slider_aliados .bx-wrapper .bx-controls-direction a {
		top:  10px;
	}

	.slider_aliados .bx-wrapper .bx-prev {
		right: 40px;
    left: inherit;
	}

	.slider_aliados .bx-wrapper .bx-next {
		right: 0;
	}
/* Fin Slides Aliados */

/* Slides Apoyos */
	.slider_apoyos {
		background: #F2F2F2;
	}

	.apoyo_slide {
		object-fit: cover;
  	object-position: center;
	}

	.slider_apoyos .bx-wrapper .bx-controls-direction a {
		top:  10px;
	}

	.slider_apoyos .bx-wrapper .bx-prev {
		right: 40px;
    left: inherit;
	}

	.slider_apoyos .bx-wrapper .bx-next {
		right: 0;
	}
/* Fin Slides Apoyos */
/* Planea tu viaje TABLAS */
.colum_tit{
		text-align: center;
		
	}
	.colum_gen{
		text-align: center;
		color: #cfd2d4;
		padding: 30px 15px !important;
	}



/* Fin Planea tu viaje TABLAS */
/* Contenido */
	.wrapper_rojo {
		background: url('../images/planes.png') left top repeat-x;
		border-top: 10px solid white;
		background-size: cover;
		
	}

	.padre_contenido{
		padding-bottom: 140px !important;
	}
	.wrapper_rojo_400 {
		background: url('../images/planes.png') left top repeat-x;
		border-top: 10px solid white;
		background-size: cover;
		height: 450px;
		width: 100%;
	}
	.contenido_paginas {
		right: 0;
		left: 0;
		/*padding-top: 130px;*/
		top: 130px;
	}


	.datos_claves {
		background: #FFEABC;
	}

	.slider_planes2 {
		background: #F6F7FA;
		margin-top: -100px;
	}

	
/* Fin Contenido */

/* Footer */

.first_footer {
	border-top: 10px solid white;
	background: url('../images/footer.jpg') top center/cover no-repeat;
}

.linea_lateral:before {
	content: " ";
	position: absolute;
	left: -50px;
	top: -10%;
	height: 120%;
	border-left: 1px dashed white;
}

/* Fin Footer */

.masonry-item .imagen:after {
	content: " ";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
  background: rgba(0,0,0,0.5);
  border-radius: 10px;
}

.masonry-item .texto {
	position: absolute;
  bottom: 0;
  left: 0;
  z-index: 99;
  color: white;
  padding: 10px;
  font-size: 15px;
}

.masonry-item:hover .imagen:after {
	content: " ";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
  background: none;
  border-radius: 10px;
}

/* Fin Footer */

.masonry-item2 .info .texto {
	position: absolute;
  top: 0;
  left: 0;
	width: 100%;
	height: 100%;
  color: white;
  padding: 10px;
}

.masonry-item2 .hover {
	content: " ";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
  opacity: 1;
  border-radius: 10px;
}

.masonry-item2:hover .hover {
	opacity: 0.000000001;
	pointer-events: none;
}

.masonry-item2 .hover .texto {
	position: absolute;
  bottom: 0;
  left: 0;
  z-index: 99;
  color: white;
}

.filtro-select {
	display: inline-block;
	width: auto;
	height: 45px;
	border-radius: 25px;
	padding: 6px 35px 6px 25px;
}

.filtro-select {
	background-image: url('../images/select_arrow.png');
	background-repeat: no-repeat;
	background-position: right 15px center;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	appearance: none;
	
}

.filtro-select.especial {
	background-color: transparent;
	width: 100%;
	border: none;
	box-shadow: none;
}

.busca_gris {
	background: #F0F0F0;
}

.br-busca {
	border-radius: 25px 0 0 25px;
}

.br-busca2 {
	border-radius: 0 25px 25px 0;
}

.busca_boton {
	height: 61px;
	border-radius: 25px;
	width: 100%;
}

/** Barra Redes **/
	.botones_redes {
	    display: inline-block;
	    line-height: 39px;
	    font-size: 16px;
	    vertical-align: middle;
	    background: #F4F4F4;
	    border-radius: 25px;
	    padding: 5px 10px 5px 0px;
	    margin-left: 10px;
	}

	.jssocials-shares {
	    margin: 0;
	}

	.jssocials-share {
	    margin: 0 0 0 10px;
	}

	img.jssocials-share-logo {
	    height: auto;
	}
/** Fin Barra Redes **/

/** HABLEMOS **/
@media (max-width: 991px) {
	.mensaje-hablemos{
			padding: 4px 4px;
	}
}
@media (min-width: 992px) {
	.mensaje-hablemos{
		padding: 10px 100px;
	}
}

/** Fin HABLEMOS **/

#mapa .leaflet-pane.leaflet-map-pane {
	z-index: 1 !important;
}

.leaflet-control-container .leaflet-top.leaflet-left {
	display: none;
}

.leaflet-top, .leaflet-bottom {
	z-index: 2 !important;
}

.leaflet-popup-content-wrapper .leaflet-popup-content {
	margin: 0 !important;
	min-width: 289px;
}

.leaflet-popup-close-button {
	color: #999 !important;
}

.leaflet-popup-content-wrapper {
	padding: 0 !important;
}

.leaflet-popup.leaflet-zoom-animated {
	bottom: 58px !important;
}

.map-scroll:after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	content: 'Use ctrl + scroll para hacer zoom en el mapa';
	background: #00000061;
	z-index: 999;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 34px;
}

.form-control {
	margin-top: 10px;
	border: none;
	height: 51px;
	background: white;
	-webkit-box-shadow: 0px 2px 4px #8B8D8F;
  -moz-box-shadow: 0px 2px 4px #8B8D8F;
  box-shadow: 0px 2px 4px #8B8D8F;
}

.menu_categorias {
	position: absolute;
	right: 0;
	top: 350px;
	z-index: 9999;
}

#semicircle_menu {
  width: 90px;
  height: 100px;
}

#semicircle_menu > a {
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  background: #F4DA35;
  -webkit-transition: top 1s, left .5s;
  -moz-transition: top 1s, left .5s;
  text-align: center;
  text-decoration: none;
  line-height: 50px;
  color: #EBEAE8;
  z-index: -1;
  border-radius: 50%;
  top: 15px;
  left: 15px;
}

#semicircle_menu > a > img {
  filter: brightness(0) contrast(100%);
}
