* {
	box-sizing: border-box;
	margin: 0;
}
html {
	height: 100%;
	overflow-x: hidden;
	-webkit-text-size-adjust: none;
}
body {
	position: relative;
	padding: 5em 0 16em;
	min-height: 100%;
	font-family: "Montserrat Regular", sans-serif;
	overflow-x: hidden;
}
::selection {
	background: #222;
	color: #fff;
}
a {
	text-decoration: none;
	color: inherit;
}
b{
	font-family: "Montserrat Bold", sans-serif;
}
h1{
	padding-bottom: 1em;
	text-align:center;
}
.screen-reader-text {
	position: absolute!important;
	clip: rect(1px,1px,1px,1px);
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/*
** HEADER *************************
*/
.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
.header a{
	text-decoration: none;
}
.header-home-link {
	display: inline-block;
	text-align: center;
	width: 12em;
	padding: 0.6em 1em;
	margin: 3px;
	position: relative;
	z-index: 9999;
}
.header-home-logo {
	width: 100%;
}
.header-nav-toggle-label {
	position: absolute;
	top: 0;
	right: 0;
	height: 3.8em;
	width: 4.5em;
	margin: auto;
	z-index: 9999;
	cursor: pointer;
	overflow: hidden;
}
.header-nav-toggle-label:after {
	content: "";
	color: #000;
	position: absolute;
	bottom: 5%;
	right: 0;
	left: 100%;
	text-align: center;
	font-size: 0.8em;
}
.header-nav-toggle-menu-icon:before,
.header-nav-toggle-menu-icon:after,
.header-nav-toggle-menu-icon {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 55%;
	height: 4px;
	margin: auto;
	background-color: #000;
}
.header-nav-toggle-menu-icon:before {
	top: 0;
	width: 100%;
	transform: translateY(-0.7em);
}
.header-nav-toggle-menu-icon:after {
	top: 0;
	width: 100%;
	transform: translateY(0.7em);
}
#header-nav-toggle-checkbox:checked ~ .header-nav-toggle-label {
	position: fixed;
}
#header-nav-toggle-checkbox:checked ~ .header-nav-toggle-label:after {
	content: "";
	left: 0;
}
#header-nav-toggle-checkbox:checked ~ .header-nav-toggle-label .header-nav-toggle-menu-icon {
	background-color: transparent;
}
#header-nav-toggle-checkbox:checked ~ .header-nav-toggle-label .header-nav-toggle-menu-icon:before {
	transform: rotate(45deg);
}
#header-nav-toggle-checkbox:checked ~ .header-nav-toggle-label .header-nav-toggle-menu-icon:after {
	transform: rotate(-45deg);
}

.header-nav {
	display: flex;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
}
#header-nav-toggle-checkbox:checked ~ .header-nav {
	opacity: 1;
	visibility: visible;
	transition: .5s;
}
.header-nav-items-block {
	list-style-type: none;
	padding: 0;
	margin: auto;
	width: 100%;
}
.header-nav-item {
	text-align: center;
	opacity: 0;
	transform: translateY(10em);
}
#header-nav-toggle-checkbox:checked ~ .header-nav .header-nav-item {
	opacity: 1;
	transform: translateY(0);
	transition-duration: .5s;
}
.header-nav-item:nth-of-type(1) {
	transition-delay: .1s;
}
.header-nav-item:nth-of-type(2) {
	transition-delay: .2s;
}
.header-nav-item:nth-of-type(3) {
	transition-delay: .3s;
	/* padding-right: 1em; */
}
.header-nav-item:nth-of-type(4) {
	transition-delay: .4s;
	display: none;
}
.header-nav-link {
	position:relative;
	display: block;
	font-size: 2em;
	padding: .5em 0;
	color: #111;
	overflow:hidden;
}

/* Active and hovered menu item color */
html[lang="en-US"] .lang-en,
html[lang="pt-BR"] .lang-pt,
.page-servicos .header-nav-link-servicos,
.page-equipe .header-nav-link-equipe,
.page-contato .header-nav-link-contato,
.header-nav-link:hover {
	color: #ff5e00 !important;
}
@media (min-width: 750px){
	.header-nav-toggle-label{
		display:none;
	}
	.header-nav{
		position:absolute;
		opacity: 1;
		visibility: visible;
		left: unset;
		background:transparent;
	}
	.header-nav-items-block{
		display: flex;
		padding-left: 1em;
	}
	.header-nav-item{
		display: inline-block;
		transform: translateY(0);
		opacity: 1;
	}
	.header-nav-item:nth-of-type(3) {
		padding-right: 1em;
	}
	.header-nav-link{
		font-size: 1.2em;
		padding: .5em;
	}
	.header-nav-item:last-child a{
		/* padding-right: 1em; */
	}

	/* Menu item [hidden] underline */
	.header-nav-link:after{
		content:"";
		position: absolute;
		bottom:0;
		left:0;
		width:100%;
		height:2px;
		background-color:#ff5e00;
		transition:.3s;
		transform: translateX(-110%);
	}
	/* Language link should NOT have underline */
	.header-nav-link-lang:after{
		display:none;
	}
	/* On nav-block:hover, ONLY the hovered element should be underlined */
	.header-nav-items-block:hover .header-nav-link:after{
		transform: translateX(-110%);
	}
	/* Active or hovered menu item underline */
	.page-servicos .header-nav-link-servicos:after,
	.page-equipe .header-nav-link-equipe:after,
	.page-contato .header-nav-link-contato:after,
	.header-nav-items-block .header-nav-link:hover:after{
		transform:translateX(0);
	}
}

