/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/**** ----
CSS BASE FILE :: FOLLOWING THE ATOMIC DESIGN PRINCIPLES
theme name: TERASTUDIO MMXXIII
Author: TERASTUDIO team
Author URI: https://terastudio.pt/
Description: Responsive Wordpress theme, developed for your needs.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
developed for: [nome de cliente]
---- ****/

/*** --- ROOT ELEMENTS --- ***/
:root {
  --clr-dark: hsl(345, 6%, 13%);
  --clr-grey: hsl(0, 0%, 44%);
  --clr-mustard: hsl(48, 77%, 71%);
  --clr-blue: hsl(191, 34%, 48%);
  --clr-main: var(--clr-mustard);
  --clr-accent: var(--clr-mustard);
  --f-main: "Tomorrow", "Arial", sans-serif;
  --f-title: "Orbitron", "Arial", sans-serif;
  --f-bs-icons: "bootstrap-icons";

  --z-index--base: 333;
  --z-index--mid: 666;
  --z-index--top: 999;

  accent-color: var(--clr-accent);
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}
*,
*::before,
*::after {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body {
  background-color: var(--clr-dark);
  color: white;
  --sq-height: 74px;
  --max-width: calc(18 * var(--sq-height));
  font-size: 1em;
  font-family: var(--f-main);
  scroll-behavior: smooth;
  min-width: 320px;
}

/* - SCROLLBAR - */
/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: var(--clr-grey);
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--clr-mustard);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: hsl(48, 57%, 51%);
}
/* - end SCROLLBAR - */
.clr-block {
  background-color: var(--clr-main);
  color: var(--clr-dark);
  accent-color: var(--clr-dark);
}
/*** --- end ROOT ELEMENTS --- ***/

/*** --- ATOMS --- ***/
/*** --- Atoms are the basic building blocks of matter. Applied to web interfaces, atoms are our HTML tags, such as a form label, an input or a button. --- ***/

/** -- TYPOGRAPHY -- **/
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 1em;
  margin-bottom: 0.5em;
}
h1,
h4,
h5,
h6 {
  font-family: var(--f-title);
}
h1 {
  min-height: var(--sq-height);
  display: inline-block;
  font-size: 3.125em;
  font-weight: 400;
  line-height: var(--sq-height);
  color: var(--clr-dark);
  background-color: var(--clr-main);
  margin: 0;
  margin-bottom: var(--sq-height);
  text-align: center;
  width: 100%;
}
h2,
h3 {
  text-transform: uppercase;
}
h2 {
  font-size: 2.5em;
  font-weight: 500;
  color: var(--clr-main);
}
h3 {
  font-size: 1.875em;
  font-weight: 400;
}

p {
  width: 100%;
  /* max-width: 33em; */
}
.small,
small {
  font-size: 80%;
}
.lead {
  font-size: 1.25em;
}
.accent {
  color: var(--clr-accent);
}
.white-txt {
  color: white;
}

.screen-readers-only {
  display: none;
}
/** -- end TYPOGRAPHY -- **/

/** -- FORMS -- **/
input,
textarea {
  width: 100%;
}
input:not([type="checkbox"], [type="radio"]),
textarea {
  display: block;
  padding: 1.25rem;
  border-radius: 0;
}
input:not([type="checkbox"], [type="radio"], [type="color"], [type="file"]),
textarea {
  border: 1px solid var(--clr-main);
}
input:where([type="submit"], [type="reset"]) {
  text-transform: uppercase;
}
input[type="submit"] {
  background-color: var(--clr-main);
  color: var(--clr-dark);
}
input[disabled] {
  opacity: 0.6;
}
input:focus-visible,
textarea:focus-visible {
  border: 1px solid black;
  outline: 0;
}
::-webkit-input-placeholder {
  font-size: 1.25rem;
  color: var(--clr-grey);
}
::-moz-placeholder {
  font-size: 1.25rem;
  color: var(--clr-grey);
}
:-ms-input-placeholder {
  font-size: 1.25rem;
  color: var(--clr-grey);
}
::-ms-input-placeholder {
  font-size: 1.25rem;
  color: var(--clr-grey);
}
::placeholder {
  font-size: 1.25rem;
  color: var(--clr-grey);
}
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.clr-block input[type="submit"] {
  background-color: var(--clr-dark);
  color: var(--clr-main);
  border-color: var(--clr-dark);
}
.clr-block input[type="submit"]:hover {
  background-color: var(--clr-main);
  color: var(--clr-dark);
}
.wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
  display: block;
  margin-top: 1em;
}
/** -- end FORMS -- **/

a {
  color: white;
}
.clr-block a {
  color: var(--clr-dark);
}

a:hover,
a:focus {
  color: white;
}

.btn-link,
.cta-link {
  text-transform: uppercase;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 1.25em;
}

.btn-link {
  border: 1px solid var(--clr-main);
  background-color: var(--clr-main);
  color: var(--clr-dark);
  text-align: center;
  font-weight: 600;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.btn-link:visited {
}
.btn-link:hover,
.btn-link:focus {
  color: var(--clr-main);
  background-color: var(--clr-dark);
}
.btn-link:active {
}

.cta-link {
  gap: 1.25rem;
}

.btn-link::after,
.cta-link::after {
  content: "\F138";
  font-family: var(--f-bs-icons);
  bottom: 0;
  width: auto;
  height: 100%;
  background: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn-link.dark {
  background-color: var(--clr-dark);
  color: white;
  border-color: var(--clr-dark);
}
.perma_link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

img {
  width: 100%;
  height: auto;
}
.blue-filter::after,
.project-slider .item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--clr-blue);
  opacity: 0.35;
  mix-blend-mode: color;
}
.custom-logo-link {
  display: inline-block;
  width: 100%;
}
.custom-logo {
  max-width: 240px;
}
figure {
  margin: 0;
}
/** -- OTHER ELEMENTS -- **/
hr {
}

#page-top {
  padding: 0;
  margin: 0;
  scroll-margin: var(--header-height);
}
/** -- end OTHER ELEMENTS -- **/
/*** --- end ATOMS --- ***/

/*** --- MOLECULES --- ***/
/*** --- Molecules are groups of atoms bonded together and are the smallest fundamental units of a compound. --- ***/
hgroup {
}

.text-block p:last-child {
  margin-bottom: 0;
}
/** -- LISTS -- **/
nav ul,
.sq-bull {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sq-bull li {
  padding-left: 2rem;
}
.sq-bull li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--clr-main);
}
/** -- end LISTS -- **/

