	:root {
	--dblue: rgb(60, 60, 60);
	--icon: rgba(0, 0, 0, .5);
	--dark: rgba(60, 60, 60, 1);
}

::selection {
	background: rgba(0, 0, 0, 0.1);
}


/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

body {
	background: #fff;
	color: var(--dark);
	font-family: "Open Sans", sans-serif;
	overflow-x:hidden;
}

a {
	color: rgb(60, 60, 60);
	cursor: pointer;
}

a:hover,
a:active,
a:focus {
	color: rgb(60, 60, 60);
	outline: none;
	text-decoration: none;
}

p {
	padding: 0;
	margin: 0 0 15px 0;
	text-align: left;
	width:100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 400;
	margin: 0 0 20px 0;
	padding: 0;
}

h3 {
	font-weight: 900;
	/* text-transform: uppercase; */
	font-size: 18px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--dark);
}


/* Prelaoder */

#preloader {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	overflow: visible;
	background: #fff url("../img/preloader.svg") no-repeat center center;
}


/* Back to top button */

.back-to-top {
	position: fixed;
	display: none;
	background: rgba(0, 0, 0, 0.2);
	color: #fff;
	padding: 6px 12px 9px 12px;
	font-size: 16px;
	border-radius: 2px;
	right: 15px;
	bottom: 15px;
	transition: background 0.5s;
}



.back-to-top:focus {
	background: rgba(0, 0, 0, 0.2);
	color: #fff;
	outline: none;
}

.back-to-top:hover {
	background: var(--dark);
	color: #fff;
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#header {
	padding: 20px 0;
	height: 72px;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	transition: all 0.5s;
	z-index: 999999997;
}

#header.header-fixed {
	/* background: var(--dblue); */
	padding: 5px 0;
	height: 40px;
	transition: all 0.5s;
	border-bottom: 1px dotted rgb(60, 60, 60);
	background: rgba(255, 255, 255, 0.7)
}


/*
.header-fixed a {
	color: white;
}
*/

#header #logo {
	float: left;
}

#logo {
	font-size: 24px;
	font-weight: 900;
	font-family: "Crimson Text"
}

#header #logo h1 {
	font-size: 36px;
	margin: 0;
	padding: 0px 0;
	line-height: 0.5;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 900;
}

#header #logo h1 a,
#header #logo h1 a:hover {
	color: var(--dark);
}

#header.header-fixed #logo h1 a,
#header.header-fixed #logo h1 a:hover {
	color: rgb(93, 93, 93);
}

#header.header-fixed .nav-menu a {
	color: rgb(132, 132, 132);
	cursor: pointer;
	/*test*/
	font-size: 14px;
	font-weight: 400;
}

#header #logo img {
	padding: 0;
	margin: 0;
	height: 30px
}

#header.header-fixed #logo img {
	filter: invert(1);
	-webkit-filter: invert(1);
}



/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/

#hero {
	width: 100%;
	height: 100%;
	height: 100vh;
	/*background: url(../pics/xl/distributed_city.jpg) top center;*/
	background-size: cover;
	position: relative;
	overflow: hidden;
}



#hero:before {
	content: "";
	/*background: rgba(0, 0, 0, 0.0);*/
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
}

#hero .hero-container {
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
/*	background: rgba(255,255,255,0)*/
}

#hero h1 {
	margin: 30px 0 10px 0;
	font-size: 64px;
	font-weight: 900;
	line-height: 56px;
	/*text-transform: uppercase;*/
	color: var(--dark);
}

#hero h2 {
	color: var(--dark);
	margin-bottom: 20px;
	font-size: 24px;
	text-transform: uppercase;
	font-weight: 900
}

#hero h3 {
	font-size: 18px;
	width: 400px;
	font-weight: 400;
	border: none;
}


#hero .btn-get-started {
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 8px 28px;
	border-radius: 50px;
	transition: 0.5s;
	margin: 10px;
	border: 2px solid #fff;
	color: #fff;
}

#hero .btn-get-started:hover {
	background: #2dc997;
	border: 2px solid #2dc997;
}

#hero h1 img {
	height: 120px;
	margin-bottom: 50px;
}


/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/

section {
	position: relative;
	border-top: 1px dotted black;
	
}


/* Nav Menu Essentials */

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

.nav-menu a:hover {
	color: rgb(60, 60, 60);
}

.nav-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 99;
}

.nav-menu li {
	position: relative;
	white-space: nowrap;
	color: rgb(100, 100, 100)
}

.nav-menu>li {
	float: left;
}

.nav-menu li:hover>ul,
.nav-menu li.sfHover>ul {
	display: block;
}

.nav-menu ul ul {
	top: 0;
	left: 100%;
}