/*
** MAIN *************************
*/
.main{
	padding: 0 1em;
	max-width: 80em;
	margin: auto;
}
.page-404 h1{
	padding: 5em 0;
}

/*
** SERVICOS *************************
*/
.page-servicos .main{
	max-width: 100%;
}
.servicos-text{
	line-height:1.8em;
	padding: 1em 0 3em;
	border-top:1px solid #aaa;
	max-width: 30em;
	margin:auto;
}
.servicos-final-text{
	font-size: 1.2em;
	text-align: center;
	color:#555;
	padding: 2em 1em 0em;
	max-width: 20em;
	border: none;
}
.servicos-final-text a{
	color:#006add;
}
.servicos-card{
	margin: 0 auto 2em;
	max-width: 30em;
}
.servicos-card-img{
	display:block;
	width: 7em;
	height: auto;
	margin: auto;
}
.servicos-card-title{
	font-size:1em;
	font-family: "Montserrat Bold", sans-serif;
	margin: 1em 0 .5em;
	margin: 1em 0 1em;
}
.servicos-card-subtitle{
	margin: .5em 0 1em;
}
.servicos-card-list{
	padding:0 1em;
	line-height: 1.5em;
}
@media (min-width: 750px){
	.servicos-text{
		max-width: 100%;
		max-width: 60em;
		padding: 1em 1em 3em;
	}
	.servicos-cards-wrap{
		display:flex;
		flex-wrap:wrap;
		justify-content: center;
		max-width: 130em;
		margin: auto;
	}
	.servicos-card{
		flex: 1 1 49%;
		margin: .5% .5% 2em;
		padding: 0 1em 1em;
	}
}
@media (min-width: 950px){
	.servicos-card-img{
		width: 5em;
		float: left;
		transform: translateY(-0.5em);
	}
	.servicos-card-title{
		margin: 0 0 .5em 6em;
	}
	.servicos-card-subtitle{
		margin: 0 0 1em 6em;
	}
	.servicos-card-list{
		margin-left: 6em;
	}
}
@media (min-width: 1250px){
	.servicos-text,
	.servicos-card{
		font-size:1.2em;
	}
}

/*
** EQUIPE *************************
*/
.page-equipe .main{
	max-width: 30em;
}
.equipe-card{
	padding-bottom:2em;
	position: relative;
	line-height: 1.5em;
	padding-top: 2em;
	border-top: 1px solid #aaa;
}
.equipe-card-img{
	max-width:100%;
	width: 100%;
	height: auto;
	max-width: 20em;
	max-width: 11em;
	margin: auto;
	display: block;
}
.equipe-card-title{
	padding: 1em 0;
	font-size: 1.1em;
	font-family: "Montserrat Bold", sans-serif;
}
.equipe-card-title small{
	font-size:1em;
	font-weight:100;
	font-family: "Montserrat Regular", sans-serif;
}
.equipe-card-info{
	line-height:1.8
}
.equipe-card-info p{
	margin-bottom: .5em;
}
.equipe-card-linkedin{
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 95%;
	width: 5em;
	margin-top: .5em;
	padding-top: 1.6em;
}
@media (min-width: 750px){
	.page-equipe .main{
		max-width: 45em;
	}
	.equipe-card{
		padding-bottom: 3em;
		padding-left: 11em;
	}
	.equipe-card-img{
		position: absolute;
		top: 2em;
		left: 0;
		max-width: 10em;
	}
	.equipe-card-title{
		padding-top:0;
		font-size: 1.2em;
	}
}
@media (min-width: 1250px){
	.page-equipe .main{
		max-width: 60em;
	}
	.equipe-card{
		font-size:1.2em;
	}
}

/*
** CONTATO *************************
*/
.page-contato .main {
}
.page-contato h1{
	border-bottom: 1px solid #aaa;
	margin:auto;
}
.page-contato .main-text {
	line-height: 1.5em;
	max-width: 40em;
	margin: 2em auto;
}
.page-contato .main-subtitle {
	padding-bottom: 0.5em;
}
.dmak-contact-map{
	padding: 2em 0 5em;
	width: 100%;
}
@media (min-width: 1250px){
	.page-contato .main-text {
		float: right;
		width: 49%;
	}
	.page-contato .form-wrap{
		float:left;
	}
	.dmak-contact-map{
		width: 49%;
		float: right;
		padding: 0 0 6em;
		height: 525px;
	}
}

/*
** PRIVACY *************************
*/
.page-privacy h1 ~ *{
	line-height:1.5em
}
.page-privacy .main{
	padding-bottom:2em;
}
.page-privacy h2{
	padding:1.3em 0 0;
}
.page-privacy h3{
	padding:1.3em 0 0;
}
.page-privacy p{
	padding:.5em 0 0;
}
.page-privacy .main a{
	color: #014ea0;
}

/*
** FOOTER *************************
*/
.footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #ccc;
	color: #222;
	padding: 3.5em .5em 3.5em;
	text-align: center;
}
.footer-link{
	color: #014ea0;
}
.footer-text{
	margin-bottom: .5em;
}
.footer-social-icon{
	display: inline-block;
	background-size: 4.5em;
	background-position: center;
	background-repeat: no-repeat;
	padding: 1.5em;
}