/** -- MENU -- **/
nav a {
  text-decoration: none;
}
.category-nav {
  margin-inline: -1.25rem;
}
.category-nav ol {
  list-style: none;
  padding: 0;
  border-bottom: 1px solid var(--clr-grey);
  counter-reset: count;
  margin-bottom: var(--sq-height);
}
.category-nav ol li {
  border-top: 1px solid var(--clr-grey);
  font-size: 1.25em;
  font-weight: 600;
  text-transform: uppercase;
  counter-increment: count;
}
.category-nav ol li a {
  display: inline-block;
  padding: 2rem;
  width: 100%;
  height: 100%;
}
.category-nav a.active,
.category-nav a:hover {
  background-color: var(--clr-main);
  color: var(--clr-dark);
}
.category-nav a::before {
  content: counter(count) ".";
  color: var(--clr-main);
  margin-right: 0.5rem;
}
.category-nav a.active::before,
.category-nav a:hover::before {
  color: var(--clr-dark);
}
.category-nav ol li:nth-child(-n + 10) a::before {
  content: "0" counter(count) ".";
}
/** -- end MENU -- **/

/** -- BREADCRUMBS -- **/
nav.breadcrumbs ul {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4em;
  color: var(--color-accent);
}
nav.breadcrumbs li:not(:first-child)::before {
  content: "- ";
}
nav.breadcrumbs li:last-child,
nav.breadcrumbs li:last-child * {
  color: var(--clr-main);
}
/** -- end BREADCRUMBS -- **/

/** -- TEASER BANNER -- **/
#teaser_banner {
  margin-block: var(--sq-height);
  text-align: center;
  font-size: 2.5em;
  text-transform: uppercase;
  font-weight: 500;
}
/** -- end TEASER BANNER -- **/

/** -- PROJECT META -- **/
.project-meta {
  --bs-gutter-x: 0;
  gap: 1rem;
  margin-top: 2rem;
}
/** -- BACK TO TOP -- **/
#btt-block {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  opacity: 0;
  z-index: var(--z-index--mid);
  -webkit-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
#btt-block button {
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--clr-main);
  background-color: var(--clr-main);
}
#btt-block button,
#btt-block button i {
  color: var(--clr-dark);
  -webkit-transition: color 700ms ease-out;
  -o-transition: color 700ms ease-out;
  transition: color 700ms ease-out;
}
#btt-block button:hover,
#btt-block button:focus {
  background-color: var(--clr-dark);
}
#btt-block button:hover,
#btt-block button:hover i,
#btt-block button:focus,
#btt-block button:focus i {
  color: var(--clr-main);
}
#btt-block:where(.show, .bottom) {
  opacity: 1;
}
#btt-block.bottom {
  bottom: var(--bottom);
  -webkit-transform: translateY(50%);
      -ms-transform: translateY(50%);
          transform: translateY(50%);
}
#btt-block span {
  font-size: 0;
  margin: 0;
  padding: 0;
}
/** -- end BACK TO TOP -- **/
/*** --- end MOLECULES --- ***/

/*** --- ORGANISMS --- ***/
/*** --- Organisms are groups of molecules joined together to form a relatively complex, distinct section of an interface. --- ***/

/** -- HEADER -- **/
header {
  position: sticky;
  top: 0;
  z-index: var(--z-index--top);
  background-color: var(--clr-dark);
}
/* - logo block - */
.logo-block {
  padding: 1rem;
}
/* -- lang block -- */
#lang-block {
  min-height: var(--sq-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-block: 1px solid var(--clr-grey);
}
.wpml-ls-current-language a {
  color: var(--clr-main);
}
/* -- end lang block -- */

button.toggle {
  z-index: var(--z-index--top);
  border: 0;
  background: none;
  width: 36px;
  height: 36px;
  position: fixed;
  right: 1.25rem;
  top: calc(45px - (23px / 2));
}
.toggle::before,
.toggle::after {
  content: "";
}
.toggle::before,
.toggle span,
.toggle::after {
  display: block;
  height: 2px;
  background: var(--clr-main);
  width: 100%;
  border-radius: 100px;
  -webkit-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
.toggle span {
  font-size: 0;
  /* margin-block: 6px; */
}
.toggle::before {
  bottom: 7px;
}
.toggle::after {
  top: 7px;
}
button.toggle.active span {
  height: 0;
}
.toggle.active::before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
          transform-origin: left top;
}
.toggle.active::after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
          transform-origin: left bottom;
}
nav#header-nav {
  position: fixed;
  width: 100%;
  height: 0;
  background-color: var(--clr-main);
  z-index: 999;
  -webkit-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
  overflow-y: auto;
}
nav#header-nav.open {
  height: 100%;
  max-height: calc(100% - var(--header-height));
}
#menu-header {
  padding-top: var(--sq-height);
  padding-bottom: 0;
  background-image: url(assets/images/bg-grey.svg);
  background-size: var(--sq-height);
  background-position: center top;
  min-height: 100%;
}
#menu-header li {
  min-height: var(--sq-height);
  width: 100%;
  max-width: calc((5 * var(--sq-height)) + 2rem);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--f-title);
  font-size: 3.125em;
  line-height: var(--sq-height);
  color: var(--clr-dark);
}
#menu-header li a {
  color: var(--clr-dark);
  display: block;
  width: 100%;
  height: 100%;
  padding-inline: 2rem;
}
#menu-header li:last-child {
  max-width: calc(5 * var(--sq-height));
  background-color: var(--clr-main);
  border: 1px solid var(--clr-grey);
  margin-top: calc(var(--sq-height) - 1.5px);
  height: calc(var(--sq-height) - 2px);
  top: 2px;
}
#menu-header li:last-child a {
  font-size: 1.25rem;
  font-family: var(--f-main);
  font-weight: 600;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}
#menu-header li:last-child a::after {
  content: "\F138";
  font-family: var(--f-bs-icons);
}

#menu-header li:hover,
#menu-header li:focus {
  background-color: var(--clr-dark);
}
#menu-header li:hover a,
#menu-header li:focus a {
  color: var(--clr-main);
}

/** -- end HEADER -- **/

/** -- MAIN -- **/
/* main {
  margin-block: var(--sq-height);
} */
#intro-banner {
  background-image: url(assets/images/bg-grey.svg);
  background-size: var(--sq-height);
  background-position: center top;
  padding-top: var(--sq-height);
  padding-inline: 1.25rem;
}
#intro-banner .breadcrumbs {
  position: absolute;
  top: calc(var(--sq-height) / 2);
  margin-left: 0.75rem;
}
.post-grid > div {
  display: block;
}
.post-grid > div:not(.active) {
  display: none !important;
}
.post-grid h3 {
  font-size: 2.5em;
  font-weight: 500;
  margin-bottom: 1.25rem;
}
.post-grid .img-block {
  aspect-ratio: 1;
}
.post-grid .img-block img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
main > .main-content {
  padding-inline: 1.25rem;
  margin-block: var(--sq-height);
}
/** -- end MAIN -- **/