.nav-menu ul li {
	min-width: 180px;
}


/* Nav Menu Arrows */

.sf-arrows .sf-with-ul {
	padding-right: 30px;
}

.sf-arrows .sf-with-ul:after {
	content: "\f107";
	position: absolute;
	right: 15px;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
}

.sf-arrows ul .sf-with-ul:after {
	content: "\f105";
}


/* Nav Meu Container */

#nav-menu-container {
	float: right;
	margin: 0;
}


/* Nav Meu Styling */

.nav-menu a {
	padding: 8px 8px 8px 8px;
	text-decoration: none;
	display: inline-block;
	color: var(--dark);
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 13px;
	outline: none;
	cursor: pointer;
	/*test*/
	font-size: 14px;
	font-weight: 400;
}

.nav-menu>li {
	margin-left: 10px;
}


/*
.nav-menu>li>a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: white;
	visibility: hidden;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
}
*/

.nav-menu a:hover:before,
.nav-menu li:hover>a:before,
.nav-menu .menu-active>a:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

.nav-menu ul {
	margin: 4px 0 0 0;
	border: 1px solid #e7e7e7;
}

.nav-menu ul li {
	background: #fff;
}

.nav-menu ul li:first-child {
	border-top: 0;
}

.nav-menu ul li a {
	padding: 10px;
	color: #333;
	transition: 0.3s;
	display: block;
	font-size: 13px;
	text-transform: none;
}

.nav-menu ul li a:hover {
	background: #2dc997;
	color: #fff;
}

.nav-menu ul ul {
	margin: 0;
}


/* Mobile Nav Toggle */

#mobile-nav-toggle {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 999999999;
	margin: 0px 20px 0 0;
	border: 0;
	background: none;
	font-size: 24px;
	display: none;
	transition: all 0.4s;
	outline: none;
	cursor: pointer;
}

#mobile-nav-toggle i {
	color: #fff;
}


/* Mobile Nav Styling */

#mobile-nav {
	position: fixed;
	top: 0;
	padding-top: 18px;
	bottom: 0;
	z-index: 999999998;
	background: rgba(52, 59, 64, 0.9);
	left: -260px;
	width: 260px;
	overflow-y: auto;
	transition: 0.4s;
}

#mobile-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

#mobile-nav ul li {
	position: relative;
}

#mobile-nav ul li a {
	color: #fff;
	font-size: 16px;
	overflow: hidden;
	padding: 10px 22px 10px 15px;
	position: relative;
	text-decoration: none;
	width: 100%;
	display: block;
	outline: none;
}

#mobile-nav ul li a:hover {
	color: #fff;
}

#mobile-nav ul li li {
	padding-left: 30px;
}

#mobile-nav ul .menu-has-children i {
	position: absolute;
	right: 0;
	z-index: 99;
	padding: 15px;
	cursor: pointer;
	color: #fff;
}

#mobile-nav ul .menu-has-children i.fa-chevron-up {
	color: #2dc997;
}

#mobile-nav ul .menu-item-active {
	color: #2dc997;
}

#mobile-body-overly {
	width: 100%;
	height: 100%;
	z-index: 997;
	top: 0;
	left: 0;
	position: fixed;
	background: rgba(52, 59, 64, 0.9);
	display: none;
}


/* Mobile Nav body classes */

body.mobile-nav-active {
	overflow: hidden;
}

body.mobile-nav-active #mobile-nav {
	left: 0;
}

body.mobile-nav-active #mobile-nav-toggle {
	color: #fff;
}


/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/


/* Sections Header
--------------------------------*/

.section-header .section-title {
	font-size: 32px;
	color: rgb(60,60,60);
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	margin-bottom: 5px;
	border: none;
	text-shadow: 0px 0px 10px white;
}

.section-header .section-description {
	text-align: center;
	padding-bottom: 40px;
	color: #999;
}


/* About Us Section
--------------------------------*/

#about {
	background: #fff;
	padding: 0px 0;
	/*mod*/
	height: 100%;
	height: 100vh;
	width: 100%;
}

#about .about-container .background {
	min-height: 300px;
	background: url(../img/about-img.jpg) center top no-repeat;
	margin-bottom: 10px;
}

#about .about-container .content {
	background: #fff;
}

#about .about-container .title {
	color: #333;
	font-weight: 700;
	font-size: 32px;
}

#about .about-container p {
	line-height: 26px;
}

#about .about-container p:last-child {
	margin-bottom: 0;
}

#about .about-container .icon-box {
	background: #fff;
	background-size: cover;
	padding: 0 0 30px 0;
}

