/**
 * Swiper 11.2.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 19, 2025
 */
@font-face
{
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}

:root
{
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */;
}

:host
{
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper
{
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper
{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper
{
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper
{
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal
{
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-vertical
{
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-slide
{
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  display: block;
}

.swiper-slide-invisible-blank
{
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide
{
  height: auto;
}

.swiper-autoheight .swiper-wrapper
{
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide
{
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper
{
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper
{
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-3d
{
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow
{
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper
{
  overflow: auto;
  scrollbar-width: none;
 /* For Firefox */
  -ms-overflow-style: none;
 /* For Internet Explorer and Edge */;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar
{
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide
{
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper
{
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper
{
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper
{
  -ms-scroll-snap-type: none;
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide
{
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before
{
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
  -ms-flex-order: 9999;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide
{
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child
{
  -webkit-margin-start: var(--swiper-centered-offset-before);
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before
{
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child
{
  -webkit-margin-before: var(--swiper-centered-offset-before);
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before
{
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom
{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow
{
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left
{
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right
{
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top
{
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom
{
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader
{
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader
{
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white
{
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black
{
  --swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin
{
  0%
  {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100%
  {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin
{
  0%
  {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100%
  {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.animated
{
  visibility: hidden;
  will-change: visibility;
}

@media (min-width: 48em)
{
  .animated.animated--mobile
  {
    visibility: visible;
  }
}

@-webkit-keyframes message-animation
{
  0%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  25%
  {
    opacity: 0.5;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }

  50%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes message-animation
{
  0%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  25%
  {
    opacity: 0.5;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }

  50%
  {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes coding-rows-back
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50%
  {
    -webkit-transform: translateX(150px);
    transform: translateX(150px);
  }

  100%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes coding-rows-back
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50%
  {
    -webkit-transform: translateX(150px);
    transform: translateX(150px);
  }

  100%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes coding-rows-forward
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50%
  {
    -webkit-transform: translateX(-150px);
    transform: translateX(-150px);
  }

  100%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes coding-rows-forward
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  50%
  {
    -webkit-transform: translateX(-150px);
    transform: translateX(-150px);
  }

  100%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

*
{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:focus,
*:active
{
  outline: 0;
}

html
{
  min-height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  width: 100%;
}

body
{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #FFFFFF;
  color: #717980;
  -webkit-text-size-adjust: 100%;
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  min-height: 100%;
  overflow-x: hidden;
  width: 100%;
}

[unselectable]
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

a
{
  opacity: 1;
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  text-decoration: none;
}

img, media, svg
{
  display: block;
  height: auto;
  max-width: 100%;
}

img.svg-symbols, media.svg-symbols, svg.svg-symbols
{
  display: none;
}

ul, ol
{
  margin: 0;
}

/* Chrome autocomplete form fix */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active
{
  -webkit-box-shadow: 0 0 0 30px white inset;
}

p
{
  margin: 0;
}

main
{
  min-height: 100dvh;
}

.main-wrapper
{
  position: relative;
  z-index: 0;
}

.h-hide
{
  display: none !important;
  visibility: hidden;
}

.h-visually-hidden
{
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.h-noscroll
{
  overflow: hidden;
}

/**
 * SCROLLBAR
 */
.animated-element
{
  visibility: hidden;
  will-change: filter, opacity, transform;
}

.animate-fade
{
  will-change: opacity;
}

.animate-top
{
  will-change: opacity, transform;
}

h1
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 2.8125rem;
  font-weight: 400;
  line-height: 2.5rem;
  letter-spacing: -1.8px;
}

@media (min-width: 64em)
{
  h1
  {
    font-family: "Archivo", sans-serif;
    font-size: 5.625rem;
    line-height: 5rem;
    letter-spacing: -2.7px;
  }
}

h6
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
}

p.breadcrumbs
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}

@media (min-width: 64em)
{
  p.breadcrumbs
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.button
{
  -webkit-appearance: none;
  -webkit-user-select: none;
  background: none;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
  padding: 0;
  background-color: #0080FF;
  border: 1px solid #0080FF;
  border-radius: 5px;
  -webkit-box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08), 0 1px 2px rgba(8, 8, 8, 0.2), inset 0 6px 12px rgba(255, 255, 255, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08), 0 1px 2px rgba(8, 8, 8, 0.2), inset 0 6px 12px rgba(255, 255, 255, 0.12), inset 0 1px 1px rgba(255, 255, 255, 0.2);
  cursor: pointer;
  padding: 0.625rem 1.25rem;
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.button a
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}

@media (min-width: 64em)
{
  .button a
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.button:hover
{
  background-color: #FFFFFF;
  border: 1px solid #0080FF;
}

.button:hover a
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}

@media (min-width: 64em)
{
  .button:hover a
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.button.button--primary:hover
{
  background-color: #0065ca;
}

.button.btn-green
{
  margin: 0;
  color: #282828;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  display: inline-block;
  background-color: #B7FF00;
  border: 1px solid #282828;
  font-weight: 600;
}

@media (min-width: 64em)
{
  .button.btn-green
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.button.btn-green:hover
{
  background-color: #282828;
  border: 1px solid #B7FF00;
  color: #B7FF00;
}

canvas
{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.section--gallery
{
  padding-bottom: 3.75rem;
  padding-top: 3.75rem;
}

.icon
{
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  pointer-events: none;
}

.icon.icon--rotate-45
{
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.icon.icon--rotate-90
{
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.icon.icon--rotate-180
{
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.icon.icon--rotate-270
{
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.icon.icon--blue-fill
{
  fill: #0080FF;
}

.icon.icon--blue-fill circle,
.icon.icon--blue-fill path,
.icon.icon--blue-fill polygon,
.icon.icon--blue-fill rect
{
  fill: #0080FF;
}

.icon.icon--blue-stroke
{
  fill: none;
  stroke: #0080FF;
}

.icon.icon--blue-stroke circle,
.icon.icon--blue-stroke path,
.icon.icon--blue-stroke polygon,
.icon.icon--blue-stroke rect
{
  fill: none;
  stroke: #0080FF;
}

.icon.icon--blue-dark-fill
{
  fill: #0065ca;
}

.icon.icon--blue-dark-fill circle,
.icon.icon--blue-dark-fill path,
.icon.icon--blue-dark-fill polygon,
.icon.icon--blue-dark-fill rect
{
  fill: #0065ca;
}

.icon.icon--blue-dark-stroke
{
  fill: none;
  stroke: #0065ca;
}

.icon.icon--blue-dark-stroke circle,
.icon.icon--blue-dark-stroke path,
.icon.icon--blue-dark-stroke polygon,
.icon.icon--blue-dark-stroke rect
{
  fill: none;
  stroke: #0065ca;
}

.icon.icon--white-fill
{
  fill: #FFFFFF;
}

.icon.icon--white-fill circle,
.icon.icon--white-fill path,
.icon.icon--white-fill polygon,
.icon.icon--white-fill rect
{
  fill: #FFFFFF;
}

.icon.icon--white-stroke
{
  fill: none;
  stroke: #FFFFFF;
}

.icon.icon--white-stroke circle,
.icon.icon--white-stroke path,
.icon.icon--white-stroke polygon,
.icon.icon--white-stroke rect
{
  fill: none;
  stroke: #FFFFFF;
}

.icon.icon--gray-light-fill
{
  fill: #E5E5E5;
}

.icon.icon--gray-light-fill circle,
.icon.icon--gray-light-fill path,
.icon.icon--gray-light-fill polygon,
.icon.icon--gray-light-fill rect
{
  fill: #E5E5E5;
}

.icon.icon--gray-light-stroke
{
  fill: none;
  stroke: #E5E5E5;
}

.icon.icon--gray-light-stroke circle,
.icon.icon--gray-light-stroke path,
.icon.icon--gray-light-stroke polygon,
.icon.icon--gray-light-stroke rect
{
  fill: none;
  stroke: #E5E5E5;
}

.icon.icon--gray-fill
{
  fill: #717980;
}

.icon.icon--gray-fill circle,
.icon.icon--gray-fill path,
.icon.icon--gray-fill polygon,
.icon.icon--gray-fill rect
{
  fill: #717980;
}

.icon.icon--gray-stroke
{
  fill: none;
  stroke: #717980;
}

.icon.icon--gray-stroke circle,
.icon.icon--gray-stroke path,
.icon.icon--gray-stroke polygon,
.icon.icon--gray-stroke rect
{
  fill: none;
  stroke: #717980;
}

.icon.icon--gray-dark-fill
{
  fill: #484848;
}

.icon.icon--gray-dark-fill circle,
.icon.icon--gray-dark-fill path,
.icon.icon--gray-dark-fill polygon,
.icon.icon--gray-dark-fill rect
{
  fill: #484848;
}

.icon.icon--gray-dark-stroke
{
  fill: none;
  stroke: #484848;
}

.icon.icon--gray-dark-stroke circle,
.icon.icon--gray-dark-stroke path,
.icon.icon--gray-dark-stroke polygon,
.icon.icon--gray-dark-stroke rect
{
  fill: none;
  stroke: #484848;
}

.icon.icon--black-fill
{
  fill: #282828;
}

.icon.icon--black-fill circle,
.icon.icon--black-fill path,
.icon.icon--black-fill polygon,
.icon.icon--black-fill rect
{
  fill: #282828;
}

.icon.icon--black-stroke
{
  fill: none;
  stroke: #282828;
}

.icon.icon--black-stroke circle,
.icon.icon--black-stroke path,
.icon.icon--black-stroke polygon,
.icon.icon--black-stroke rect
{
  fill: none;
  stroke: #282828;
}

.icon.icon--name
{
  height: 2.75rem;
  width: 7.5rem;
}

@media all
{
  .icon.icon--name
  {
    height: 3.75rem;
    width: 10rem;
  }
}

.icon.icon-arrow
{
  height: 0.9375rem;
  margin-left: 0.5rem;
  width: 0.9375rem;
}

.icon.icon-logo
{
  height: 2.125rem;
  width: 12rem;
}

.icon.icon-mouse
{
  height: 1.125rem;
  width: 0.6875rem;
}

svg #first
{
  -webkit-animation: message-animation 1.2s ease-in-out infinite;
  animation: message-animation 1.2s ease-in-out infinite;
}

svg #second
{
  -webkit-animation: message-animation 1.2s 0.15s ease-in-out infinite;
  animation: message-animation 1.2s 0.15s ease-in-out infinite;
}

svg #third
{
  -webkit-animation: message-animation 1.2s 0.3s ease-in-out infinite;
  animation: message-animation 1.2s 0.3s ease-in-out infinite;
}

svg #fourth
{
  -webkit-animation: message-animation 1.2s 0.3s ease-in-out infinite;
  animation: message-animation 1.2s 0.3s ease-in-out infinite;
}

svg #fifth
{
  -webkit-animation: message-animation 1.2s 0.45s ease-in-out infinite;
  animation: message-animation 1.2s 0.45s ease-in-out infinite;
}

svg #sixth
{
  -webkit-animation: message-animation 1.2s 0.6s ease-in-out infinite;
  animation: message-animation 1.2s 0.6s ease-in-out infinite;
}

#coding-rows
{
  position: relative;
}

#coding-rows .row.first-row, #coding-rows .row.third-row, #coding-rows .row.fifth-row, #coding-rows .row.eigth-row
{
  -webkit-animation: coding-rows-back 18s linear infinite;
  animation: coding-rows-back 18s linear infinite;
}

#coding-rows .row.fourth-row, #coding-rows .row.sixth-row, #coding-rows .row.seventh-row, #coding-rows .row.second-row
{
  -webkit-animation: coding-rows-forward 18s linear infinite;
  animation: coding-rows-forward 18s linear infinite;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-content .iubenda-banner-content.iubenda-custom-content
{
  padding: 28px !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-content .iubenda-banner-content.iubenda-custom-content [class^=iub]
{
  color: #717980 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 1rem !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-content .iubenda-banner-content.iubenda-custom-content a
{
  opacity: 1 !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-content .iubenda-banner-content.iubenda-custom-content a:hover
{
  color: #0080FF !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-opt-group .iubenda-cs-opt-group-custom .iubenda-cs-customize-btn
{
  -webkit-appearance: none !important;
  -webkit-user-select: none !important;
  background: none !important;
  border: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  padding: 0 !important;
  background-color: #717980 !important;
  border: 1px solid #717980 !important;
  border-radius: 5px !important;
  -webkit-box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08) !important, 0 1px 2px rgba(8, 8, 8, 0.2) !important, inset 0 6px 12px rgba(255, 255, 255, 0.12) !important, inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08) !important, 0 1px 2px rgba(8, 8, 8, 0.2) !important, inset 0 6px 12px rgba(255, 255, 255, 0.12) !important, inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  cursor: pointer !important;
  font-family: "Martian Mono", sans-serif !important;
  padding: 0.625rem 1.25rem !important;
  text-transform: uppercase !important;
  -webkit-transition: all 250ms ease-in-out !important;
  transition: all 250ms ease-in-out !important;
  width: 100% !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-opt-group .iubenda-cs-opt-group-custom .iubenda-cs-customize-btn:hover
{
  background-color: #484848 !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-opt-group .iubenda-cs-opt-group-consent .iubenda-cs-accept-btn
{
  -webkit-appearance: none !important;
  -webkit-user-select: none !important;
  background: none !important;
  border: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  padding: 0 !important;
  background-color: #0080FF !important;
  border: 1px solid #0080FF !important;
  border-radius: 5px !important;
  -webkit-box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08) !important, 0 1px 2px rgba(8, 8, 8, 0.2) !important, inset 0 6px 12px rgba(255, 255, 255, 0.12) !important, inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 4px rgba(8, 8, 8, 0.08) !important, 0 1px 2px rgba(8, 8, 8, 0.2) !important, inset 0 6px 12px rgba(255, 255, 255, 0.12) !important, inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  cursor: pointer !important;
  font-family: "Martian Mono", sans-serif !important;
  padding: 0.625rem 1.25rem !important;
  text-transform: uppercase !important;
  -webkit-transition: all 250ms ease-in-out !important;
  transition: all 250ms ease-in-out !important;
  width: 100% !important;
}

#iubenda-cs-banner.iubenda-cs-visible .iubenda-cs-container .iubenda-cs-opt-group .iubenda-cs-opt-group-consent .iubenda-cs-accept-btn:hover
{
  background-color: #0065ca !important;
}

#iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-bottom .iubenda-cs-container.iubenda-cs-themed .iubenda-cs-brand-badge-outer
{
  display: none !important;
}

.iubenda-tp-btn[data-tp-float].iubenda-cs-preferences-link
{
  -webkit-filter: hue-rotate(60deg);
  filter: hue-rotate(60deg);
}

.iubenda-tp-btn[data-tp-float].iubenda-cs-preferences-link:focus
{
  outline-color: #0080FF !important;
}

.marquee
{
  background: #0080FF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  visibility: hidden;
  padding: 0.625rem;
}

.marquee .marquee__inner
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
}

.marquee .marquee__inner .client-logo
{
  width: 50vw;
}

@media (min-width: 64em)
{
  .marquee .marquee__inner .client-logo
  {
    width: 16.6666666667vw;
  }
}

.marquee .marquee__inner .client-logo svg
{
  width: 41.6666666667vw;
  fill: #FFFFFF;
}

.marquee .marquee__inner .client-logo svg circle,
.marquee .marquee__inner .client-logo svg path,
.marquee .marquee__inner .client-logo svg polygon,
.marquee .marquee__inner .client-logo svg rect
{
  fill: #FFFFFF;
}

@media (min-width: 64em)
{
  .marquee .marquee__inner .client-logo svg
  {
    width: 10.4166666667vw;
  }
}

.marquee__inner
{
  -webkit-animation: scroll-left 50s linear infinite;
  animation: scroll-left 50s linear infinite;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.marquee__inner span
{
  background: #0080FF;
  display: inline-block;
}

@-webkit-keyframes scroll-left
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100%
  {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes scroll-left
{
  0%
  {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100%
  {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.menu a
{
  margin: 0;
  color: #717980;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}

.mouse-scroll
{
  border-radius: 15px;
  border: 1px solid #717980;
  height: 20px;
  position: relative;
  overflow: hidden;
  width: 13px;
}

.mouse-scroll::after
{
  -webkit-animation: mouseScroll 0.8s cubic-bezier(0.7, 0, 0.3, 1) infinite alternate;
  animation: mouseScroll 0.8s cubic-bezier(0.7, 0, 0.3, 1) infinite alternate;
  background: #717980;
  border-radius: 50%;
  content: "";
  display: block;
  height: 2px;
  left: calc(50% - 1px);
  position: absolute;
  top: 4px;
  width: 2px;
  z-index: 2;
}

@-webkit-keyframes mouseScroll
{
  0%
  {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100%
  {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
}

@keyframes mouseScroll
{
  0%
  {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100%
  {
    -webkit-transform: translateY(7px);
    transform: translateY(7px);
  }
}

.project-hero img
{
  border-radius: 0 0 100px 100px;
  height: 50dvh;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.grecaptcha-badge
{
  visibility: hidden;
}

footer
{
  border-top: 1px solid #E5E5E5;
  margin-top: auto;
  padding-bottom: 2.5rem;
}

@media (min-width: 64em)
{
  footer
  {
    padding-top: 2.5rem;
  }
}

footer .content
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.6666666667vw;
  flex: 0 0 91.6666666667vw;
  max-width: 91.6666666667vw;
  margin-left: 4.1666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
}

@media (min-width: 64em)
{
  footer .content
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
  }
}

footer .content .content-left
{
  padding-bottom: 1.5625rem;
}

@media (min-width: 64em)
{
  footer .content .content-left
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 37.5vw;
    flex: 0 0 37.5vw;
    max-width: 37.5vw;
    padding-bottom: 3.25rem;
  }
}

footer .content .content-left .sitemap
{
  display: none;
}

@media (min-width: 64em)
{
  footer .content .content-left .sitemap
  {
    display: block;
  }
}

footer .content .content-left .sitemap .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  footer .content .content-left .sitemap .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

footer .content .content-left .sitemap .item a
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
  -webkit-transition: color 250ms ease-in-out;
  transition: color 250ms ease-in-out;
}

@media (min-width: 64em)
{
  footer .content .content-left .sitemap .item a
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

footer .content .content-left .sitemap .item a:hover
{
  color: #0080FF;
}

footer .content .content-left .content-left-bottom
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 8.75rem;
  width: 100%;
}

@media (min-width: 64em)
{
  footer .content .content-left .content-left-bottom
  {
    margin-top: 13.4375rem;
  }
}

footer .content .content-left .content-left-bottom .denom
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  footer .content .content-left .content-left-bottom .denom
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

footer .content .content-left .content-left-bottom .back-up
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: none;
}

@media (min-width: 64em)
{
  footer .content .content-left .content-left-bottom .back-up
  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

footer .content .content-left .content-left-bottom .back-up:hover .text
{
  color: #0080FF;
}

footer .content .content-left .content-left-bottom .back-up:hover svg
{
  fill: none;
  stroke: #0080FF;
}

footer .content .content-left .content-left-bottom .back-up:hover svg circle,
footer .content .content-left .content-left-bottom .back-up:hover svg path,
footer .content .content-left .content-left-bottom .back-up:hover svg polygon,
footer .content .content-left .content-left-bottom .back-up:hover svg rect
{
  fill: none;
  stroke: #0080FF;
}

footer .content .content-left .content-left-bottom .back-up .text
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
  -webkit-transition: color 250ms ease-in-out;
  transition: color 250ms ease-in-out;
}

@media (min-width: 64em)
{
  footer .content .content-left .content-left-bottom .back-up .text
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

footer .content .content-left .content-left-bottom .back-up svg
{
  fill: none;
  stroke: #717980;
}

footer .content .content-left .content-left-bottom .back-up svg circle,
footer .content .content-left .content-left-bottom .back-up svg path,
footer .content .content-left .content-left-bottom .back-up svg polygon,
footer .content .content-left .content-left-bottom .back-up svg rect
{
  fill: none;
  stroke: #717980;
}

footer .content .content-right
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
}

@media (min-width: 64em)
{
  footer .content .content-right
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50vw;
    flex: 0 0 50vw;
    max-width: 50vw;
    margin-left: 4.1666666667vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    padding-bottom: 3.25rem;
  }
}

footer .content .content-right .links .links-container
{
  text-align: right;
}

footer .content .content-right .links .links-container .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  footer .content .content-right .links .links-container .title
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

footer .content .content-right .links .links-container .link
{
  display: inline-block;
  margin-left: 1.875rem;
}

@media (min-width: 64em)
{
  footer .content .content-right .links .links-container .link
  {
    margin-left: 3.125rem;
  }
}

@media (min-width: 75em)
{
  footer .content .content-right .links .links-container .link
  {
    margin-left: 4.8125rem;
  }
}

footer .content .content-right .links .links-container .link a
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
  display: inline-block;
}

@media (min-width: 64em)
{
  footer .content .content-right .links .links-container .link a
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

footer .content .content-right .links .links-container .link a:hover
{
  color: #0080FF;
}

@media (min-width: 64em)
{
  footer .content .content-right .links .links-container.follow-us
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.6666666667vw;
    flex: 0 0 16.6666666667vw;
    max-width: 16.6666666667vw;
  }
}

footer .content .content-right .logo
{
  margin-top: auto;
}

footer .content .content-right .logo svg
{
  height: auto;
  width: 100%;
}

@media (min-width: 64em)
{
  footer .content .content-right .logo svg
  {
    margin-left: auto;
    width: 41.6666666667vw;
  }
}

footer .footer-bottom
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.6666666667vw;
  flex: 0 0 91.6666666667vw;
  max-width: 91.6666666667vw;
  margin-left: 4.1666666667vw;
  border-top: 1px solid #E5E5E5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

@media (min-width: 64em)
{
  footer .footer-bottom
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 2.1875rem;
  }
}

footer .footer-bottom .top
{
  margin: 1.625rem 0;
}

@media (min-width: 64em)
{
  footer .footer-bottom .top
  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0;
    width: 50%;
  }
}

footer .footer-bottom .item
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

footer .footer-bottom .item a
{
  color: #717980;
  -webkit-transition: color 250ms ease-in-out;
  transition: color 250ms ease-in-out;
}

footer .footer-bottom .item a:hover
{
  color: #0080FF;
}

footer .footer-bottom .item .text:nth-child(2)
{
  border-left: 1px solid #717980;
  margin-left: 0.3125rem;
  padding-left: 0.3125rem;
}

footer .footer-bottom a:hover
{
  color: #0080FF;
}

/**
 * HAMBURGER VARIABLES
 */
header
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.6666666667vw;
  flex: 0 0 91.6666666667vw;
  max-width: 91.6666666667vw;
  margin-left: 4.1666666667vw;
  background-color: #FFFFFF;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(113, 121, 128, 0.1);
  box-shadow: 0px 0px 30px 0px rgba(113, 121, 128, 0.1);
  left: 0;
  position: fixed;
  top: 1.875rem;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  width: 100%;
  z-index: 5;
}

header nav
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem 1.25rem;
}

@media (min-width: 64em)
{
  header nav
  {
    padding: 1.25rem 2.0625rem;
  }
}

header nav .logo
{
  height: auto;
  width: 7.8125rem;
}

@media (min-width: 64em)
{
  header nav .logo
  {
    width: 10.4vw;
  }
}

header nav .logo svg
{
  fill: #0080FF;
  height: 1.875rem;
  width: 100%;
}

header nav .logo svg circle,
header nav .logo svg path,
header nav .logo svg polygon,
header nav .logo svg rect
{
  fill: #0080FF;
}

header nav #hamburger
{
  width: 1.4em;
  height: 0.8em;
  position: relative;
  display: block;
  cursor: pointer;
  z-index: 10;
}

@media (min-width: 64em)
{
  header nav #hamburger
  {
    display: none;
  }
}

header nav #hamburger .line
{
  display: block;
  background: #282828;
  width: 1.4em;
  height: 2px;
  position: absolute;
  left: 0;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
}

header nav #hamburger .line.line-1
{
  top: 0;
}

header nav #hamburger .line.line-2
{
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

header nav #hamburger .line.line-3
{
  top: 100%;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

header nav .main-menu
{
  display: none;
  position: fixed;
  top: 3.125rem;
  left: 0;
  right: 0;
  background-color: #FFFFFF;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1.25rem;
  border-radius: 10px;
  margin: 0;
}

header nav .main-menu.active
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 64em)
{
  header nav .main-menu
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 29.1666666667vw;
    flex: 0 0 29.1666666667vw;
    max-width: 29.1666666667vw;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: static;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }
}

@media (min-width: 64em)
{
  header nav .main-menu .menu
  {
    display: inline-block;
  }
}

header nav .main-menu .menu-item
{
  display: block;
  padding: 0.9375rem 0;
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  border-bottom: 1px solid rgba(0, 128, 255, 0.1);
}

header nav .main-menu .menu-item:last-child
{
  border-bottom: none;
}

@media (min-width: 64em)
{
  header nav .main-menu .menu-item
  {
    display: inline-block;
    margin-left: 1.875rem;
    padding: 0;
    border-bottom: none;
  }
}

header nav .main-menu .menu-item:hover, header nav .main-menu .menu-item.active
{
  color: #0080FF;
}

/**
 * SINGLE PAGE
 */
.section--privacy-policy
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  padding-bottom: 50px;
  padding-top: 110px;
}

@media (min-width: 64em)
{
  .section--privacy-policy
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section--privacy-policy
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
  }
}

.section--privacy-policy .privacy-block a
{
  color: #717980;
  font-weight: bold;
  text-decoration: underline;
}

.section--privacy-policy .privacy-block p
{
  margin-bottom: 15px;
}

.section--privacy-policy .privacy-block ul
{
  margin-bottom: 15px;
}

.section--privacy-policy .privacy-block ul li p
{
  margin-bottom: 5px;
}

.section--privacy-policy .privacy-block table
{
  border: 1px solid;
  margin-bottom: 20px;
}

.section--privacy-policy .privacy-block table tr
{
  padding: 5px;
}

.section--privacy-policy .privacy-block table tr th
{
  border-right: 1px solid;
}

.section--privacy-policy .privacy-block table tr td
{
  border-right: 1px solid;
  border-top: 1px solid;
  padding: 10px;
}

.section.section--about
{
  padding-top: 6.25rem;
  margin: 1.25rem auto 0;
  width: calc(100% - 2rem);
}

.section.section--about .content
{
  border-radius: 14px;
  background-color: #F9F9F9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  overflow: hidden;
  position: relative;
}

@media (min-width: 64em)
{
  .section.section--about .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.section.section--about .content .background
{
  height: 25vh;
  position: relative;
}

@media (min-width: 64em)
{
  .section.section--about .content .background
  {
    height: auto;
    width: 50%;
  }
}

.section.section--about .content .background img
{
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.section.section--about .content .text-container
{
  background-color: #FFFFFF;
  border-radius: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  margin: 0.625rem;
  margin-bottom: 0;
  padding: 1.25rem 0.625rem;
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container
  {
    height: calc(100% - 30px);
    margin: 0.9375rem;
    margin-right: 0;
    padding: 3.125vw;
    width: 60%;
  }
}

.section.section--about .content .text-container .label
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  background-color: #F9F9F9;
  border-radius: 50px;
  margin-bottom: 3.75rem;
  padding: 0.40625rem 0.75rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .label
  {
    text-align: left;
  }
}

.section.section--about .content .text-container .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-bottom: 3.75rem;
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .title
  {
    margin-top: auto;
    width: 80%;
    margin-bottom: 3.75rem;
  }
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .description
  {
    margin-top: auto;
  }
}

.section.section--about .content .text-container .description .text p
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
}

@media (min-width: 64em)
{
  .section.section--about .content .text-container .description .text p
  {
    width: 70%;
  }
}

.section.section--about .content .text-container .description .services-list
{
  margin-top: 1.875rem;
}

.section.section--about .content .text-container .description .services-list .service-item
{
  border-bottom: 0.5px solid #E5E5E5;
  padding: 1rem 0;
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
}

.section.section--about .content .text-container .description .services-list .service-item:first-child
{
  border-top: 0.5px solid #E5E5E5;
}

.section.section--about .content .text-container .description .services-list .service-item:last-child
{
  border: none;
}

@media (min-width: 64em)
{
  .section.section--about:nth-child(even) .content
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media (min-width: 64em)
{
  .section.section--about:nth-child(even) .content .text-container
  {
    margin: 0.9375rem;
    margin-left: 0;
  }
}

.section.section--clients
{
  margin-top: 8.75rem;
}

@media (min-width: 64em)
{
  .section.section--clients
  {
    margin-top: 12.5rem;
  }
}

.section.section--clients .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
}

@media (min-width: 64em)
{
  .section.section--clients .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section.section--clients .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 9.1666666667vw;
  }
}

.section.section--clients .content .label
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--clients .content .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--clients .content .clients
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.625rem;
  overflow: auto;
  position: relative;
}

.section.section--clients .content .clients::-webkit-scrollbar
{
  display: none;
}

@media (min-width: 64em)
{
  .section.section--clients .content .clients
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.9375rem;
  }
}

.section.section--clients .content .clients .client-logo
{
  min-width: 14.0625rem;
  min-height: 13.125rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #E5E5E5;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 64em)
{
  .section.section--clients .content .clients .client-logo
  {
    width: 33.3333333333vw;
  }
}

.section.section--clients .content .clients .client-logo svg
{
  fill: #717980;
  height: auto;
  width: 80%;
}

.section.section--clients .content .clients .client-logo svg circle,
.section.section--clients .content .clients .client-logo svg path,
.section.section--clients .content .clients .client-logo svg polygon,
.section.section--clients .content .clients .client-logo svg rect
{
  fill: #717980;
}

@media (min-width: 64em)
{
  .section.section--clients .content .clients .client-logo svg
  {
    width: 12.5vw;
  }
}

.section.section--clients .content .clients .client-logo:hover
{
  background-color: #0080FF;
}

.section.section--clients .content .clients .client-logo:hover svg
{
  fill: #FFFFFF;
}

.section.section--clients .content .clients .client-logo:hover svg circle,
.section.section--clients .content .clients .client-logo:hover svg path,
.section.section--clients .content .clients .client-logo:hover svg polygon,
.section.section--clients .content .clients .client-logo:hover svg rect
{
  fill: #FFFFFF;
}

.section.section--contact-us
{
  margin: 0 auto;
  padding-top: 8.75rem;
  width: calc(100% - 2rem);
  /* FORM IN VERDE PAGINA SERVICE */
  /* ---------------------------- */;
}

@media (min-width: 64em)
{
  .section.section--contact-us
  {
    margin-bottom: 12.5rem;
    padding-top: 12.5rem;
    width: unset;
  }
}

.section.section--contact-us.contact-green .content
{
  background-color: #B7FF00;
  background-image: none;
  color: #282828;
}

.section.section--contact-us.contact-green .content .title
{
  color: #282828;
}

.section.section--contact-us.contact-green .content .description
{
  color: #282828;
}

.section.section--contact-us.contact-green .content .button
{
  background-color: #B7FF00;
  border: 1px solid #282828;
  color: #282828;
}

.section.section--contact-us.contact-green .content .button:hover
{
  background-color: #282828;
  border: 1px solid #B7FF00;
  color: #B7FF00;
}

.section.section--contact-us .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  background-color: #0080FF;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAA8UlEQVR4Ae3VMU4CQRTG8f+bld12ayvtLfQEegQ8gR7AiNzA2ButjJXiBYycQI8AsbGkMgQKtqFgilne9rxkSCiAzK/azbw3O5NN3gdJsqvEXLn5vSBkHcKiy+vZiBj3NYwHx7jiEcIDLyeDVWXO3CC4jh6pjcuviVWNdMf8SvsukezWKjvA/mgXF4bk/plY5ZHe9K+nfdovPZIkSbaePfCb4V3/a8WhPgubZM/eJi2kOCWffutbRYzmoNWwxLfaBP9jpZOdMlnxpquf+DVTxrfuEHnXtHmyyuybEvrUbkYtX8Qq5zChr//kHCcfJMneWQL0Ez7qTMoNAwAAAABJRU5ErkJggg==");
  background-repeat: repeat;
  border-radius: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  height: 40.625rem;
  padding: 1.875rem 1.5625rem;
}

@media (min-width: 64em)
{
  .section.section--contact-us .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section.section--contact-us .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    height: 63.5dvh;
    padding: 2.25rem 4.1666666667vw;
  }
}

.section.section--contact-us .content .title
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Archivo", sans-serif;
  font-size: 2.8125rem;
  font-weight: 400;
  line-height: 2.5rem;
  letter-spacing: -1.8px;
}

@media (min-width: 64em)
{
  .section.section--contact-us .content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 5.625rem;
    line-height: 5rem;
    letter-spacing: -2.7px;
  }
}

@media (min-width: 64em)
{
  .section.section--contact-us .content .title
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 58.3333333333vw;
    flex: 0 0 58.3333333333vw;
    max-width: 58.3333333333vw;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }
}

.section.section--contact-us .content .description
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 2.5rem;
  margin-top: auto;
}

@media (min-width: 64em)
{
  .section.section--contact-us .content .description
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--contact-us .content .description
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }
}

.section.section--contact-us .content .button
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  border: 1px solid #FFFFFF;
}

@media (min-width: 64em)
{
  .section.section--contact-us .content .button
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--contact-us .content .button:hover
{
  background-color: #FFFFFF;
  color: #0080FF;
}

@media (min-width: 64em)
{
  .section.section--cta
  {
    margin-top: 3.75rem;
  }
}

.section.section--cta .content
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #717980;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100dvh;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.25rem;
  position: relative;
  width: 100vw;
}

@media (min-width: 64em)
{
  .section.section--cta .content
  {
    padding: 0;
  }
}

.section.section--cta .content .image
{
  height: 100%;
  position: absolute;
  width: 100%;
}

.section.section--cta .content .image img
{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.section.section--cta .content .cta-container
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  z-index: 2;
}

@media (min-width: 64em)
{
  .section.section--cta .content .cta-container
  {
    padding: 1.25rem;
    width: 37.5rem;
  }
}

.section.section--cta .content .cta-container .top-content
{
  background-color: #FFFFFF;
  height: 4.375rem;
  padding: 1.25rem;
  width: 6.25rem;
}

@media (min-width: 64em)
{
  .section.section--cta .content .cta-container .top-content
  {
    height: 12.5rem;
  }
}

.section.section--cta .content .cta-container .top-content a
{
  display: block;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section.section--cta .content .cta-container .top-content a svg
{
  fill: #0080FF;
}

.section.section--cta .content .cta-container .top-content a svg circle,
.section.section--cta .content .cta-container .top-content a svg path,
.section.section--cta .content .cta-container .top-content a svg polygon,
.section.section--cta .content .cta-container .top-content a svg rect
{
  fill: #0080FF;
}

.section.section--cta .content .cta-container .bottom-content
{
  background-color: #FFFFFF;
  padding: 1.25rem;
  position: relative;
  width: 100%;
}

.section.section--cta .content .cta-container .bottom-content .label
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
  margin-bottom: 0.875rem;
}

.section.section--cta .content .cta-container .bottom-content .title
{
  margin-bottom: 0.625rem;
}

.section.section--cta .content .cta-container .bottom-content .subtitle
{
  margin-bottom: 0.875rem;
}

.section.section--cta .content .cta-container .bottom-content .link a
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  .section.section--cta .content .cta-container .bottom-content .link a
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

.section.section--cta .content .cta-container .bottom-content:after
{
  background-color: #FFFFFF;
  content: "";
  height: 2.5rem;
  top: 100%;
  position: absolute;
  right: 0;
  width: 6.25rem;
}

@media (min-width: 64em)
{
  .section.section--cta .content .cta-container .bottom-content:after
  {
    height: 9.375rem;
    left: 100%;
    right: unset;
    top: 0;
    width: 2.5rem;
  }
}

.section.section--form
{
  background-color: #0080FF;
  bottom: 0;
  left: 0;
  min-height: 100dvh;
  opacity: 0;
  overflow: auto;
  padding-bottom: 1.25rem;
  position: fixed;
  top: 0;
  -webkit-transition: opacity 0.225s ease-in-out;
  transition: opacity 0.225s ease-in-out;
  width: 100vw;
  z-index: -1;
}

.section.section--form::-webkit-scrollbar
{
  display: none;
}

@media (min-width: 64em)
{
  .section.section--form
  {
    height: 100dvh;
    overflow: inherit;
    padding-bottom: 0;
  }
}

.section.section--form .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  min-height: 97svh;
  padding-bottom: 2.25rem;
  padding-top: 2.25rem;
}

@media (min-width: 64em)
{
  .section.section--form .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section.section--form .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 95.8333333333vw;
    flex: 0 0 95.8333333333vw;
    max-width: 95.8333333333vw;
    margin-left: 4.1666666667vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.section.section--form .content .left-content
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  margin-bottom: 2rem;
}

@media (min-width: 64em)
{
  .section.section--form .content .left-content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25vw;
    flex: 0 0 25vw;
    max-width: 25vw;
    margin-bottom: 0;
  }
}

.section.section--form .content .left-content .label
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

@media (min-width: 64em)
{
  .section.section--form .content .left-content .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--form .content .left-content .title
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-bottom: 6rem;
}

@media (min-width: 64em)
{
  .section.section--form .content .left-content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

@media (min-width: 64em)
{
  .section.section--form .content .left-content .title
  {
    margin-bottom: 0;
  }
}

.section.section--form .content .left-content .contacts
{
  margin-top: auto;
}

.section.section--form .content .left-content .contacts .contacts-title
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
}

.section.section--form .content .left-content .contacts a
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
  display: block;
  opacity: 0.8;
}

.section.section--form .content .left-content .contacts a:hover
{
  opacity: 1;
}

.section.section--form .content .right-content
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #FFFFFF;
  border-radius: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 2.375rem;
  padding-top: 3.75rem;
  position: relative;
}

.section.section--form .content .right-content::-webkit-scrollbar
{
  width: 5px;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62.5vw;
    flex: 0 0 62.5vw;
    max-width: 62.5vw;
    margin-left: 4.1666666667vw;
  }
}

.section.section--form .content .right-content .close
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2.8125rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  right: 0.9375rem;
  position: fixed;
  top: 0.9375rem;
  -webkit-transition: all 175ms ease-out;
  transition: all 175ms ease-out;
  width: 2.8125rem;
  z-index: 6;
}

.section.section--form .content .right-content .close:hover
{
  border-color: #0080FF;
}

.section.section--form .content .right-content .close:hover .cross .line
{
  background-color: #0080FF;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content .close
  {
    border: 1px solid #E5E5E5;
    position: absolute;
  }
}

.section.section--form .content .right-content .close .cross
{
  height: 1.25rem;
  position: relative;
  width: 1.25rem;
}

.section.section--form .content .right-content .close .cross .line
{
  background-color: #FFFFFF;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 1px;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content .close .cross .line
  {
    background-color: #717980;
  }
}

.section.section--form .content .right-content .close .cross .line:first-child
{
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.section.section--form .content .right-content .form
{
  padding: 1.75rem;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content .form
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 54.1666666667vw;
    flex: 0 0 54.1666666667vw;
    max-width: 54.1666666667vw;
    margin-left: 4.1666666667vw;
    padding: 1.75rem 0;
  }
}

.section.section--form .content .right-content .form form .text-input-container
{
  gap: 2.25rem 0.9375rem;
  margin-bottom: 2.625rem;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content .form form .text-input-container
  {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

.section.section--form .content .right-content .form form .input-container
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.section.section--form .content .right-content .form form .input-container label
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
  margin-bottom: 0.5rem;
}

.section.section--form .content .right-content .form form .input-container input,
.section.section--form .content .right-content .form form .input-container textarea
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
  border: 1px solid #E5E5E5;
  border-radius: 5px;
  padding: 0.9375rem;
  width: 100%;
}

.section.section--form .content .right-content .form form .input-container input:focus,
.section.section--form .content .right-content .form form .input-container textarea:focus
{
  border: 1px solid #0080FF;
}

.section.section--form .content .right-content .form form .input-container textarea
{
  height: 25vh;
}

.section.section--form .content .right-content .form form .input-container .wpcf7-not-valid-tip
{
  font-size: 0.875rem;
  margin-top: 0.5rem;
}

.section.section--form .content .right-content .form form .check-box
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 2.25rem 0 1.25rem;
}

.section.section--form .content .right-content .form form .check-box .acceptance-text
{
  margin-left: 0.9375rem;
}

.section.section--form .content .right-content .form form .button
{
  margin: 0;
  color: #717980;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  background-color: transparent;
  border: 1px solid #E5E5E5;
  width: 100%;
}

@media (min-width: 64em)
{
  .section.section--form .content .right-content .form form .button
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--form .content .right-content .form form .button:hover
{
  background-color: #0080FF;
  border: 1px solid #0080FF;
  color: #FFFFFF;
}

.section.section--form .content .right-content .form form .wpcf7-list-item
{
  margin-left: 0;
}

.section.section--form .content .right-content .form form a
{
  color: #717980;
  text-decoration: underline;
  -webkit-transition: color 250ms ease-in-out;
  transition: color 250ms ease-in-out;
}

.section.section--form .content .right-content .form form a:hover
{
  color: #0080FF;
}

.section.section--form .content .right-content .form form .recaptcha-disclaimer
{
  font-size: 0.875rem;
  font-style: italic;
  margin-bottom: 1.25rem;
}

.section.section--form .content .right-content .form form.invalid .wpcf7-response-output, .section.section--form .content .right-content .form form.unaccepted .wpcf7-response-output
{
  border: none;
  color: #ffb900;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 1.5rem 0 0;
  padding: 0;
}

.section.section--form .content .right-content .form form.sent
{
  text-align: center;
}

.section.section--form .content .right-content .form form.sent .form-wrapper
{
  display: none;
}

.section.section--form .content .right-content .form form.sent .wpcf7-response-output
{
  border: none;
  color: #0080FF;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 1.5rem 0 0;
  padding: 0;
}

.section.section--hero
{
  background-color: #E5E5E5;
  height: 100svh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media (min-width: 64em)
{
  .section.section--hero
  {
    height: 100dvh;
  }
}

.section.section--hero .bg-image
{
  position: absolute;
}

.section.section--hero .bg-image.bg-image--1
{
  bottom: 0;
  left: -12svw;
  width: 98svw;
}

@media (min-width: 48em)
{
  .section.section--hero .bg-image.bg-image--1
  {
    bottom: -20svh;
    left: -10svw;
    width: 90svw;
  }
}

.section.section--hero .bg-image.bg-image--2
{
  right: 0;
  top: 0;
  width: 70svw;
}

@media (min-width: 48em)
{
  .section.section--hero .bg-image.bg-image--2
  {
    right: -20svw;
    top: -30svh;
    width: 66svw;
  }
}

.section.section--hero .content
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 83.3333333333vw;
  flex: 0 0 83.3333333333vw;
  max-width: 83.3333333333vw;
  margin-left: 8.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.section.section--hero .content .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 2.8125rem;
  font-weight: 400;
  line-height: 2.5rem;
  letter-spacing: -1.8px;
}

@media (min-width: 64em)
{
  .section.section--hero .content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 5.625rem;
    line-height: 5rem;
    letter-spacing: -2.7px;
  }
}

@media (min-width: 64em)
{
  .section.section--hero .content .title
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 54.1666666667vw;
    flex: 0 0 54.1666666667vw;
    max-width: 54.1666666667vw;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }
}

.section.section--hero .content .subtitle
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
  margin-top: 2.1875rem;
}

@media (min-width: 64em)
{
  .section.section--hero .content .subtitle
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--hero .content .subtitle
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 54.1666666667vw;
    flex: 0 0 54.1666666667vw;
    max-width: 54.1666666667vw;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
  }
}

.section.section--hero .content .button
{
  margin: 0;
  color: #FFFFFF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-top: 2.1875rem;
}

@media (min-width: 64em)
{
  .section.section--hero .content .button
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--hero .content .bottom-content
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 2.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
}

.section.section--hero .content .bottom-content .text
{
  margin: 0;
  color: #717980;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-right: 0.6875rem;
}

.section.section--hero .content .bottom-content svg
{
  fill: none;
  stroke: #717980;
  margin-left: 0.625rem;
}

.section.section--hero .content .bottom-content svg circle,
.section.section--hero .content .bottom-content svg path,
.section.section--hero .content .bottom-content svg polygon,
.section.section--hero .content .bottom-content svg rect
{
  fill: none;
  stroke: #717980;
}

.section.section--image-description
{
  padding-top: 8.75rem;
  /*   &.border-bottom{

        .content{

        }
    } */
  /* 
          &:nth-child(1){

          } */;
}

@media (min-width: 64em)
{
  .section.section--image-description
  {
    padding-top: 12.5rem;
  }
}

.section.section--image-description .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
  position: relative;
}

@media (min-width: 64em)
{
  .section.section--image-description .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section.section--image-description .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 55vh;
  }
}

.section.section--image-description .content .left-content
{
  margin: 3.125rem 0 6.25rem;
  overflow: hidden;
  height: calc(100vw - 2rem);
}

.section.section--image-description .content .left-content::-webkit-scrollbar
{
  display: none;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .left-content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 37.5vw;
    flex: 0 0 37.5vw;
    max-width: 37.5vw;
    margin-left: 4.1666666667vw;
    height: 100%;
    margin-bottom: 0;
    margin-top: 0;
  }
}

.section.section--image-description .content .left-content .image
{
  aspect-ratio: 1;
  border: 5px solid #F9F9F9;
  border-radius: 25px;
  max-height: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.section.section--image-description .content .left-content .image.service
{
  border: none;
  border-radius: 0;
  -o-object-fit: contain;
  object-fit: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.section.section--image-description .content .left-content .image.service svg
{
  border: none;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .left-content .image.viaggi
  {
    width: 33.125rem;
  }
}

.section.section--image-description .content .left-content .image.coding
{
  position: relative;
}

.section.section--image-description .content .left-content .image svg
{
  aspect-ratio: 1;
  border: 1px solid #E5E5E5;
  border-radius: 20px;
  margin: 0 auto;
  max-height: 100%;
  width: 100%;
}

.section.section--image-description .content .right-content
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  /* VARIANTE VERDE PER PAGINA SERVICE */;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.3333333333vw;
    flex: 0 0 33.3333333333vw;
    max-width: 33.3333333333vw;
    margin-left: 8.3333333333vw;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.section.section--image-description .content .right-content.label-green .title
{
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section.section--image-description .content .right-content.label-green .listed
{
  margin: 0;
  color: #282828;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  background-color: #B7FF00;
  margin-bottom: 1.25rem;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content.label-green .listed
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content.viaggi-text .description
  {
    width: 80%;
  }
}

.section.section--image-description .content .right-content .listed
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  background-color: #F9F9F9;
  border-radius: 50px;
  margin-bottom: 1.25rem;
  padding: 0.40625rem 0.75rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .listed
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .listed
  {
    text-align: left;
  }
}

.section.section--image-description .content .right-content .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-bottom: 1.25rem;
  text-align: center;
  width: 80%;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .title
  {
    text-align: left;
    width: 50%;
    margin-top: 1.5rem;
  }
}

.section.section--image-description .content .right-content .description
{
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .description
  {
    margin-top: 1.5rem;
  }
}

.section.section--image-description .content .right-content .description .text
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .description .text
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

.section.section--image-description .content .right-content .description .text p
{
  margin-bottom: 2.5rem;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .description .text p
  {
    width: 80%;
  }
}

.section.section--image-description .content .right-content .description .text p:last-child
{
  margin-bottom: 0;
}

.section.section--image-description .content .right-content .description .button
{
  margin-top: 5rem;
}

@media (min-width: 64em)
{
  .section.section--image-description .content .right-content .description
  {
    text-align: left;
  }
}

.section.section--image-description:first-child .content
{
  border-top: 0;
}

@media (min-width: 64em)
{
  .section.section--image-description:nth-child(even) .content
  {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
  }
}

.section--project
{
  padding-top: 4.875rem;
}

@media (min-width: 64em)
{
  .section--project
  {
    padding-bottom: 7.8125rem;
    padding-top: 5.3125rem;
  }
}

.section--project h1
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
}

@media (min-width: 64em)
{
  .section--project h1
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section--project h1
  {
    margin-left: 8.3333333333vw;
    max-width: 62.5vw;
    width: 75%;
  }
}

.section--project .section-wrapper
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  padding-bottom: 4.875rem;
  padding-top: 4.875rem;
}

@media (min-width: 64em)
{
  .section--project .section-wrapper
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section--project .section-wrapper
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 5.3125rem;
  }
}

.section--project .section-wrapper .section-wrapper-meta
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  gap: 1.5625rem 0;
  margin-bottom: 3.375rem;
}

@media (min-width: 64em)
{
  .section--project .section-wrapper .section-wrapper-meta
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 16.6666666667vw;
    flex: 0 0 16.6666666667vw;
    max-width: 16.6666666667vw;
    margin-bottom: 0;
  }
}

.section--project .section-wrapper .section-wrapper-meta .metadata .metadata-label,
.section--project .section-wrapper .section-wrapper-meta .metadata .metadata-info
{
  color: #484848;
}

.section--project .section-wrapper .section-wrapper-meta .metadata .metadata-info
{
  font-weight: 700;
}

@media (min-width: 64em)
{
  .section--project .section-wrapper .section-wrapper-content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62.5vw;
    flex: 0 0 62.5vw;
    max-width: 62.5vw;
    margin-left: 4.1666666667vw;
  }
}

.section--project .section-wrapper .section-wrapper-content .section-content .block-title
{
  color: #0080FF;
}

.section--project .section-wrapper .section-wrapper-content .block-content
{
  margin-bottom: 1.875rem;
}

.section--project .section-wrapper .section-wrapper-content .block-content p,
.section--project .section-wrapper .section-wrapper-content .block-content span,
.section--project .section-wrapper .section-wrapper-content .block-content li
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.375rem;
}

.section.section--service-hero
{
  background-color: #EBEBEB;
  height: 100svh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.section.section--service-hero .hero-bg
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: block;
}

@media (min-width: 64em)
{
  .section.section--service-hero .hero-bg
  {
    display: block;
  }
}

.section.section--service-hero .hero-bg .bg-image
{
  display: none;
  position: absolute;
  overflow: hidden;
}

@media (min-width: 64em)
{
  .section.section--service-hero .hero-bg .bg-image
  {
    display: block;
  }
}

.section.section--service-hero .hero-bg .bg-image .bg-image-wrapper
{
  -webkit-filter: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.section.section--service-hero .hero-bg .bg-image .bg-image-wrapper picture,
.section.section--service-hero .hero-bg .bg-image .bg-image-wrapper img
{
  -webkit-filter: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.section.section--service-hero .hero-bg .bg-image.bg-image--1
{
  top: 37vh;
  right: -5vw;
}

.section.section--service-hero .hero-bg .bg-image.bg-image--2
{
  top: 51%;
  right: -35vw;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.section.section--service-hero .hero-bg .bg-image.bg-image--3
{
  bottom: 25vh;
  right: -23vw;
}

@media (min-width: 64em)
{
  .section.section--service-hero .hero-bg .bg-image.bg-image--1
  {
    top: 25vh;
    right: 38vw;
  }

  .section.section--service-hero .hero-bg .bg-image.bg-image--2
  {
    top: 42vh;
    right: 37vw;
    -webkit-transform: translate(75%, -50%);
    -ms-transform: translate(75%, -50%);
    transform: translate(75%, -50%);
  }

  .section.section--service-hero .hero-bg .bg-image.bg-image--3
  {
    bottom: 34vh;
    right: 35vw;
  }
}

.section.section--service-hero .hero-bg .bg-image picture,
.section.section--service-hero .hero-bg .bg-image img
{
  display: block;
  width: 80%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 64em)
{
  .section.section--service-hero .hero-bg .bg-image picture,
  .section.section--service-hero .hero-bg .bg-image img
  {
    width: 88%;
  }
}

.section.section--service-hero .content
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 91.6666666667vw;
  flex: 0 0 91.6666666667vw;
  max-width: 91.6666666667vw;
  margin-left: 4.1666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  z-index: 3;
  padding: 0 1rem;
}

@media (min-width: 64em)
{
  .section.section--service-hero .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 91.6666666667vw;
    flex: 0 0 91.6666666667vw;
    max-width: 91.6666666667vw;
    margin-left: 8.3333333333vw;
    padding: 0 1rem;
  }
}

.section.section--service-hero .content .content-main
{
  position: relative;
  z-index: 1;
}

.section.section--service-hero .content .content-main .highlighted
{
  background-color: #B7FF00;
  padding: 0.5625rem 1.125rem;
  border-radius: 2.8125rem;
  color: #282828;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1.5rem;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 500;
}

@media (min-width: 64em)
{
  .section.section--service-hero .content .content-main .highlighted
  {
    text-align: center;
    padding: 0.4375rem 1rem;
    font-size: 1.25rem;
  }
}

.section.section--service-hero .content .content-main .title
{
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 4.0625rem;
  font-weight: 400;
  line-height: 3.75rem;
}

@media (min-width: 64em)
{
  .section.section--service-hero .content .content-main .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 5.625rem;
    line-height: 5rem;
  }
}

.section.section--service-hero .content .content-main .subtitle
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
  margin-top: 0.9375rem;
}

@media (min-width: 64em)
{
  .section.section--service-hero .content .content-main .subtitle
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--service-hero .content .content-main .subtitle
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 29.1666666667vw;
    flex: 0 0 29.1666666667vw;
    max-width: 29.1666666667vw;
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    margin-bottom: 3.4375rem;
  }
}

.section.section--service-hero .content .sub-content
{
  position: absolute;
  bottom: clamp(5.625rem, 10vh, 7.1875rem);
  right: 1rem;
  left: auto;
  width: calc(100% - 2rem);
}

.section.section--service-hero .content .sub-content .logos
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.25rem;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.section.section--service-hero .content .sub-content .logos .logo-company
{
  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;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.section.section--service-hero .content .sub-content .logos .logo-company img
{
  display: block;
  height: 1.25rem;
  width: auto;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.section.section--service-hero .content .sub-content .logos .logo-company:nth-child(2) img
{
  height: 3.375rem;
}

@media (min-width: 64em)
{
  .section.section--service-hero .content .sub-content
  {
    bottom: 8.4375rem;
    left: 0;
    right: auto;
    width: auto;
  }

  .section.section--service-hero .content .sub-content .logos
  {
    gap: 1.5rem;
    overflow: visible;
  }

  .section.section--service-hero .content .sub-content .logos .logo-company img
  {
    height: 1.5625rem;
  }

  .section.section--service-hero .content .sub-content .logos .logo-company:nth-child(2) img
  {
    height: 4.125rem;
  }
}

.section.section--service-hero .content .bottom-content
{
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 2.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
}

.section.section--service-hero .content .bottom-content .text
{
  margin: 0;
  color: #717980;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-right: 0.6875rem;
}

.section.section--service-hero .content .bottom-content svg
{
  fill: none;
  stroke: #717980;
  margin-left: 0.625rem;
}

.section.section--service-hero .content .bottom-content svg circle,
.section.section--service-hero .content .bottom-content svg path,
.section.section--service-hero .content .bottom-content svg polygon,
.section.section--service-hero .content .bottom-content svg rect
{
  fill: none;
  stroke: #717980;
}

.section.section--section-project
{
  background-color: #EBEBEB;
}

.section.section--section-project .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 2.5rem;
  padding-top: 5rem;
  position: relative;
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--section-project .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 64em)
{
  .section.section--section-project .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
    padding-bottom: 7.5rem;
    padding-top: 11.25rem;
  }
}

@media (min-width: 64em)
{
  .section.section--section-project .content .container
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50vw;
    flex: 0 0 50vw;
    max-width: 50vw;
  }
}

.section.section--section-project .content .listed
{
  margin: 0;
  color: #282828;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  background-color: #B7FF00;
  border-radius: 50px;
  margin-bottom: 1.25rem;
  padding: 0.1875rem 0.5rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 64em)
{
  .section.section--section-project .content .listed
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

@media (min-width: 64em)
{
  .section.section--section-project .content .listed
  {
    text-align: center;
  }
}

.section.section--section-project .content .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-bottom: 1.25rem;
  text-align: center;
  width: 100%;
}

@media (min-width: 64em)
{
  .section.section--section-project .content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

@media (min-width: 64em)
{
  .section.section--section-project .content .title
  {
    text-align: center;
    width: 100%;
    margin-bottom: 3.125rem;
  }
}

.section.section--section-project .content .description
{
  text-align: center;
  margin-bottom: 3.125rem;
}

.section.section--section-project .content .description .text
{
  margin: 0;
  color: #717980;
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: normal;
}

@media (min-width: 64em)
{
  .section.section--section-project .content .description .text
  {
    font-family: "Archivo", sans-serif;
    font-size: 1.75rem;
    line-height: normal;
  }
}

.section.section--section-project .content .description .text p
{
  margin-bottom: 2.5rem;
}

.section.section--section-project .content .description .text p:last-child
{
  margin-bottom: 0;
}

.section.section--section-project .content .project-cta
{
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.section.section--scelto
{
  padding: 2.5rem 1rem;
}

.section.section--scelto .content
{
  padding-left: 16px;
  padding-right: 16px;
  max-width: 100%;
  text-align: center;
  padding: 2.5rem 1rem;
}

@media (min-width: 64em)
{
  .section.section--scelto .content
  {
    padding-left: 0;
    padding-right: 0;
  }
}

.section.section--scelto .content .label
{
  margin: 0;
  color: #016562;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 1rem;
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--scelto .content .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--scelto .content .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  text-align: center;
  margin-bottom: 1rem;
}

@media (min-width: 64em)
{
  .section.section--scelto .content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

.section.section--scelto .content .paragraph
{
  padding-inline: 1rem;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 1.5rem;
  color: #282828;
}

.section.section--scelto .content .logos
{
  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;
  gap: 1.25rem;
  padding-bottom: 0.625rem;
}

.section.section--scelto .content .logos .logo-company
{
  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;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.section.section--scelto .content .logos .logo-company img
{
  display: block;
  height: 0.9375rem;
  width: auto;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  -webkit-filter: brightness(0) saturate(100%) invert(48%) sepia(6%) saturate(663%) hue-rotate(159deg) brightness(95%) contrast(86%);
  filter: brightness(0) saturate(100%) invert(48%) sepia(6%) saturate(663%) hue-rotate(159deg) brightness(95%) contrast(86%);
}

.section.section--scelto .content .logos .logo-company:nth-child(2) img
{
  height: 3.375rem;
}

@media (min-width: 48em)
{
  .section.section--scelto
  {
    padding: 5rem 1.5rem;
  }

  .section.section--scelto .content
  {
    padding: 5rem 2.5rem;
  }

  .section.section--scelto .content .label
  {
    margin-bottom: 1.25rem;
  }

  .section.section--scelto .content .paragraph
  {
    padding-inline: 5rem;
  }
}

@media (min-width: 64em)
{
  .section.section--scelto
  {
    padding-top: 2.5rem;
  }

  .section.section--scelto .content
  {
    padding: 1.25rem;
  }

  .section.section--scelto .content .paragraph
  {
    margin: 0;
    color: #282828;
    font-family: "Archivo", sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: normal;
    padding-inline: 28.125rem;
    text-align: center;
  }
}

@media (min-width: 64em) and (min-width: 64em)
{
  .section.section--scelto .content .paragraph
  {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

@media (min-width: 64em)
{
  .section.section--scelto .content .logos
  {
    gap: 2.75rem;
    overflow: visible;
  }

  .section.section--scelto .content .logos .logo-company img
  {
    height: 2.1875rem;
  }

  .section.section--scelto .content .logos .logo-company:nth-child(2) img
  {
    height: 6.25rem;
  }
}

.section.section--carousel-commenti
{
  padding: 2.5rem 1rem;
  margin: 1.25rem auto 0;
  width: 100%;
}

.section.section--carousel-commenti .content
{
  background-color: #F9F9F9;
  border-radius: 15px;
  min-height: auto;
}

.section.section--carousel-commenti .content .carousel-layout
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  padding: 1.875rem 0rem 1.875rem 1.25rem;
  padding-right: 0;
}

.section.section--carousel-commenti .content .carousel-text
{
  padding-right: 0;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 200px;
}

.section.section--carousel-commenti .content .carousel-text .label
{
  margin: 0;
  color: #016562;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

@media (min-width: 64em)
{
  .section.section--carousel-commenti .content .carousel-text .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--carousel-commenti .content .carousel-text .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 64em)
{
  .section.section--carousel-commenti .content .carousel-text .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

.section.section--carousel-commenti .content .carousel-text .paragraph
{
  font-size: 1.375rem !important;
  margin-bottom: 1rem;
}

.section.section--carousel-commenti .content .carousel-text .note
{
  margin-top: auto;
  padding-top: 1.5rem;
}

.section.section--carousel-commenti .content .carousel-wrapper
{
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-right: 0;
}

.section.section--carousel-commenti .content .carousel-track
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  overflow: visible;
  scroll-behavior: smooth;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.section.section--carousel-commenti .content .carousel-card
{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(100% - 1rem);
  flex: 0 0 calc(100% - 1rem);
  background: #EBEBEB;
  border-radius: 20px;
  padding: 1.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  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: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 420px;
}

.section.section--carousel-commenti .content .carousel-card--custom
{
  background: linear-gradient(135deg, rgba(1, 101, 98, 0.05) 0%, rgba(179, 255, 51, 0.05) 100%);
  border: 2px dashed rgba(1, 101, 98, 0.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;
  min-height: 420px;
}

.section.section--carousel-commenti .content .card-content
{
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.section.section--carousel-commenti .content .card-header
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.section.section--carousel-commenti .content .card-header-text
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.section.section--carousel-commenti .content .card-title-row
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.section.section--carousel-commenti .content .card-badge
{
  background: #016562;
  color: white;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.35rem 0.7rem;
  border-radius: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.section.section--carousel-commenti .content .card-avatar
{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #016562 0%, #b3ff33 100%);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.section.section--carousel-commenti .content .card-avatar img
{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
}

.section.section--carousel-commenti .content .card-avatar:empty
{
  background: linear-gradient(135deg, #016562 0%, #b3ff33 100%);
}

.section.section--carousel-commenti .content .card-title
{
  font-size: 1.5rem !important;
  font-weight: 700;
  color: #282828;
  margin: 0;
}

.section.section--carousel-commenti .content .card-description
{
  font-size: 1rem !important;
  margin-bottom: 1rem;
  color: #282828;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.section.section--carousel-commenti .content .card-features
{
  list-style: none;
  margin: 0 0 auto 0;
  padding: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section.section--carousel-commenti .content .card-features li
{
  margin: 0.4rem 0;
  padding-left: 1.5rem;
  position: relative;
  font-size: 1.25rem !important;
  font-weight: 600;
  color: #282828;
}

.section.section--carousel-commenti .content .card-features li::before
{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background: #B7FF00;
}

.section.section--carousel-commenti .content .card-logos
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.5rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -8px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.section.section--carousel-commenti .content .logo-item
{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  margin-left: -10px;
}

.section.section--carousel-commenti .content .logo-item:first-child
{
  margin-left: 0;
}

.section.section--carousel-commenti .content .logo-item img
{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
}

.section.section--carousel-commenti .content .card-custom
{
  text-align: left;
  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: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  height: 100%;
}

.section.section--carousel-commenti .content .card-custom-icon
{
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: white;
  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;
  margin-bottom: 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.section.section--carousel-commenti .content .card-custom-icon span
{
  font-size: 2.5rem;
  font-weight: 300;
  color: #666;
}

.section.section--carousel-commenti .content .carousel-card--custom
{
  background: #7a7a7a;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.section.section--carousel-commenti .content .carousel-card--custom .card-custom-header
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.section.section--carousel-commenti .content .carousel-card--custom .card-title
{
  font-size: 1.5rem !important;
  color: white;
  margin-bottom: 1.5rem;
}

.section.section--carousel-commenti .content .carousel-card--custom .card-description
{
  color: white;
  opacity: 1;
  line-height: 1.4;
  margin-bottom: 0;
  font-size: 1.5rem !important;
  font-weight: 500;
}

.section.section--carousel-commenti .content .carousel-nav
{
  display: none !important;
}

.section.section--carousel-commenti .content .carousel-pagination
{
  text-align: center;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}

.section.section--carousel-commenti .content .pagination-dot
{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #d8d8d8;
  cursor: pointer;
  -webkit-transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  padding: 0;
}

.section.section--carousel-commenti .content .pagination-dot:hover
{
  background: #b0b0b0;
}

.section.section--carousel-commenti .content .pagination-dot.active
{
  background: #b3ff33;
  -webkit-box-shadow: 0 2px 8px rgba(179, 255, 51, 0.4);
  box-shadow: 0 2px 8px rgba(179, 255, 51, 0.4);
}

@media (min-width: 48em)
{
  .section.section--carousel-commenti
  {
    padding: 3.75rem 1.5rem;
  }

  .section.section--carousel-commenti .content .carousel-layout
  {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 3.125rem 2.5rem;
  }

  .section.section--carousel-commenti .content .carousel-text .title
  {
    font-size: 2.2rem;
  }

  .section.section--carousel-commenti .content .carousel-text .paragraph
  {
    font-size: 0.95rem;
  }

  .section.section--carousel-commenti .content .carousel-card
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 380px;
    flex: 0 0 380px;
    padding: 2rem;
  }

  .section.section--carousel-commenti .content .card-title
  {
    font-size: 1.3rem;
  }

  .section.section--carousel-commenti .content .card-description
  {
    font-size: 0.95rem;
  }

  .section.section--carousel-commenti .content .card-features li
  {
    font-size: 0.9rem;
  }
}

@media (min-width: 64em)
{
  .section.section--carousel-commenti
  {
    padding: 3.75rem 2.5rem 3.75rem 3.75rem;
  }

  .section.section--carousel-commenti .content
  {
    min-height: 500px;
    height: auto;
  }

  .section.section--carousel-commenti .content .carousel-layout
  {
    margin-right: 0 !important;
    padding: 2.5rem 0 2.5rem 2.5rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .section.section--carousel-commenti .content .carousel-text
  {
    padding-right: 2.5rem;
    min-height: 380px;
  }

  .section.section--carousel-commenti .content .carousel-text .title
  {
    font-size: 2.2rem;
    margin-bottom: 1.2rem;
    margin-top: 0;
  }

  .section.section--carousel-commenti .content .carousel-text .paragraph
  {
    font-size: 0.95rem;
    width: 100%;
    max-width: 28.125rem;
  }

  .section.section--carousel-commenti .content .carousel-text .note
  {
    position: absolute !important;
    bottom: 60px;
    font-size: 0.6875rem;
  }

  .section.section--carousel-commenti .content .carousel-wrapper
  {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .section.section--carousel-commenti .content .swiper
  {
    overflow: visible;
    max-width: 480px;
  }

  .section.section--carousel-commenti .content .swiper-slide.carousel-card
  {
    width: 360px;
    height: auto;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 1.8rem;
    min-height: 420px;
  }

  .section.section--carousel-commenti .content .card-description
  {
    margin-bottom: 1rem;
  }

  .section.section--carousel-commenti .content .carousel-pagination
  {
    margin-top: 1.5rem;
  }

  .section.section--carousel-commenti .content .carousel-card--custom .card-custom-header
  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
  }

  .section.section--carousel-commenti .content .carousel-card--custom .card-description
  {
    margin-top: 0;
  }
}

@media (min-width: 75em)
{
  .section.section--carousel-commenti
  {
    padding: 8.75rem 8.75rem 8.75rem 10rem;
  }

  .section.section--carousel-commenti .content
  {
    min-height: 550px;
  }

  .section.section--carousel-commenti .content .carousel-layout
  {
    padding: 3.125rem 0 3.125rem 3.125rem;
    margin-right: 0 !important;
  }

  .section.section--carousel-commenti .content .carousel-text
  {
    padding-right: 8.75rem;
    min-height: 400px;
  }

  .section.section--carousel-commenti .content .carousel-text .title
  {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
  }

  .section.section--carousel-commenti .content .carousel-text .paragraph
  {
    font-size: 1rem;
    width: 34.375rem;
  }

  .section.section--carousel-commenti .content .carousel-text .note
  {
    bottom: 71px;
  }

  .section.section--carousel-commenti .content .swiper
  {
    max-width: 600px;
  }

  .section.section--carousel-commenti .content .swiper-slide.carousel-card
  {
    width: 420px;
    padding: 2rem;
    min-height: 450px;
  }

  .section.section--carousel-commenti .content .card-description
  {
    margin-bottom: 1.2rem;
  }

  .section.section--carousel-commenti .content .carousel-pagination
  {
    margin-top: 2rem;
  }
}

.section.section--technologies
{
  padding-top: 8.75rem;
}

@media (min-width: 64em)
{
  .section.section--technologies
  {
    padding-top: 12.5rem;
  }
}

@media (min-width: 64em)
{
  .section.section--technologies .content
  {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 83.3333333333vw;
    flex: 0 0 83.3333333333vw;
    max-width: 83.3333333333vw;
    margin-left: 8.3333333333vw;
  }
}

.section.section--technologies .content .label
{
  margin: 0;
  color: #0080FF;
  font-family: "Martian Mono", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--technologies .content .label
  {
    font-size: 0.875rem;
    line-height: normal;
  }
}

.section.section--technologies .content .title
{
  margin: 0;
  color: #282828;
  font-family: "Archivo", sans-serif;
  font-size: 3.125rem;
  font-weight: 400;
  line-height: 3.125rem;
  letter-spacing: -1.5px;
  margin-bottom: 3.75rem;
  text-align: center;
}

@media (min-width: 64em)
{
  .section.section--technologies .content .title
  {
    font-family: "Archivo", sans-serif;
    font-size: 4.0625rem;
    line-height: 3.75rem;
    letter-spacing: -1.95px;
  }
}

.section.section--technologies .content .logos
{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.5rem;
  height: 3.125rem;
  overflow: auto;
  padding: 0 1rem;
  position: relative;
}

.section.section--technologies .content .logos::-webkit-scrollbar
{
  display: none;
}

@media (min-width: 64em)
{
  .section.section--technologies .content .logos
  {
    gap: 0 1.25rem;
    height: 5rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.section.section--technologies .content .logos .logo
{
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

@media (min-width: 64em)
{
  .section.section--technologies .content .logos .logo
  {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.section.section--technologies .content .logos .logo img
{
  height: 100%;
  width: auto;
}

@media (min-width: 64em)
{
  .section.section--technologies .content .logos .logo img
  {
    height: auto;
    width: 100%;
  }
}
/*# sourceMappingURL=maps/master.css.map */