/** -- FOOTER -- **/
footer {
  margin-top: var(--sq-height);
  scroll-margin: calc(var(--header-height) + var(--sq-height));
}
footer h2 {
  font-family: var(--f-title);
  text-transform: none;
  color: white;
  font-weight: 400;
  font-size: 3.125em;
  text-align: center;
  margin-bottom: 1.875rem;
}
footer h3,
footer h4,
footer .h4 {
  font-family: var(--f-main);
  font-weight: 600;
  text-transform: uppercase;
}
footer h3 {
  font-size: 1.875em;
}
footer h3.wp-block-heading {
  border-block: 1px solid var(--clr-grey);
  min-height: var(--sq-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 1.25rem;
  margin-top: 0;
}

footer .widgets-block > div:first-child {
  width: 100%;
  max-width: 100%;
}
#form-toggle::after {
  rotate: 90deg;
  -webkit-transition: rotate 500ms ease-in-out;
  -o-transition: rotate 500ms ease-in-out;
  transition: rotate 500ms ease-in-out;
}
#form-toggle.active::after {
  rotate: -90deg;
  color: var(--clr-main);
}
#form-toggle.active {
  background-color: var(--clr-dark);
  color: var(--clr-main);
}
.form-block {
  position: absolute;
  width: 100%;
  max-height: 0;
  left: 0;
  top: var(--sq-height);
  z-index: var(--z-index--mid);
  overflow: hidden;
  -webkit-transition: max-height 500ms ease-in-out;
  -o-transition: max-height 500ms ease-in-out;
  transition: max-height 500ms ease-in-out;
  background-color: var(--clr-main);
}
.form-block.open {
  max-height: 1000px;
}
.form-block > div {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
.form-block.open > div {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
/*.form-block form {
  overflow: hidden;
}
.form-block form > div {
  height: 0;
  transition: all 500ms ease-in-out;
}
.form-block.open form > div{
  height: 100%;
} */
.form-block form {
  background-color: var(--clr-main);
  padding: 1.25rem;
  max-width: var(--max-width);
  margin-inline: auto;
}
#mapa {
  height: 480px;
  margin-bottom: calc(var(--sq-height) * -1);
}
#mapa > div {
  -webkit-filter: saturate(0.5);
          filter: saturate(0.5);
}
#mapa::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.widgets-block > div:not(:first-child) .wp-block-group.is-layout-constrained {
  padding-inline: 1.25rem;
  margin-top: 3.125rem;
}
.widgets-block
  > div:not(:first-child)
  .wp-block-group.is-layout-constrained:last-child {
  margin-bottom: 3.125rem;
}
footer h4,
footer .h4 {
  font-size: 1em;
  color: var(--clr-main);
}
footer .h4 span {
  text-transform: none;
}
#footer-top .btn-link {
  width: 100%;
  min-height: var(--sq-height);
}
#footer-info {
  padding: 3.125rem 1.25rem;
  border-top: 1px solid var(--clr-grey);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.25rem;
}
#footer-info a {
  text-decoration: none;
}
/** -- end FOOTER -- **/

/** -- OWL CAROUSEL -- **/
.owl-carousel.mc-carousel .owl-nav button.owl-next,
.owl-carousel.mc-carousel .owl-nav button.owl-prev {
  background-color: var(--clr-main);
  border: 1px solid var(--clr-main);
  color: var(--clr-dark);
  font-size: 2em;
  line-height: 1;
  padding: 0.5rem 1rem !important;
  min-height: var(--sq-height);
}
.owl-carousel.mc-carousel .owl-nav button.disabled {
  background-color: var(--clr-dark);
  border-color: var(--clr-grey);
  color: var(--clr-grey);
}
.owl-dots {
  counter-reset: dots;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  min-height: var(--sq-height);
}
.owl-dots button {
  counter-increment: dots;
}
.owl-dots button span::before {
  content: counter(dots);
  font-size: 1.25em;
}
.owl-dots button span:nth-child(-n + 10)::before {
  content: "0" counter(dots);
}
.owl-dots button.active span::before {
  font-weight: 600;
  color: var(--clr-main);
}
/*** --- end ORGANISMS --- ***/

/*** --- TEMPLATES --- ***/
/*** --- Templates consist mostly of groups of organisms stitched together to form pages. --- ***/
.page-template-page_plain main > .main-content {
  max-width: var(--max-width);
  margin-inline: auto;
  padding: var(--sq-height);
  padding-bottom: 0;
}
.page-template-page_plain .wrapper > h2:first-child {
  margin-top: 0;
}
/*** --- end TEMPLATES --- ***/

/*** --- PAGES --- ***/
/** -- HOME -- **/
.home main h2 {
  color: white;
  font-family: var(--f-title);
  text-transform: none;
  font-size: 50px;
  font-weight: 400;
  text-align: center;
  line-height: 1;
}
.home main h2 + p,
.home main .btn-link {
  margin-top: 2rem;
}
.home main h2 + ol {
  margin-top: var(--sq-height);
}