#about .about-container .icon-box .icon {
	float: left;
	background: #fff;
	padding: 16px;
	border-radius: 50%;
	border: 2px solid #2dc997;
}

#about .about-container .icon-box .icon i {
	color: #2dc997;
	font-size: 24px;
}

#about .about-container .icon-box .title {
	margin-left: 80px;
	font-weight: 500;
	margin-bottom: 5px;
	font-size: 18px;
	text-transform: uppercase;
}

#about .about-container .icon-box .title a {
	color: #111;
}

#about .about-container .icon-box .description {
	margin-left: 80px;
	line-height: 24px;
	font-size: 14px;
}


/* Facts Section
--------------------------------*/

#facts {
	background: #f7f7f7;
	padding: 80px 0 60px 0;
}

#facts .counters span {
	font-size: 48px;
	display: block;
	color: #2dc997;
}

#facts .counters p {
	padding: 0;
	margin: 0 0 20px 0;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
}


/* Services Section
--------------------------------*/

#services {
	background: #fff;
	background-size: cover;
	padding: 80px 0 60px 0;
}

#services .box {
	padding: 50px 20px;
	margin-bottom: 50px;
	text-align: center;
	border: 1px solid #e6e6e6;
	height: 200px;
	position: relative;
	background: #fafafa;
}

#services .icon {
	position: absolute;
	top: -36px;
	left: calc(50% - 36px);
	transition: 0.2s;
	border-radius: 50%;
	display: inline-block;
	border: 6px solid #fff;
}

#services .icon a {
	display: inline-block;
	background: #2dc997;
	border: 2px solid #2dc997;
	padding: 16px;
	border-radius: 50%;
	transition: 0.3s;
}

#services .icon i {
	color: #fff;
	font-size: 24px;
}

#services .box:hover .icon i {
	color: #2dc997;
}

#services .box:hover .icon a {
	color: #2dc997;
	background: #fff;
}

#services .title {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 15px;
	text-transform: uppercase;
}

#services .title a {
	color: #111;
}

#services .description {
	font-size: 14px;
	line-height: 24px;
}


/* Call To Action Section
--------------------------------*/

#call-to-action {
	background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(../img/call-to-action-bg.jpg) fixed center center;
	background-size: cover;
	padding: 80px 0;
}

#call-to-action .cta-title {
	color: #fff;
	font-size: 28px;
	font-weight: 700;
}

#call-to-action .cta-text {
	color: #fff;
}


#call-to-action .cta-btn {
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 8px 30px;
	border-radius: 50px;
	transition: 0.5s;
	margin: 10px;
	border: 2px solid #fff;
	color: #fff;
}

#call-to-action .cta-btn:hover {
	background: #2dc997;
	border: 2px solid #2dc997;
}


/* Portfolio Section
--------------------------------*/

#portfolio {
	background: rgb(224, 224, 224);
	padding: 120px 0;
}


/*#portfolio #portfolio-wrapper {padding-right: 15px;}*/

#portfolio #portfolio-flters {
	padding: 0;
	margin: 0 0 45px 0;
	list-style: none;
	text-align: center;
}

#portfolio #portfolio-flters li {
	cursor: pointer;
	margin: 0 10px;
	display: inline-block;
	padding: 10px 22px;
	font-size: 12px;
	line-height: 20px;
	color: #666666;
	border-radius: 4px;
	text-transform: uppercase;
	background: #fff;
	margin-bottom: 5px;
	transition: all 0.3s ease-in-out;
}

#portfolio #portfolio-flters li:hover,
#portfolio #portfolio-flters li.filter-active {
	background: #2dc997;
	color: #fff;
}

#portfolio .portfolio-item {
	position: relative;
	height: 200px;
	overflow: hidden !important;
	margin-bottom: 15px;
	transition: all 350ms ease;
	transform: scale(1);
	max-width: 600px;
}

#portfolio .portfolio-item a {
	display: flex;
	/*margin-right: 15px;*/
	height: 100%;
	text-align: center;
	overflow: hidden;
	background: white;
	border-bottom: 3px solid var(--dark);
	justify-content: center;
}

#portfolio .portfolio-item img {
	height: 100%;
	position: relative;
	top: 0;
	transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
	filter: brightness(1.06);
}

#portfolio .portfolio-item .details {
	height: 50px;
	background: var(--dark);
	position: absolute;
	width: calc(100% - 30px);
	height: 50px;
	bottom: -50px;
	transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

#portfolio .portfolio-item .details h4 {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	padding: 8px 0 2px 8px;
	margin: 0;
}

#portfolio .portfolio-item .details span {
	display: block;
	color: #fff;
	font-size: 13px;
	padding-left: 8px;
}

