*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-family: ITCAvantGardeStd, Poppins, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 16px;
	background: white;
}
input, button, select, textarea {
	font-family: ITCAvantGardeStd, Poppins, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 1em;
}

html, body, #root { min-height: 100vh; }

.hide-all {display: none;}

.page-cloak {
	visibility: hidden;
	/* algumas coisas não podem ser display:none porque
	 * precisam calcular posições e tamanhos dos elementos
	 */
}

.page-width {
	margin: 0 auto;
	width: 84.375vw;
	max-width: 1134px;
	/* width: 84.375%; /*81.25%*/
	/* = 27 / 32 * 100 */
}
.page-width-50 {
	width: 42.1875vw;
	max-width: 567px;
}

.text-pink { color: #ED174D; }
.text-azul2 { color: #0080C7; }
.text-verde { color: #0DB14B; }
.text-cobre { color: #f04e23; }

.lego-row {
	display: flex;
	align-items: stretch;
}
.lego-row-mobile {
	flex: 1 1 auto;
	display: flex;
	align-items: stretch;
}
.lego-cap-desktop {
	flex: 1 0 0;
}
.lego-cap-mobile {
	width: 0;
	flex: 0 0 0;
}
.lego-brick {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.lego-brick > a {
	flex: 1 1 auto;
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.lego-brick a {
	text-decoration: none;
}
.lego-desk4,
.lego-row-desk4 .lego-brick {
	/* 1w = 0.875h */
	width: 21.875vw;
	height: 19.140625vw;
	max-width: 283.5px;
	max-height: 248.0625px;
}
.lego-desk3,
.lego-row-desk3 .lego-brick {
	/* 1w = 0.875h */
	width: 29.6875vw;
	height: 25.9765625vw;
	max-width: 378px;
	max-height: 330.75px; /* 0.875x */
}
.lego-desk3 .lego-icon,
.lego-row-desk3 .lego-brick .lego-icon {
	width: 12.88vw;
	height: 12.88vw;
	max-width: 164px;
	max-height: 164px;
}
.lego-text-big {
	font-size: 4.5vw;
	font-weight: 600;
}
.lego-text {
	font-size: 1.7vw;
}
.lego-icon {
	display: flex;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.lego-icon img {
	max-height: 100%;
}
.lego-icon-label {
	margin: 0.75em 0 1.25em;
	font-size: 1.5em;
	text-transform: uppercase;
}
.lego-icon-more {
	font-size: 1.05em;
	font-weight: 400;
	text-decoration: underline;
}
@media (min-width: 1134px) {
	.lego-text-big {
		font-size: 3.6rem;
	}
	.lego-text {
		font-size: 1.4rem;
	}
}
@media (max-width: 768px) {
	.lego-row-mobile .lego-brick {
		/* 1w = 0.875h */
		width: 43.75vw;
		height: 38.28125vw;
		max-width: unset;
		max-height: unset;
	}
	.lego-row-mobile .lego-brick .lego-icon {
		width: 19.140625vw;
		height: 19.140625vw;
		max-width: unset;
		max-height: unset;
	}
	.lego-row-mobile .lego-brick .lego-icon img {
		max-width: 100%;
	}
	.lego-icon-label {
		margin: 0.25em 0 0.75em;
		font-size: 0.8em;
	}
	.lego-icon-more {
		font-size: 0.8em;
	}
}

.color-mostarda   { color: #fcb316; }
.color-verde      { color: #0db14b; }
.color-azul       { color: #0080c7; }
.color-pink       { color: #ed174d; }
.color-cobre      { color: #f04e23; }
.color-marcatexto { color: #bfd730; }
.color-marinho    { color: #2e3192; }

.bg-mostarda   { color: #fff; background: #fcb316; }
.bg-verde      { color: #fff; background: #0db14b; }
.bg-azul       { color: #fff; background: #00aeef; }
.bg-pink       { color: #fff; background: #ed174d; }
.bg-cobre      { color: #fff; background: #f04e23; }
.bg-marcatexto { color: #fff; background: #bfd730; }
.bg-marinho    { color: #fff; background: #2E3192; }
.bg-mostarda a   { color: #fff; }
.bg-verde a      { color: #fff; }
.bg-azul a       { color: #fff; }
.bg-pink a       { color: #fff; }
.bg-cobre a      { color: #fff; }
.bg-marcatexto a { color: #fff; }
.bg-marinho a    { color: #fff; }

.bg-over {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: .5s opacity;
}
.bg-over:hover,
.bg-hover:hover .bg-over {
	opacity: 1;
}
.bg-verde.bg-over {
	background: transparent linear-gradient(90deg,
		#0DB14B 0%,
		#009F3C 100%
	) 0% 0% no-repeat padding-box;
}
.bg-azul.bg-over {
	background: transparent linear-gradient(90deg,
		#00AEEF 0%,
		#0089D5 100%
	) 0% 0% no-repeat padding-box;
}
.bg-pink.bg-over {
	background: transparent linear-gradient(90deg,
		#ED174D 0%,
		#D10035 100%
	) 0% 0% no-repeat padding-box;
}
.bg-cobre.bg-over {
	background: transparent linear-gradient(90deg,
		#F04E23 0%,
		#E32F00 100%
	) 0% 0% no-repeat padding-box;
}
.bg-marcatexto.bg-over {
	background: transparent linear-gradient(90deg,
		#BFD730 0%,
		#AECB00 100%
	) 0% 0% no-repeat padding-box;
}


.case-presentation {
	display: flex;
	align-items: center;
	padding: 2em 0;
}
.case-presentation.cases-img-dir {
	flex-direction: row-reverse;
}
.case-presentation .cases-image-wrap {
	position: relative;
	flex: 1 9 auto;
	text-align: center;
	overflow: hidden;
}
.case-presentation .cases-image {
	position: relative;
	max-width: 100%;
}
.case-presentation.cases-img-esq .cases-image-bg {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: auto;
}
.case-presentation.cases-img-dir .cases-image-bg {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: auto;
}
.case-presentation .cases-page {
	flex: 2 1 500px;
	padding: 0;
	line-height: 1.5em;
	color: #464646;
}
.case-presentation .cases-item:nth-child(1) .cases-page {
	padding: 2em 5.2em;
}
.case-presentation .cases-page .cases-link-parent {
	margin: 0 0 2em;
}
.case-presentation .cases-page .cases-link-parent a {
	color: inherit;
}
.case-presentation .cases-page .cases-nome-produto {
	font-size: 1.5em;
	margin: 0 0 2em;
}
.case-presentation .cases-page-title {
	margin: 0 0 0.25em;
	font-size: 3.5em;
	font-weight: 600;
	line-height: 1;
}
.case-presentation .cases-page h2,
.case-presentation .cases-page h4 {
	margin: 0 0 1em;
}
.case-presentation .cases-page h3 {
	margin: 0 0 0.5em;
	font-size: 2em;
	font-weight: 600;
	text-transform: uppercase;
}
.case-presentation .cases-page p {
	margin: 0 0 1em;
	max-width: 450px;
}
.case-presentation .cases-p-full p {
	max-width: none;
}
.case-presentation .cases-page ol,
.case-presentation .cases-page ul {
	margin: 0 0 0 1em;
	max-width: 520px;
}
.case-presentation .cases-page ol li,
.case-presentation .cases-page ul li {
	margin: 0 0 0.5em;
	padding: 0 0 0 0.5em;
}
.cases-align-top {
	align-items: flex-start;
}

.cases-container-inside {
}
.cases-container-inside .cases-image-wrap,
.cases-container-inside .cases-page {
	display: flex;
}
.cases-container-inside.cases-img-esq .cases-image-wrap {
	justify-content: flex-end;
}
.cases-container-inside.cases-img-esq .cases-page {
	justify-content: flex-start;
}
.cases-container-inside.cases-img-dir .cases-image-wrap {
	justify-content: flex-start;
}
.cases-container-inside.cases-img-dir .cases-page {
	justify-content: flex-end;
}
.cases-container-inside.cases-img-esq .cases-image-container {
}
.cases-container-50-50 .cases-image-wrap,
.cases-container-50-50 .cases-page {
	flex: 1 1 50%;
}
.cases-container-50-50 .cases-image-container,
.cases-container-50-50 .cases-page-container {
	width: 100%;
	max-width: 583px;
}
.cases-container-50-50 .cases-page-container {
	padding-left: 16px;
	padding-right: 16px;
}
.cases-container-50-50.cases-img-esq .cases-image-container {
	padding-left: 16px;
}
.cases-container-50-50.cases-img-dir .cases-image-container {
	padding-right: 16px;
}

.cases-link-ext {
	color: inherit;
	text-decoration: underline;
}

@media (max-width: 768px) {
	.case-presentation,
	.case-presentation.cases-img-esq,
	.case-presentation.cases-img-dir {
		flex-direction: column-reverse;
	}
	.cases-container-inside,
	.cases-container-inside.cases-img-esq,
	.cases-container-inside.cases-img-dir {
		flex-direction: column;
		align-items: stretch;
	}
	.cases-container-inside.cases-img-esq .cases-image-wrap,
	.cases-container-inside.cases-img-dir .cases-image-wrap {
		justify-content: center;
		margin: 0 0 2em;
	}
	.cases-container-inside.cases-img-esq .cases-page {
		justify-content: flex-start;
	}
	.cases-container-inside.cases-img-dir .cases-page {
		justify-content: flex-end;
	}
	.cases-container-inside .cases-page-container,
	.cases-container-inside.cases-img-esq .cases-image-container,
	.cases-container-inside.cases-img-dir .cases-image-container {
		padding-left: 6.25%;
		padding-right: 6.25%;
		max-width: unset;
	}
	.case-presentation .cases-page {
		flex: 0 0 auto;
		margin: 0 0 4em;
	}
	.case-presentation .cases-link-parent {
		margin: 0 0 2.5em;
		font-size: 12px;
	}
	.case-presentation .cases-page-title {
		font-size: 2.25em;
	}
	.case-presentation h2 {
		margin: 0 0 1em;
		font-size: 1.75em;
		font-weight: 600;
		line-height: 1.5em;
	}
	.case-presentation.cases-img-esq .cases-image-bg {
		right: 50% !important;
		transform: translateX(+50%);
	}
	.case-presentation.cases-img-dir .cases-image-bg {
		left: 50% !important;
		transform: translateX(-50%);
	}
	.case-presentation .cases-link-ext-block {
		text-align: center;
	}
}
@media (max-width: 576px) {
	.case-presentation .cases-page h1 {
		font-size: 2.5em;
	}
}
@media (max-width: 400px) {
	.case-presentation .cases-page h1 {
		font-size: 2em;
	}
}

.case-image-display {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
	align-items: center;
}
.case-image-display.case-id-mw800 {
	margin: 0 auto;
	max-width: 800px;
}
.case-image-display.case-id-cols-2 > * {
	max-width: 42vw;
}
.case-image-display.case-id-cols-2 > *:not(img) {
	width: 50%;
	text-align: center;
}
.case-image-display.case-id-cols-3 > * {
	max-width: 33vw;
}
.case-image-display > *:not(img) > img {
	max-width: 100%;
}

@media (max-width: 768px) {
	.case-image-display.case-id-cols-2 > *,
	.case-image-display.case-id-cols-3 > * {
		max-width: 90vw;
	}
	.case-image-display.case-id-cols-2 > *:not(img) {
		width: 100%;
	}
}

.case-features-cards {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	list-style: none;
}
.case-features-cards > li {
	flex: 0 1 25%;
	text-align: center;
}
.case-features-cards > li p {
	padding: 0 10%;
}

.ultra-brightness {
	filter: brightness(100);
}

#zap {
	position: fixed;
	bottom: 0vw;
	right: 0vw;
}

#zap:hover {
	animation-name: trim-trim;
	animation-duration: 1s;
	animation-iteration-count: 4;
	animation-timing-function: linear;
}

@keyframes trim-trim {
  0% {margin-left: 0;}
  25% {margin-left: 5px;}
  50% {margin-left: 0;}
  75% {margin-left: -5px;}
  100% {margin-left: 0;}
}

#zap a img {
	width: 12vw;
}

@media (max-width: 768px) {
	.case-features-cards > li p {
		padding: 0 5%;
	}
	#zap a img {
		width: 35vw;
	}
	#zap {
		position: fixed;
		bottom: -2vw;
		right: -5vw;
	}
}
@media (max-width: 596px) {
	.case-features-cards > li {
		width: 100%;
		max-width: 300px;
	}
}
@media (min-width: 1025px) {
	.hide-over-1024 {display: none;}
}
@media (max-width: 1024px) {
	.hide-under-1024 {display: none;}
	.page-width {
		width: 93.75vw;
	}
	.page-width-50 {
		width: 46.875vw;
	}
}
@media (min-width: 769px) {
	.hide-over-768 {display: none;}
}
@media (max-width: 768px) {
	.hide-under-768 {display: none;}
	.page-width {
		width: 87.5vw;
	}
	.page-width-50 {
		width: 43.75vw;
	}
	.lego-row {
		flex-direction: column;
	}
	.lego-cap-desktop {
		width: 0;
		flex: 0 0 0;
	}
	.lego-cap-mobile {
		flex: 1 0 0;
	}
	.lego-brick {
		width: 43.75vw;
		height: 38.28125vw;
		max-width: unset;
		max-height: unset;
	}
	.lego-text-big {
		font-size: 10vw;
	}
	.lego-text {
		font-size: 3.5vw;
	}
}

/* @media (min-aspect-ratio: 1/1) {
	html { background: darkgreen; }
}
@media (max-aspect-ratio: 1/1) {
	html { background: darkred; }
} */