.home main h3,
.home main .h3 {
  font-size: 2.5em;
  font-weight: 500;
  color: var(--clr-main);
  text-transform: uppercase;
}
#hp-intro h2 {
  text-align: initial;
}
#hp-intro p {
  max-width: 100%;
}
.hp-intro-slider .item .img-block::after,
.products-grid .img-block::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--clr-blue);
  mix-blend-mode: color;
  opacity: 0.35;
}
.hp-intro-slider {
  margin-top: var(--sq-height);
}
.hp-intro-slider .owl-dots {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hp-intro-slider a.cta-link {
  margin-top: 3.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
/* - WHAT WE DO - */
#hp-services .owl-carousel .item {
  padding-bottom: var(--sq-height);
}
#hp-services .owl-carousel h3 {
  font-size: 30px;
  font-weight: 400;
  color: white;
}
#hp-services ol,
#hp-portfolio ol {
  list-style: none;
  padding: 0;
  margin-inline: -1.25rem;
  counter-reset: servicos;
  font-size: 1.25em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0;
}
#hp-services ol li,
#hp-portfolio ol li {
  border-top: 1px solid var(--clr-grey);
  counter-increment: servicos;
  padding-inline: 6rem;
  padding-block: 2rem;
}
#hp-services ol li::before,
#hp-portfolio ol li::before {
  content: "0" counter(servicos) ".";
  margin-right: 0.25rem;
  color: var(--clr-main);
}
#hp-services ol li:nth-child(n + 10)::before,
#hp-portfolio ol li:nth-child(n + 10)::before {
  content: counter(servicos) ".";
}
#hp-services .owl-item .img-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--clr-dark);
}
#hp-services .owl-item .img-block {
  background: var(--clr-dark);
}
#hp-services .owl-item .img-block img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  -webkit-filter: saturate(0);
          filter: saturate(0);
  opacity: 0.15;
  border: 0;
}
#hp-services .owl-carousel .text-block {
  padding: var(--sq-height) 1.25rem;
  max-width: calc(var(--max-width));
  margin-inline: auto;
}
#hp-services .owl-carousel .text-block h3 ~ p {
  display: none;
}
#hp-services .owl-carousel .btn-link {
  left: 1.25rem;
  margin: 0;
}
#hp-portfolio .text-block {
  position: absolute;
  bottom: var(--sq-height);
  left: calc(var(--sq-height) / 2);
}
#hp-portfolio h3 {
  color: white;
}
#hp-services ol + .btn-link,
#hp-portfolio ol + .btn-link {
  margin-top: 0;
  margin-inline: auto;
}
#hp-portfolio h3 + .btn-link {
  margin-top: 1.25rem;
}
#hp-portfolio .owl-nav {
  text-align: right;
}
/* - end WHAT WE DO - */
/* - PRODUCTS - */
#hp-products h2 {
  margin-bottom: 2rem;
}
#hp-products .cta-link {
  margin-top: 3.125rem;
}
.products-grid {
  margin-top: var(--sq-height);
}
.products-grid .img-block {
  overflow: hidden;
  aspect-ratio: 428 / 228;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--clr-dark);
}
.products-grid .img-block img {
  -webkit-transform: scale(2.5);
      -ms-transform: scale(2.5);
          transform: scale(2.5);
  opacity: 0.6;
}
.home .products-grid h3 {
  font-weight: 600;
  position: absolute;
  left: 0;
  bottom: 1.25rem;
  margin-bottom: 0;
  padding-inline: 1.25rem;
  color: white;
  font-size: 1.875em;
  width: 100%;
}
/* - end PRODUCTS - */

/* - PORTFOLIO  - */
#hp-portfolio .hp-slider .img-block::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--clr-main);
  mix-blend-mode: color;
}
#hp-portfolio .img-block {
  min-height: 400px;
  display: block;
  background: var(--clr-dark);
}
#hp-portfolio .img-block img {
  -webkit-filter: saturate(0);
          filter: saturate(0);
}
/* - end PORTFOLIO  - */
/** -- end HOME -- **/

/** -- WHO WE ARE -- **/
#page-who-we-are main > .main-content {
  margin-top: 0;
}
.skills-block .text-block {
  padding-bottom: calc(var(--sq-height) / 2);
}
.skills-block h2 {
  margin-top: calc(var(--sq-height) / 2);
  margin-bottom: 1.25rem;
}
.skills-block .text-block strong {
  color: var(--clr-main);
}
.skills-block p:last-child {
  margin-bottom: 0;
}
.skills-block .img-block {
  margin-inline: -1.25rem;
}
.skills-block > div:not(:first-child) .img-block img {
  margin-top: calc(var(--sq-height) / 2);
}

#stats-block {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  margin-top: calc(var(--sq-height) / 2);
}
#stats-block > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1em;
  border: 1px solid var(--clr-main);
  width: 100%;
  padding-block: 1rem;
  text-align: center;
  font-size: 1.25em;
  font-weight: 500;
  text-transform: uppercase;
}
#stats-block strong {
  font-family: var(--f-title);
  color: var(--clr-main);
  font-weight: 400;
  font-size: 2.5em;
  line-height: 1;
}
/** -- end WHO WE ARE -- **/

/** -- WHAT WE DO -- **/
#page-what-we-do main > .main-content {
  margin: 0;
  padding: 0;
}
#page-what-we-do .services-block .text-block li:first-child h3:first-of-type {
  margin-top: 0;
}
#page-what-we-do .services-block .row:last-child > div:last-child .text-block {
  padding-bottom: 0;
}
.services-block .title-block {
  background-image: url(assets/images/bg-grey.svg);
  background-size: var(--sq-height);
  background-position: center top;
  padding-bottom: var(--sq-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.services-block .ico-box {
  width: calc(var(--sq-height) * 3);
  height: calc(var(--sq-height) * 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ico-box.Consulting {
  max-height: calc(var(--sq-height) * 2);
}
.ico-box img {
  max-height: 75%;
  max-width: 75%;
}
.ico-box.Consulting img {
  max-width: 75px;
}
.services-block h2 {
  line-height: var(--sq-height);
  margin-block: 0;
}
.services-block h2:first-child {
  margin-top: var(--sq-height);
}
.services-block .text-block {
  padding: var(--sq-height) 1.25rem;
}
.services-block h3 {
  margin-bottom: 1.875rem;
}
.services-block .text-block li:last-child h3 {
  margin-bottom: 0;
}
.services-block .text-block li + li {
  margin-top: 3.75rem;
}
/** -- end WHAT WE DO -- **/

/** -- PRODUCT -- **/
article {
  margin-top: 3.125rem;
}
article .img-block {
  margin-inline: -1.25rem;
  aspect-ratio: 1;
  max-width: calc(var(--sq-height) * 8);
}
article .img-block img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
article h2 {
  margin-block: 1.563rem;
}
article span.btn-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 2rem;
}
article span.btn-link::after {
  position: relative;
  display: block;
  right: unset;
}
/** -- end PRODUCT -- **/

/** -- SINGLE PRODUCT -- **/
.single-product main > .main-content {
  padding: 0;
}
.single-product h1 {
  text-align: left;
  padding-inline: 1rem;
}
.single-product .main-content > div + div {
  margin-top: 3.125rem;
  padding-inline: 1.25rem;
}
.single-product .post-thumbnail {
  text-align: center;
  padding-inline: 0;
}
.single-product .post-thumbnail img {
  max-width: calc(18 * var(--sq-height));
}
.single-product h2 {
  margin-top: var(--sq-height);
}
.single-product h2:first-child {
  margin-top: 0;
}
.single-product .products-meta {
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem 2.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.single-product .products-meta a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.75rem;
}
.single-product .products-meta i {
  font-family: var(--f-bs-icons);
  color: var(--clr-main);
  font-size: 1.5em;
}

.related-projects-block {
  max-width: var(--max-width);
  margin-inline: auto;
}
.related-projects {
  font-size: 2em;
  text-transform: uppercase;
}
.related-projects li {
  border-bottom: 1px solid var(--clr-main);
  padding-block: 1.25rem;
  padding-right: 3rem;
}
.related-projects li::before {
  top: 2.25rem;
}
.related-projects a {
  text-decoration: none;
}
.related-projects li::after {
  content: "\F138";
  font-family: var(--f-bs-icons);
  position: absolute;
  right: 0;
  top: calc(50% - 24px);
}
/** -- end SINGLE PRODUCT -- **/

/** -- PORTFOLIO -- **/
#portfolio-nav {
  margin-inline: -1.25rem;
}
#page-projects .main-content {
  margin-top: 0;
}
#page-projects .main-content nav ol {
  list-style: none;
  padding: 0;
  border-bottom: 1px solid var(--clr-grey);
  counter-reset: count;
  margin-bottom: var(--sq-height);
}
#page-projects .main-content nav ol li {
  border-top: 1px solid var(--clr-grey);
  font-size: 1.25em;
  font-weight: 600;
  text-transform: uppercase;
  counter-increment: count;
}
#page-projects .main-content nav ol li a {
  display: inline-block;
  padding: 2rem;
  width: 100%;
  height: 100%;
}
#page-projects .main-content nav a::before {
  content: counter(count) ".";
  color: var(--clr-main);
  margin-right: 0.5rem;
}
#page-projects .main-content nav ol li:nth-child(-n + 10) a::before {
  content: "0" counter(count) ".";
}
#page-projects .main-content nav a.active,
#page-projects .main-content nav a:hover {
  background-color: var(--clr-main);
  color: var(--clr-dark);
}
#page-projects .main-content nav a.active::before,
#page-projects .main-content nav a:hover::before {
  color: var(--clr-dark);
}
.project-grid > div {
  display: block;
}
.project-grid > div:not(.active) {
  display: none !important;
}
.project-grid h3 {
  font-size: 2.5em;
  font-weight: 500;
  margin-bottom: 1.25rem;
}
/** -- end PORTFOLIO -- **/