#portfolio .portfolio-item:hover .details {
	bottom: 0;
}

#portfolio .portfolio-item:hover img {
	top: -30px;
}


/* Contact Section
--------------------------------*/

#contact {
	background: #f7f7f7;
	padding: 120px 0 40px 0;
}

#contact #google-map {
	height: 400px;
	margin-bottom: 20px;
}

#contact .info {
	color: #333333;
}

#contact .info i {
	font-size: 32px;
	color: var(--icon);
	float: left;
}

#contact .info p {
	padding: 0 0 10px 50px;
	margin-bottom: 20px;
	line-height: 22px;
	font-size: 14px;
}

#contact .info .email p {
	padding-top: 5px;
}

#contact .social-links {
	padding-bottom: 20px;
}

#contact .social-links a {
	font-size: 18px;
	display: inline-block;
	background: #333;
	color: #fff;
	line-height: 1;
	padding: 8px 0;
	border-radius: 50%;
	text-align: center;
	width: 36px;
	height: 36px;
	transition: 0.3s;
}

#contact .social-links a:hover {
	background: #2dc997;
	color: #fff;
}

#contact .form #sendmessage {
	color: #2dc997;
	border: 1px solid #2dc997;
	display: none;
	text-align: center;
	padding: 15px;
	font-weight: 600;
	margin-bottom: 15px;
}

#contact .form #errormessage {
	color: red;
	display: none;
	border: 1px solid red;
	text-align: center;
	padding: 15px;
	font-weight: 600;
	margin-bottom: 15px;
}

#contact .form #sendmessage.show,
#contact .form #errormessage.show,
#contact .form .show {
	display: block;
}

#contact .form .validation {
	color: red;
	display: none;
	margin: 0 0 20px;
	font-weight: 400;
	font-size: 13px;
}

#contact .form input,
#contact .form textarea {
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
}

#contact .form button[type="submit"] {
	background: #2dc997;
	border: 0;
	padding: 10px 24px;
	color: #fff;
	transition: 0.4s;
}

#contact .form button[type="submit"]:hover {
	background: #51d8ad;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#footer {
	background: var(--dblue);
	padding: 30px 0;
	color: #ffffff;
	font-size: 14px;
}

#footer .copyright {
	text-align: center;
}

#footer .credits {
	padding-top: 10px;
	text-align: center;
	font-size: 13px;
	color: #ccc;
}

.webtitle {
	font-size: 12px;
	line-height: normal;
	margin: 0px;
	padding: 0px;
	text-transform: none;
}

#footer p::before {
	content: '';
	border-top: 3px solid white;
	width: 30px;
	height: 2px;
	display: block;
	padding-bottom: 10px
}


/*--------------------------------------------------------------
# Carousel
--------------------------------------------------------------*/

.carousel-inner {
	position: relative;
	width: 100%;
	overflow: hidden;
	height: 100%;
	height: 100vh;
	background: white;
	display: flex;
	justify-content: center;
	align-items: center;
}

.carousel-indicators .active {
	background-color: #000;
}

.carousel-indicators li {
	background-color: rgba(0, 0, 0, .3);
	cursor: pointer;
}

.carousel-inner img {
	-webkit-filter: grayscale(100%);
	/* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
	opacity: 1;
	margin: auto;
}

.carousel-caption {
	position: absolute;
	right: 15%;
	/*top: 120px;*/
	left: 15%;
	z-index: 10;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 20px;
	color: var(--dark);
	text-align: center;
}

.carousel-caption p {
	font-size: 50px;
	text-align: left;
	font-weight: 600;
	max-width: 800px;
	line-height: 1.1em;
}

.carousel-caption h5 {
	text-align: left;
	width: 30px;
	border-top: 3px solid rgb(60, 60, 60);
	padding-top: 10px;
}


.tml-v-100 {
	height: 100%;
	height: 100vh;
}

.carousel-control-next-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.carousel-control-prev-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.carousell {
	position: relative;
}

.button {
	display: block;
	text-align: center;
	border: 3px solid var(--dark);
	width: 200px;
	padding: 5px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 10px;
	background: rgb(60,60,60);
	color:white;
}

.button:hover{
	background: transparent;
	color:rgb(60,60,60)
}

a.button:not([href]):not([tabindex]) {
    color: white;
}


a:not([href]):not([tabindex]):hover {
	color: rgb(60,60,60);
	text-decoration: none;
	background: transparent;
}



.buttonbig {
	display: block;
	text-align: center;
	border: 3px solid var(--dark);
	width: 250px;
	padding: 5px;
	font-weight: 700;
	color: var(--dark);
	margin-bottom: 20px;
}

.buttonbig:hover {
	color: white;
	background: var(--dark);
	cursor: pointer;
}



/*---------------*/

#footer img {
	max-width: 70%;
	padding-bottom: 10px;
	filter: contrast(200%) brightness(100%) invert(1) grayscale(100%);
	-webkit-filter: contrast(100%) brightness(100%) invert(1) grayscale(100%);
	opacity: 0.6;
	max-height: 80px;
	float: none;
	clear: both;
	display: block
}

#mini-hero {
	width: 100%;
	height: 100vh;
	/*background: white;*/
	background-size: cover;
	position: relative;
	background-position: center;
	background-color: var(--dblue);
	background-blend-mode: luminosity;
}

#mini-hero h1 {
	margin: 30px 0 10px 0;
	font-size: 48px;
	font-weight: 700;
	line-height: 56px;
	text-transform: uppercase;
	color: var(--dark);
	font-size: 50px;
	text-align: left;
	font-weight: 600;
	max-width: 800px;
}

#mini-hero h2 {
	color: var(--dark);
	margin-bottom: 20px;
	font-size: 24px;
	border-top: 3px solid var(--dark);
	width: 30px;
	padding-top: 20px;
}

#mini-hero h3 {
	font-size: 18px;
	width: 400px;
}

#mini-hero .hero-container {
	position: absolute;
	bottom: 0;
	/* top: 0; */
	/*    left: 10%;*/
	/* right: 0; */
	/* display: flex; */
	/* justify-content: flex-end; */
	/* align-items: flex-start; */
	/* flex-direction: column; */
	text-align: left;
}

#mini-hero:before {
	content: "";
	background: rgba(0, 0, 0, 0.0);
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
}

#mini-hero:before {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+50,ffffff+100&0.2+1,0.2+52,1+100 */
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 1%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 52%, rgba(255, 255, 255, 1) 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 1%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 52%, rgba(255, 255, 255, 1) 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 1%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 52%, rgba(255, 255, 255, 1) 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33ffffff', endColorstr='#ffffff', GradientType=0);
	/* IE6-9 */
}

h1 {
	font-weight: 900;
}

div#featured {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	max-height: 400px;
}

#featured img {
	width: 140%;
}

#intro {
	padding-top: 120px;
}

#intro h3 {
	font-weight: 400;
	text-transform: none;
	font-size: 18px;
	border: none;
}

#intro p {
	font-size: 14px;
}

#intro a {
	color: var(--dark);
	text-decoration: underline;
}

#intro a.im {
	width: 200%;
	display: flex;
	text-decoration: underline;
	align-items: center;
	justify-content: center;
	padding-bottom: 60px;
}

#intro a:hover {
	color: rgb(0, 0, 0);
}

#gallery {
	padding-top: 120px;
	padding-bottom: 120px;
}

#gallery .portfolio-item img {
	height: 100%;
	position: relative;
	top: 0;
	transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

#gallery .portfolio-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -10px;
	height: 100%;
	text-align: center;
	overflow: hidden;
	background: white;
	border-bottom: 3px solid var(--dark);
	flex-direction: column;
	text-align: center;
	width: 100%;
}

#gallery .portfolio-item {
	position: relative;
	height: 200px;
	overflow: hidden !important;
	margin-bottom: 15px;
	transition: all 350ms ease;
	transform: scale(1);
	max-width: 600px;
}

#credits {
	padding-top: 120px;
	padding-bottom: 120px;
	background: #f2f2f2;
}

#credits a {
	color: var(--dark);
	text-decoration: underline;
}

#credits a:hover {
	color: rgb(0, 0, 0);
}

#credits p {
	font-size: 14px;
}

.caro-frame {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	height: 100vh;
	width: 100%;
	opacity: 0.5;
	background-color: white;
}

#credits img {
	/* width: 70%; */
	opacity: 0.8;
	max-height: 60px;
	max-width: 70%;
}

.bluefilter {
	height: 100%;
	width: 100px;
	display: block;
	background: var(--dblue);
	z-index: 9000000000000;
	width: calc(100% - 30px);
	/* background-blend-mode: multiply; */
	mix-blend-mode: color;
	overflow: hidden;
	position: absolute;
}

.bluefilter2 {
	height: 100%;
	width: 100px;
	display: block;
	background: var(--dblue);
	z-index: 9000000000000;
	width: 100%;
	/* background-blend-mode: multiply; */
	mix-blend-mode: color;
	overflow: hidden;
	position: absolute;
}

#introduction {
	min-height: 100%;
	min-height: 100vh;
	padding-top: 120px;
	padding-bottom: 120px;
	/*
    background-image: url(../img/atn__0007.jpg);
    background-size: cover;
    background-color: #beaeff;
    background-blend-mode: screen;
    z-index: -1;
*/
	opacity: 1;
}