/** -- SINGLE PROJECT -- **/
.single-project main > .main-content {
  padding-inline: 0;
  margin-top: 0;
}
.single-project .project-meta {
  position: absolute;
  width: 100%;
  left: 0;
  top: calc((var(--sq-height) / 2) * -1);
  margin-top: 0;
}
.single-project .project-meta > div {
  max-width: var(--max-width);
  margin-inline: auto;
}
.single-project main > .main-content > div:not(.project-slider) {
  padding-inline: 1.25rem;
}
.single-project .main-content > div:not(.project-meta) {
  max-width: var(--max-width);
  margin-inline: auto;
}
.project-slider .owl-nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  float: right;
}
.project-slider .owl-dots {
  float: left;
  margin-left: 1.25rem;
}
.project-slider + div {
  clear: both;
}
.share-block {
  text-align: center;
  margin-top: var(--sq-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
/** -- end SINGLE PROJECT -- **/

/*** --- end PAGES --- ***/

/*** --- MEDIA QUERIES --- ***/
/*** --- According to Bootstrap breakpoints --- ***/

/** -- EXTRA SMALL -- **/
@media screen and (max-width: 575px) {
}
/** -- end EXTRA SMALL -- **/

/** -- SMALL -- **/
@media screen and (min-width: 576px) {
  /* - HOMEPAGE - */
  .products-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .products-grid .img-block {
    aspect-ratio: 1;
  }
}
@media screen and (max-width: 767px) {
  /* - HOMEPAGE - */
  #hp-services .hp-slider,
  #hp-portfolio .col-lg-6 {
    display: none;
  }
  /* - end HOMEPAGE - */
}
/** -- end SMALL -- **/

/** -- MEDIUM -- **/
@media screen and (min-width: 768px) {
  #lang-block {
    position: absolute;
    top: 0;
    right: calc(35px + 2rem + 1.25rem);
    height: 90px;
    border: 0;
  }
  #menu-header,
  #intro-banner,
  #hp-intro,
  .skills-block,
  .services-block,
  .products-block,
  .single-project main > .main-content::before {
    background-image: url("assets/images/bg-grey-double.svg");
    background-size: calc(var(--sq-height) * 2) var(--sq-height);
    background-position: top center;
  }
  #menu-header li {
    max-width: calc(6 * var(--sq-height)) !important;
  }
  #menu-header li:last-child a {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .category-nav,
  .post-grid {
    margin-inline: auto;
  }
  .category-nav ol {
    margin-inline: auto;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 0;
  }
  .category-nav ol li {
    border: 1px solid var(--clr-grey);
    text-align: center;
  }
  .category-nav ol li,
  .post-grid > div {
    width: calc(var(--sq-height) * 4);
  }
  .post-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
  .post-grid > div {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .post-grid > div:not(:nth-of-type(4n)) {
    border-right: 1px solid var(--clr-grey);
  }
  .post-grid h3 {
    padding-inline: 1.25rem;
    margin-bottom: 1.25rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  main > .main-content {
    margin-top: 0;
  }
  /* - FOOTER - */
  footer {
    margin-top: calc(var(--sq-height) * 2);
  }
  footer .widgets-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  footer .widgets-block > div {
    width: 50%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  footer .widgets-block > div:nth-of-type(3n) {
    border-left: 1px solid grey;
  }
  footer .widgets-block h3 {
    margin-top: 0;
  }
  body:not(#page-homepage) #footer-top h2 {
    display: none;
  }
  body:not(#page-homepage) #mapa {
    height: 0;
    overflow: hidden;
  }
  body:not(#page-homepage) footer .widgets-block > div:first-child {
    bottom: var(--sq-height);
  }
  .form-block form div:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .form-block form div:nth-child(2) > div {
    width: 50%;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
  }
  .form-block textarea {
    margin-top: 1em;
  }
  .form-block form div:nth-child(2) > div:last-child {
    width: 100%;
  }
  #footer-top #mapa {
    border-bottom: 1px solid var(--clr-grey);
    height: 640px;
  }
  #footer-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem;
  }
  #footer-info > div {
    width: 100%;
  }
  #footer-info > div:not(:first-child) {
    text-align: center;
  }
  #footer-info > div:last-child {
    text-align: right;
  }
  /* - end FOOTER - */
  #intro-banner {
    padding-bottom: calc(var(--sq-height) / 2);
  }
  #intro-banner nav {
    margin-top: calc(var(--sq-height) / 4);
  }
  #intro-banner h1 {
    width: auto;
    padding: calc(var(--sq-height) / 4) calc(var(--sq-height) / 2);
    top: calc(var(--sq-height) / 4);
  }
  /* - HOMEPAGE - */
  .home main > .main-content {
    padding: 0;
  }
  #hp-intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: calc(8 * var(--sq-height));
  }
  #hp-intro > div {
    width: 50%;
    padding-inline: calc(var(--sq-height) / 2);
  }
  #hp-intro .intro-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #hp-intro h2 {
    margin: 0;
  }
  .hp-intro-slider {
    margin-top: 0;
  }
  .hp-intro-slider .owl-stage-outer,
  .hp-intro-slider .owl-stage,
  .hp-intro-slider .owl-item,
  .hp-intro-slider .item,
  .hp-intro-slider .img-block {
    height: 100%;
  }
  .hp-intro-slider .img-block img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .hp-intro-slider a.cta-link,
  .hp-intro-slider .owl-dots {
    position: absolute;
    bottom: 1rem;
    right: calc(1rem + (var(--sq-height) / 2));
  }
  .hp-intro-slider .owl-dots {
    top: 1rem;
    bottom: unset;
    right: calc(1rem + (var(--sq-height) / 2));
  }
  .hp-intro-slider .owl-dots button.active span::before {
    color: var(--clr-dark);
  }

  #hp-services ol,
  #hp-portfolio ol {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    margin-inline: 0;
  }
  #hp-services ol li,
  #hp-portfolio ol li {
    border: 1px solid var(--clr-grey);
    padding-inline: 2rem;
  }
  #hp-services ol li:nth-child(3n),
  #hp-portfolio ol li:nth-child(3n) {
    border-right: 0;
  }
  #hp-services ol li:first-child,
  #hp-services ol li:nth-child(4n),
  #hp-portfolio ol li:first-child,
  #hp-portfolio ol li:nth-child(4n) {
    border-left: 0;
  }
  #hp-services .sq-bull {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  #hp-services h3 {
    margin-top: 0;
  }
  #hp-services .sq-bull h3 {
    margin: 0;
  }
  #hp-services .owl-nav {
    text-align: right;
  }
  #hp-services ol + .btn-link {
    min-height: var(--sq-height);
  }

  #hp-services ol + .btn-link,
  #hp-portfolio ol + .btn-link {
    min-width: calc(100% / 3);
    border-right: 1px solid var(--clr-grey);
    margin-left: 0;
  }
  #hp-services > .intro-txt .btn-link::after,
  #hp-portfolio ol + .btn-link::after {
    position: absolute;
    right: 1.25rem;
  }
  #hp-services > .intro-txt .btn-link,
  #hp-portfolio ol + .btn-link {
    padding-right: calc(1.25rem + 20px);
  }
  #hp-products {
    margin-top: var(--sq-height);
  }
  #hp-products h2 {
    margin-top: 0;
  }
  /* - end HOMEPAGE - */

  /* - WHO WE ARE - */
  #page-who-we-are main > .main-content {
    padding-inline: 0;
  }
  .skills-block > div {
    min-height: calc(6 * var(--sq-height));
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .skills-block > .row:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .skills-block .img-block {
    margin-inline: 0;
    height: 100%;
  }
  .skills-block .img-block img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    margin-top: 0 !important;
  }
  .skills-block > .row:nth-child(even) > .col {
    background-color: var(--clr-dark);
  }
  .skills-block > .row > .col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .skills-block > .row:nth-child(odd) > .col {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .skills-block .text-block {
    padding: calc(var(--sq-height) / 2) 1.25rem;
    width: 100%;
    max-width: calc(var(--max-width) / 2);
  }
  #stats-block {
    max-width: var(--max-width);
    margin-inline: auto;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    margin-top: var(--sq-height);
  }
  #stats-block div {
    width: auto;
    max-width: calc(5 * var(--sq-height));
    aspect-ratio: 1;
    padding: 1.25rem;
    padding-top: 25%;
  }
  /* - end WHO WE ARE - */

  /* - WHAT WE DO - */
  .services-block .title-block {
    background: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-block: 0;
    min-height: calc(3 * var(--sq-height));
  }
  .services-block .ico-box {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-inline: 1.25rem;
  }
  .services-block .text-block {
    padding-bottom: var(--sq-height);
    background-color: var(--clr-dark);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .services-block .text-block ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr calc(var(--sq-height) / 2) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--sq-height) / 2);
  }
  .sq-bull li:first-child:last-child {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
  .services-block .text-block li + li {
    margin-top: 0;
  }
  .services-block h3 {
    margin-top: 0;
  }
  .services-block h3:last-child {
    margin-bottom: 0;
  }
  /* - end WHAT WE DO - */

  /* - PRODUCTS - */
  .products-block {
    padding-bottom: var(--sq-height);
  }
  .products-block--wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--sq-height) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sq-height);
  }
  .products-block--wrapper > *,
  .products-block .intro-txt h2 {
    margin-top: 0;
  }
  .products-block .intro-txt {
    background-color: var(--clr-dark);
    padding: var(--sq-height) 1.25rem;
    min-height: calc(var(--sq-height) * 8);
  }
  .products-block .intro-txt h2,
  .products-block .intro-txt p:last-child {
    margin-bottom: calc(var(--sq-height) / 2);
  }
  .products-block .intro-txt h2 {
    line-height: var(--sq-height);
  }
  .products-block article .img-block {
    margin-inline: 0;
  }
  /* - end PRODUCTS - */
  /* - PRODUCT SINGLE - */
  .single-product .text-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
  .single-product .related-projects {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: (1fr)[4];
    grid-template-rows: repeat(4, 1fr);
    grid-auto-flow: column;
    -webkit-column-gap: var(--sq-height);
       -moz-column-gap: var(--sq-height);
            column-gap: var(--sq-height);
  }
  .single-product main .col-md-6:last-child {
    padding-left: calc(var(--sq-height) / 2);
  }
  .single-product .post-thumbnail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .single-product .img-block {
    height: calc(var(--sq-height) * 8);
    overflow: hidden;
  }
  .single-product .related-projects {
    margin-bottom: 0;
  }

  .img-block img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  /* - end PRODUCT SINGLE - */

  /* - PROJECTS - */
  #page-projects main > .main-content {
    padding-inline: 0;
  }
  #portfolio-nav {
    margin-inline: 0;
  }
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    margin-inline: auto;
  }
  #page-projects .main-content nav ol {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 0;
  }
  #page-projects .main-content nav ol li {
    border: 1px solid var(--clr-grey);
    text-align: center;
  }
  #page-projects .main-content nav ol li:nth-child(odd),
  #page-projects .project-grid > div:nth-of-type(odd) {
    justify-self: flex-end;
  }
  #page-projects .main-content nav ol li,
  #page-projects .project-grid > div {
    width: calc(var(--sq-height) * 5);
  }
  #page-projects .main-content nav ol li a {
    padding-inline: 1.25rem;
  }
  #page-projects .project-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
  #page-projects .project-grid > div {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #page-projects .project-grid > div:not(:nth-child(4n)) {
    border-right: 1px solid var(--clr-grey);
  }
  #page-projects .project-grid .project-meta,
  #page-projects .project-grid h3 {
    padding-inline: 1.25rem;
  }
  #page-projects .project-grid h3 {
    margin-bottom: 1.25rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  /* - end PROJECTS - */
  /* - PROJECT SINGLE - */
  .single-project main > .main-content {
    padding-top: var(--sq-height);
  }
  .single-project main > .main-content::before {
    content: "";
    width: 100%;
    height: calc(6 * var(--sq-height));
    position: absolute;
    top: 0;
    left: 0;
  }
  .single-project .project-meta {
    top: calc(var(--sq-height) / 4);
    font-size: 1.25em;
  }
  .project-slider .item,
  .project-slider .item img {
    height: calc(8 * var(--sq-height));
  }
  .project-slider .item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  .project-slider .item img {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  /* - end PROJECT SINGLE - */
}