#introduction:after {
	content: '';
	width: 100%;
	height: 0%;
	/* background-color: rgba(1, 0, 39,1);
    background-image: url(../img/atn__0007.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: luminosity;
    */
	opacity: 1;
	position: absolute;
	top: 100%;
	top: 100vh;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: -1;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+99&0.1+32,1+93 */
	background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 32%, rgba(255, 255, 255, 1) 93%, rgba(255, 255, 255, 1) 99%);
	/* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 32%, rgba(255, 255, 255, 1) 93%, rgba(255, 255, 255, 1) 99%);
	/* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 32%, rgba(255, 255, 255, 1) 93%, rgba(255, 255, 255, 1) 99%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#ffffff', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
}

#introtext {
	z-index: 100
}

#introduction a,
#introduction a:hover {
	color: var(--dark);
	text-decoration: underline;
}

#introduction p {
	text-align: center;
	font-size: 18px;
	color: var(--dark);
	max-width: 800px;
	margin: auto;
}

#introduction img {
	height: 50px;
}

#video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	background: url(../pics/xl/distributed_city.jpg) top center;
	background-size: cover;
}


/*
#news {
    height: 100%;
    height: 100vh;
    padding-top: 120px;
    padding-bottom: 120px;
}
*/

#news h2 {
	font-weight: 900;
	text-transform: uppercase;
}



.section-desc {
	text-align: center;
}

.tuits {
	height: calc(100% - 140px);
	height: calc(100vh - 140px);
	overflow: auto
}



#introduction .button3 {
	display: block;
	text-align: center;
	border: 3px solid var(--dark);
	width: 120px;
	padding: 5px;
	font-weight: 700;
	color: var(--dark);
	margin: auto;
	margin-bottom: 20px;
	text-decoration: none;
}

#introduction .button3:hover {
	color: white;
	background: var(--dark);
	cursor: pointer;
	text-decoration: none;
}

@supports not (background-blend-mode: luminosity) {
	#mini-hero {
		display: none;
	}
}

@supports not (mix-blend-mode: color) {
	.bluefilter,
	.bluefilter2 {
		display: none
	}
}

@supports not (background-blend-mode: screen) {
	#introduction {
		background-image: none;
		background-size: cover;
		background-color: white;
		background-blend-mode: none;
	}
}

#map {
	background: white;
	height: 70vh;
	width: 100%;
	height: 100vh;
}

.full {
	min-height: 100%;
	min-height: 100vh;
	padding-top: 0px;
	padding-bottom: 0px;
}

#map_i {
	height: 100vh;
	width: 100%
}

#map_i::after {
    opacity:1;
	content: '';
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background: red;
	z-index: 0;
	pointer-events: none;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+23,ffffff+23,ffffff+100&1+0,0+24,0+100 */
	background: -moz-linear-gradient(top, rgba(240, 240, 240, 1) 0%, rgba(240, 240, 240, 1) 50px, rgba(240, 240, 240, 0.04) 400px, rgba(240, 240, 240, 0) 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(240, 240, 240, 1) 0%, rgba(240, 240, 240, 1) 50px, rgba(240, 240, 240, 0.04) 400px, rgba(240, 240, 240, 0) 100%);
	/* Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(240, 240, 240, 1) 0%, rgba(240, 240, 240, 1) 50px, rgba(240, 240, 240, 0.04) 400px, rgba(240, 240, 240, 0) 100%);
	/* W3C,*/
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=0);
	/* IE6-9 */
}

#map::after {
	content: '';
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
    opacity:0.8;
	z-index: 0;
	pointer-events: none;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+23,ffffff+23,ffffff+100&1+0,0+24,0+100 */
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50px, rgba(255, 255, 255, 0.04) 400px, rgba(255, 255, 255, 0) 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50px, rgba(255, 255, 255, 0.04) 400px, rgba(255, 255, 255, 0) 100%);
	/* Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50px, rgba(255, 255, 255, 0.04) 400px, rgba(255, 255, 255, 0) 100%);
	/* W3C,*/
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=0);
	/* IE6-9 */
}

.section-header {
	position: absolute;
	top: 50px;
	z-index: 999;
	width: 100%;
	pointer-events: none;
}

.section-header.rel {
	position: relative;
}

#menu_i {
	position: absolute;
	bottom: 0px;
	text-align: center;
	width: 100%;
	display: inline;
/*	padding: 40px;*/
	padding-bottom: 10px;
}

.option_i {
	font-size: 0.8em;
	padding: 3px;
	padding-top: 1px;
	padding-bottom: 1px;
	background: rgba(0, 0, 0, 0.8);
	margin: 1px;
	color: rgb(255, 255, 255);
	cursor: pointer;
	display: inline-block;
	border: 1px solid gray;
}

.option_i:hover {
	background: rgb(255, 255, 255);
	color: rgb(60, 60, 60);
}

.option_i.active {
	background: rgb(255, 255, 255);
	color: rgb(60, 60, 60);
}


/*ol3*/

.ol-zoom {
	top: 4em;
	left: .5em;
	cursor: pointer;
}

.ol-popup {
	position: absolute;
	background-color: white;
	-webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
	filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
	padding: 15px;
	border-radius: 10px;
	border: 1px solid #cccccc;
	bottom: 12px;
	left: -50px;
	min-width: 280px;
}

.ol-popup:after,
.ol-popup:before {
	top: 100%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.ol-popup:after {
	border-top-color: white;
	border-width: 10px;
	left: 48px;
	margin-left: -10px;
}

.ol-popup:before {
	border-top-color: #cccccc;
	border-width: 11px;
	left: 48px;
	margin-left: -11px;
}

.ol-popup-closer {
	text-decoration: none;
	position: absolute;
	top: 2px;
	right: 8px;
}

.ol-popup-closer:after {
	content: "✖";
}


/*-------------------*/

.container {
	position: relative;
}

#map_n {
	height: 100vh;
}

#chart_r {
	margin-top: 40px;
	width: 100%;
	height: 50vh;
}

.canvas {
	display: flex;
	align-items: center;
	text-align: center;
	align-content: center;
	justify-content: center;
	min-height: 100vh;
	flex-direction: column;
}

.canvas h3 {
	font-size: 32px;
	color: rgb(60, 60, 60);
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	margin-bottom: 5px;
	margin-top:30px;
	border: none;
}

h3 {
	font-size: 32px;
	color: rgb(60,60,60);
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	margin-bottom: 5px;
	border: none;
}

.row {
	text-align: center;
	/*display: block;*/
}

.center {
	text-align: -webkit-center;
	display: block;
	width:auto;
}

.download {
	font-size: 30px;
	border: 4px solid rgb(60, 60, 60);
	padding: 10px;
	line-height: 0;
	height: 60px;
	width: 60px;
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}

.download:hover {
	color: white;
	background: rgb(60, 60, 60);
}

.qr {
	border: 3px solid rgb(60, 60, 60);
	padding: 2px;
	width: 50px;
	height: 50px;
}

#popup {}

.mapafons {
	position: relative;
	z-index: 9999999;
	background: transparent;
}

.mapafons::before {
	content: '';
	height: 100%;
	width: 100%;
	top: 0px;
	opacity: 0.5;
	position: absolute;
	z-index: 0;
	background-image: url('../img/fons.jpg');
	background-position: center;
}



/*-------------*/

.ol-zoom {
	top: 100px;
	left: 50%;
	margin-left: -50px;
}

.ol-control button {
	display: block;
	margin: 2px;
	padding: 0;
	color: rgb(60, 60, 60);
	font-size: 1em;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	height: 50px;
	width: 50px;
	line-height: 0.em;
	background-color: rgba(255, 255, 255, 0.7);
	border: 1px solid gray;
	border-radius: 0px;
	float: right;
}

.ol-control button:focus,
.ol-control button:hover {
	text-decoration: none;
	background-color: rgba(255, 255, 255, 1);
}

.ol-zoom .ol-zoom-in {
	border-radius: 0px 0px 0 0;
}

.ol-control,
.ol-control:hover {
	position: absolute;
	background-color: transparent;
	border-radius: 0px;
	padding: 2px;
}

#i_name {
	text-align: center;
	margin-top: 70px;
	font-weight: 600;
	font-size: 1.5em;
	margin-bottom: 0px;
}

#i_desc {
	text-align: center;
	max-width: 800px;
	margin: auto;
	font-weight: 500;
}

#i_source {
	text-align: center;
	font-size: 0.7em
}

.quees,
.quees p {
/*	font-size: 1.7vmin;*/
	font-size: 1em;
	text-align: center;
	width: 100%;
	max-width: 800px;
	margin: auto;
	margin-bottom: 10px;
}

.app {
	max-width: 800px;
	text-align: center;
}

.down {
	text-align: center;
	font-size: 12px;
}

#ciudadanos,
#fotografias {
	font-weight: 900;
	font-size: 3em;
	font-family: "Crimson Text", serif;
}

.big {
	font-size: 2em;
	padding: 15px
}

.colcenter {
	text-align: center;
	font-size: 0.8em;
}