@media screen and (max-width: 991px) {
}
/** -- end MEDIUM -- **/

/** -- LARGE -- **/
@media screen and (min-width: 992px) {
  body:not(#page-homepage) .map-block .btn-link {
    width: calc(100% / var(--footer-divs));
  }
  #hp-portfolio {
    margin-top: var(--sq-height);
  }
  #hp-portfolio > .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #hp-portfolio .img-block {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #hp-portfolio .img-block img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  #hp-portfolio .col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #hp-portfolio .col h2 {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #hp-portfolio .col .btn-link {
    min-height: var(--sq-height);
    border: 1px solid var(--clr-grey);
  }
}

@media screen and (min-width: 1024px) {
  .page-template-page_plain .wrapper {
    -webkit-columns: 2;
       -moz-columns: 2;
            columns: 2;
    gap: var(--sq-height);
  }
  .category-nav ol,
  .post-grid {
    max-width: calc(var(--sq-height) * 15);
    width: calc(var(--sq-height) * 12);
  }
  #footer-top h2 {
    width: 50%;
    padding: var(--sq-height);
    background: var(--clr-dark);
    position: absolute;
    z-index: 1;
    margin: 0;
  }
  body:not(#page-homepage) footer .widgets-block > div:first-child {
    bottom: 0;
  }
  footer .widgets-block > div {
    max-width: 25%;
  }
  #footer-top .map-block .btn-link {
    width: calc(100% / var(--footer-divs));
    position: absolute;
    bottom: 0;
    left: unset !important;
    right: calc(100% / var(--footer-divs));
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    z-index: 1;
  }
  body:not(.home) #footer-top .map-block .btn-link {
    -webkit-transform: translate(100%, 100%);
        -ms-transform: translate(100%, 100%);
            transform: translate(100%, 100%);
  }
  .form-block {
    top: 100%;
  }
  body:not(.home) .form-block {
    top: calc(100% + var(--sq-height));
  }
  footer .widgets-block > div:not(:first-child) {
    border-right: 1px solid grey;
  }
  footer .widgets-block > div:nth-child(n + 3) {
    padding-bottom: 75px;
  }
  #stats-block div {
    font-size: 1.875em;
  }
  /* - HOMEPAGE - */
  #hp-intro > div {
    max-width: calc((20 * var(--sq-height)) / 2);
  }
  #hp-intro > div.hp-intro-slider {
    padding-inline: 0;
  }
  /* - end HOMEPAGE - */
  /* - WHAT WE DO - */
  .services-block .title-block {
    height: 100%;
  }
  .services-block > .row:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .services-block > .row:nth-child(even) .title-block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .services-block > .row:nth-child(even) .ico-box {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  /* - end WHAT WE DO - */

  /* - PRODUCTS - */
  .post-type-archive-product main > .main-content {
    padding-inline: 0;
  }
  .products-block--wrapper {
    display: flow-root;
  }
  .products-block--wrapper > * {
    width: 50%;
    float: left;
    margin-bottom: var(--sq-height);
    padding-inline: var(--sq-height);
  }
  .products-block .intro-txt {
    min-height: auto;
    float: right;
    max-width: 50%;
    padding-left: var(--sq-height);
  }
  .products-block .intro-txt > * {
    max-width: calc(var(--sq-height) * 8);
  }
  .products-block--wrapper article {
    background: -webkit-gradient(linear, left bottom, left top, from(var(--clr-dark)), to(var(--clr-dark)));
    background: -o-linear-gradient(bottom, var(--clr-dark), var(--clr-dark));
    background: linear-gradient(0deg, var(--clr-dark), var(--clr-dark));
    background-position-y: calc(var(--sq-height) * 5);
    background-repeat: no-repeat;
    background-size: 100%;
    padding-bottom: var(--sq-height);
  }
  .products-block--wrapper > article:nth-of-type(1) {
    margin-top: var(--sq-height);
  }
  .products-block--wrapper > article:nth-of-type(odd) {
    text-align: right;
  }
  .products-block--wrapper > article:nth-of-type(odd) .btn-link,
  .products-block article:nth-of-type(odd) .img-block {
    margin-inline: auto 0;
  }
  .products-block--wrapper > article:nth-of-type(even) {
    float: right;
  }
  .products-block--wrapper > article:last-child {
    margin-bottom: 0;
  }
  .products-block .intro-txt p:last-child {
    margin-bottom: 0;
  }
  /* - SINGLE PRODUCT - */
  .related-projects li {
    max-width: 50%;
  }
  /* - end PRODUCTS - */
  /* - PORTFOLIO - */
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    max-width: calc(var(--sq-height) * 15);
    width: calc(var(--sq-height) * 12);
  }
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  #page-projects .main-content nav ol li,
  #page-projects .project-grid > div {
    width: calc(var(--sq-height) * 4);
  }
  /* - end PORTFOLIO - */
  /* - PORTFOLIO SINGLE - */
  .share-block {
    height: 100%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 0;
  }
  /* - end PORTFOLIO SINGLE - */
}
@media screen and (max-width: 1199px) {
}
/** -- end LARGE -- **/

/** -- EXTRA LARGE -- **/
@media screen and (min-width: 1200px) {
  .category-nav ol,
  .post-grid {
    max-width: var(--max-width);
  }
  #intro-banner {
    padding-inline: var(--sq-height);
  }
  #teaser_banner {
    font-size: 3.75em;
  }
  /* - HOMEPAGE - */
  #hp-services {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #hp-services > div {
    width: 50%;
  }
  #hp-services .owl-carousel .text-block,
  #hp-services .owl-carousel .cta-block {
    margin-right: 0;
    margin-left: auto;
    max-width: calc(var(--max-width) / 2);
  }
  #hp-services .intro-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #hp-services h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #hp-services ol + .btn-link {
    border: 1px solid var(--clr-grey);
  }
  .products-grid {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
  /* - end HOMEPAGE - */
  /* - WHO WE ARE - */
  .skills-block > .row > .col {
    padding-inline: var(--sq-height);
  }
  /* - end WHO WE ARE - */
  /* - SINGLE PRODUCTS - */
  .single-product main > .main-content .post-thumbnail {
    background: -webkit-gradient(linear, left bottom, left top, from(var(--clr-dark)), to(var(--clr-dark))),
      url(assets/images/bg-grey-double.svg);
    background: -o-linear-gradient(bottom, var(--clr-dark) 0%, var(--clr-dark) 100%),
      url(assets/images/bg-grey-double.svg);
    background: linear-gradient(0deg, var(--clr-dark) 0%, var(--clr-dark) 100%),
      url(assets/images/bg-grey-double.svg);
    background-size: 100% calc(100% - calc(var(--sq-height) * 6)),
      calc(var(--sq-height) * 2) var(--sq-height);
    background-position: bottom center, top center;
    background-repeat: no-repeat, repeat;
    padding-top: var(--sq-height);
  }
  .single-product .post-thumbnail {
    margin-bottom: 0;
  }
  .single-product .main-content > .row {
    max-width: var(--max-width);
    margin-inline: auto;
  }
  .single-product .intro-txt {
    background-color: var(--clr-dark);
  }
  .single-product .text-block {
    margin-inline: auto 0;
    padding: var(--sq-height);
    padding-bottom: 0;
  }
  .single-product main .col-md-6:last-child {
    padding: var(--sq-height);
    padding-bottom: 0;
    background-size: 100%;
    background-position: left calc(3 * var(--sq-height));
  }
  /* - end SINGLE PRODUCTS - */
  /* - PORTFOLIO - */
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    max-width: var(--max-width);
  }
  #page-projects .main-content nav ol li,
  #page-projects .project-grid > div {
    width: calc(var(--sq-height) * 4);
  }
}