#buttonbarrios {
	position: absolute;
	top: 220px;
	left: 50%;
	margin-left: -100px;
	height: 30px;
	width: 200px;
	background: rgba(255, 255, 255, 0.5);
	border: 1px solid rgb(60, 60, 60);
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	padding: 5px;
	cursor: pointer;
}

.mapnote {
	position: absolute;
	top: 160px;
	max-width: 600px;
	text-align: center;
	left: 50%;
	margin-left: -300px;
}
.minilog {
	width: 160px;
	padding: 10px
}

.partners {
/*	background: rgba(255,255,255,0.5)*/
}

.serif {
	font-family: "Crimson text", serif;
}

.foll {
	cursor: pointer;
}




/*-----------------------*/
@media (max-width: 1001px) {
	#news h2 {
		font-size: 32px;
		text-align: center
	}
	#news p {
		text-align: center;
	}
}

@media (max-width: 1001px) {
	#introduction,
	#about,
	#news,
	#contact,
	#portfolio,
	#credits,
	#gallery,
	#intro {
		padding-top: 60px;
		padding-bottom: 30px;
	}
}

@media (max-width: 1001px) {
	.back-to-top {
		bottom: 15px;
	}
}

@media (max-width: 1001px) {
	#header #logo h1 {
		font-size: 26px;
	}
	#header #logo img {
		max-height: 40px;
	}
}

@media (min-width: 1024px) {
	#hero {
		background-attachment: fixed;
		overflow: hidden;
	}
}


@media (max-width: 1001px) {
	#hero h1 {
		font-size: 64px;
		/*line-height: 36px;*/
	}
	#hero h2 {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 30px;
	}
	#hero h3 {
		color: var(--dark);
		font-size: 16px;
	}
}


@media (max-width: 1001px) {
	#nav-menu-container {
		display: none;
	}
}


@media (max-width: 1001px) {
	#mobile-nav-toggle {
		display: inline;
	}
}

@media (max-width: 1001px) {
	#mobile-nav-toggle i {
		color: rgb(60, 60, 60)
	}
}


@media (max-width: 1001px) {
	#about .about-container .title {
		padding-top: 15px;
	}
}


@media (min-width: 769px) {
	#call-to-action .cta-btn-container {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}


@media (max-width: 1001px) {
	.carousel-caption {
		top: 60px;
	}
	.carousel-caption p {
		font-size: 28px;
		text-align: left;
		font-weight: 600;
		line-height: 1.1em;
	}
	.carousel-caption h5 {
		text-align: left;
		width: 15px;
		border-top: 3px solid rgb(60, 60, 60);
		padding-top: 10px;
	}
}


@media (max-width: 1001px) {
	#mini-hero h1 {
		font-size: 30px;
		line-height: 1.2em;
	}
	#mini-hero h2 {
		font-size: 18px;
	}
	#mini-hero h3 {
		font-size: 14px;
	}

	h1 {
		font-size: 30px;
		line-height: 1.2em;
		font-weight: 900;
	}
	h2 {
		font-size: 1.3em;
		font-weight: 900;
		text-transform: uppercase
	}
	h3 {
		font-size: 14px;
	}
}

.left {
    float: left;
    padding: 3px;
    line-height: 1;
    padding-top: 7px;
    color: rgb(60,60,60);
    font-size: 0.6em;
	/*text-shadow: 0px 0px 2px rgb(60,60,60);*/
    font-weight: 900;
    width: 70px;
    margin: 1px;
	text-align: center;
	background:rgba(255,255,255,0.8);
		
}

#map_leyenda {
    position: absolute;
    /* left: 50%; */
    /* margin-left: -355px; */
    bottom: 10px;
    margin: auto;
    display: flex;
    width: 100%;
    /* align-items: center; */
    justify-content: center;
}

.bgray {
    background: rgb(240,240,240);
	border-top: 1px dotted rgb(30,30,30);
}

.i_num{
	font-size: 2em;
	font-weight: 900
}

.i_name{
	font-weight: 900
}

.i_desc{
	font-size: 0.8em;
}

.i_units{
	font-size: 0.8em;
	color:gray;
}



.pcenter p{
	text-align: center;
	max-width: 800px;
	margin: auto;
	margin-bottom: 20px;

}

.pcenter p a {
	font-weight: 900;
}

.pcenter p a:after {
	content:"*";
	font-size: 20px;
	text-decoration: none;
}
.appuse {
	background-image: url('../img/app.gif');
	background-size: cover;
	background-position: center;
}

.appuse:after{
	content:'';
	background: rgba(255,255,255,0.7);
	
	height: 100%;
	width:100%;
	position: absolute;
	top:0px;
	left: 0px;
	z-index: 0
		
}