@media screen and (max-width: 1399px) {
}
/** -- end EXTRA LARGE -- **/

/** -- EXTRA EXTRA LARGE -- **/
@media screen and (min-width: 1400px) {
  body {
    --sq-height: 90px;
  }

  h2 {
    font-size: 3.75em;
  }
  .owl-carousel.mc-carousel .owl-nav button.owl-next,
  .owl-carousel.mc-carousel .owl-nav button.owl-prev {
    min-width: var(--sq-height);
  }
  #menu-header li {
    font-size: 4.375em;
  }
  .category-nav ol,
  .post-grid {
    max-width: calc(var(--sq-height) * 12);
  }
  #footer-top #mapa {
    height: 840px;
  }
  footer .widgets-block > div:nth-child(n + 3) {
    padding-bottom: 0;
  }
  #footer-info {
    position: absolute;
    width: calc(100% / var(--footer-divs));
    right: 0;
    bottom: 0;
    border: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-block: 3.125rem;
  }
  .home main h2,
  #intro-banner h1 {
    font-size: 6.25em;
  }
  #intro-banner {
    padding-top: calc(var(--sq-height) * 1.5);
  }
  #intro-banner .breadcrumbs {
    top: var(--sq-height);
  }
  #intro-banner nav {
    margin-top: calc(var(--sq-height) / 8);
  }
  #intro-banner h1 {
    min-height: calc(var(--sq-height) * 2);
    top: 0;
    padding-block: calc(var(--sq-height) / 2);
  }
  /* - HOMEPAGE - */
  #hp-intro {
    min-height: calc(11 * var(--sq-height));
  }
  .home main h3,
  .home main .h3 {
    font-size: 3.75em;
  }
  .home main .h3 {
    margin-bottom: var(--sq-height);
  }
  #hp-intro > div {
    padding-inline: var(--sq-height) calc(var(--sq-height) * 2);
  }
  .home .products-grid h3 {
    padding-left: 4rem;
    bottom: 2.5rem;
  }
  #hp-portfolio ol li {
    text-align: center;
  }
  /* - WHO WE ARE - */
  .skills-block .text-block {
    padding-inline: calc(var(--sq-height) / 2) var(--sq-height);
  }
  #stats-block div {
    max-width: calc(4 * var(--sq-height));
    padding-top: var(--sq-height);
  }
  #stats-block strong {
    font-size: 3.333em;
  }
  /* - WHAT WE DO - */
  .services-block .ico-box {
    width: auto;
    max-width: calc(var(--sq-height) * 3);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: 0 2.5rem;
  }
  .services-block > .row:nth-child(even) .ico-box {
    padding-inline: 2.5rem 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .ico-box.Consulting img {
    max-width: calc(3 * var(--sq-height));
    max-height: calc(3 * var(--sq-height));
  }
  .services-block .title-block {
    min-height: calc(6 * var(--sq-height));
  }

  /* - PRODUCTS - */
  .products-block .intro-txt {
    min-height: calc(6 * var(--sq-height));
  }
  .single-product .post-thumbnail img,
  .single-product .post-thumbnail::after {
    left: unset;
  }

  /* - PROJECTS - */
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    max-width: calc(var(--sq-height) * 12);
  }
  #page-projects .main-content nav ol li,
  #page-projects .project-grid > div {
    width: calc(var(--sq-height) * 4);
  }
}
/** -- end EXTRA EXTRA LARGE -- **/

@media screen and (min-width: 1920px) {
  .category-nav ol,
  .post-grid {
    width: 100%;
    max-width: calc(var(--sq-height) * 16);
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
  .category-nav ol li,
  .post-grid > div {
    width: calc(var(--sq-height) * 4);
  }
  #footer-top h2 {
    font-size: 6.25em;
  }
  .widgets-block > div:not(:first-child) .wp-block-group.is-layout-constrained,
  footer .widgets-block h3,
  #footer-info,
  .map-block .btn-link {
    padding-inline: 3.125rem;
  }
  footer .widgets-block h3 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #footer-info > div {
    width: auto;
  }
  #footer-info > div:last-child {
    width: 160px;
    text-align: center;
  }
  .services-block .text-block {
    padding: var(--sq-height);
  }
  .single-product .text-block {
    padding-inline: 0;
  }
  /*** --- PAGES --- ***/
  /** -- HOME -- **/
  #hp-services ol li,
  #hp-portfolio ol li {
    padding-inline: 4rem;
  }
  #hp-portfolio .text-block {
    width: 100%;
    max-width: calc(var(--max-width) / 2);
    right: 0;
    left: initial;
  }
  /** -- end HOME -- **/

  /* - PROJECTS - */
  #page-projects .main-content nav ol,
  #page-projects .project-grid {
    width: 100%;
    max-width: var(--max-width);
  }
  #page-projects .main-content nav ol li,
  #page-projects .project-grid > div {
    width: calc(var(--sq-height) * 6);
  }
  .single-project main > .main-content > div:not(.project-slider) {
    padding-inline: 0;
  }
}
@media screen and (min-width: 2560px) {
  body {
    font-size: 1.25em;
  }
}
/*** --- end MEDIA QUERIES --- ***/

/* - FOOTER - */

footer .widgets-block h3 {
background: rgba(0,0,0,0.3) !important;
}


.btn-link dark:hover  {
  color: var(--clr-main);
  background-color: var(--clr-dark);
}

/* teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache teste cache  */