/* COLORS */
.container {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 575px) {
  .container {
    padding: 0 24px;
  }
}

.bg-purple {
  background: #041125;
}

.bg-purple-light {
  background: rgb(15, 24, 44);
}

.bg-linear-violet {
  background: linear-gradient(181deg, rgba(163, 114, 255, 0.1215686275) 1.15%, rgba(163, 114, 255, 0.03) 98.91%);
}

img {
  max-width: 100%;
}

.modal .modal-dialog {
  max-width: 650px;
}
@media screen and (max-width: 767px) {
  .modal .modal-dialog {
    max-width: 90vw;
    margin: 0 auto;
  }
}
.modal .modal-dialog .modal-content {
  background: linear-gradient(181deg, rgba(15, 24, 44, 0.1) 1.15%, rgba(163, 114, 255, 0.15) 98.91%);
  padding: 74px 50px 50px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
}
@media screen and (max-width: 767px) {
  .modal .modal-dialog .modal-content {
    padding: 54px 30px 30px;
  }
}
.modal .modal-dialog .modal-content .modal-body {
  padding: 0;
}
.modal .modal-dialog .modal-content .btn-close {
  position: absolute;
  right: 20px;
  top: 20px;
  filter: invert(1);
}

button.cta {
  border: none;
}

.cta {
  display: inline-flex;
  padding: 14px 19px 13px;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 8px;
  background: linear-gradient(90deg, #F0923F 0%, #FFB573 100%);
  color: #FFF;
  font-family: "Fira Code";
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
  text-decoration: none;
  text-transform: uppercase;
}
.cta:hover {
  background: linear-gradient(90deg, #DA741A 0%, #F0923F 100%);
}
.cta.purple {
  background: linear-gradient(90deg, #26344E 0%, #1A1F3D 100%);
}
.cta.purple:hover {
  background: linear-gradient(90deg, #46597E 0%, #3C4F72 100%);
}
.cta.pink {
  background: linear-gradient(90deg, #B97285 0%, #B74A4F 100%);
}
.cta.pink:hover {
  background: linear-gradient(90deg, #B74A4F 0%, #B97285 100%);
}
.cta.only-text {
  background: transparent;
  padding: 0;
  border-radius: 0;
  color: #F0923F;
}

.box {
  border-radius: 30px;
  min-height: 100%;
}

h1 {
  font-family: "Fira Code";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -2px;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 32px;
  }
}

h2 {
  color: #FFFFFF;
  font-family: "Fira Code";
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
  margin-bottom: 80px;
}
h2.h2-big {
  font-family: "Fira Code";
  font-size: 40px;
  letter-spacing: -1px;
  text-transform: none;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  h2.h2-big {
    font-size: 35px;
  }
}
@media screen and (max-width: 767px) {
  h2.h2-big {
    font-size: 28px;
  }
}

h3 {
  color: #F0923F;
  font-family: "Fira Code";
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 31px;
  letter-spacing: -1px;
}
h3.pink {
  color: #B5606D;
}
h3.white {
  color: #FFFFFF;
}

h4 {
  color: #F0923F;
  font-family: "Fira Code";
  font-size: 21px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  letter-spacing: 0.374px;
}

h5 {
  color: #F0923F;
  font-family: "Fira Code";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  letter-spacing: 0.374px;
}

p, li {
  color: #FFF;
  font-family: "Montserrat";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -0.24px;
}

#iub-legalDoc p, #iub-legalDoc li {
  color: #4d567a;
  font-size: 16px !important;
}
#iub-legalDoc .aside-main-wrapper main h2 {
  display: flex;
  gap: var(--spacer);
  align-items: center;
}
#iub-legalDoc footer {
  box-shadow: none !important;
}

.grecaptcha-badge {
  z-index: 2;
}

a {
  color: #FFFFFF;
}

li {
  margin-bottom: 3px;
}
li a:hover {
  color: #F0923F;
}

p.big {
  font-size: 18px;
  line-height: 25px;
}

.ellipse {
  position: absolute;
  border-radius: 100%;
  aspect-ratio: 1/1;
  z-index: 1;
}

.wpcf7 .column {
  margin-bottom: 20px;
}
.wpcf7 span {
  display: block;
}
.wpcf7 span.wpcf7-list-item {
  margin: 0 0 0 0 !important;
}
.wpcf7 span.wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.wpcf7 span.wpcf7-list-item input {
  width: 15px;
}
.wpcf7 .wrapper-input {
  position: relative;
  height: 49px;
}
@media screen and (max-width: 767px) {
  .wpcf7 .wrapper-input {
    height: 41px;
  }
}
.wpcf7 .wrapper-input.wrapper-textarea {
  height: 100px;
}
.wpcf7 .wrapper-input::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  opacity: 0.2;
  background: linear-gradient(109deg, rgba(201, 201, 201, 0.8) 1.57%, rgba(196, 196, 196, 0.1) 100%);
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  z-index: -1;
}
.wpcf7 .wrapper-input span.wpcf7-not-valid-tip {
  font-family: "Fira Code";
  font-size: 13px;
}
.wpcf7 input,
.wpcf7 textarea {
  background: transparent;
  border: none;
  width: 100%;
  padding: 16px 20px;
  color: #FFFFFF;
  font-family: "Fira Code";
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .wpcf7 input,
  .wpcf7 textarea {
    padding: 12px 15px;
  }
}
.wpcf7 input::-moz-placeholder, .wpcf7 textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
  font-family: "Fira Code";
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
  font-family: "Fira Code";
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.wpcf7 .wpcf7-submit {
  width: auto;
  background: linear-gradient(90deg, #F0923F 0%, #FFB573 100%);
  opacity: 1;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  text-transform: uppercase;
}
.wpcf7 .wpcf7-submit:disabled {
  opacity: 0.8;
  filter: grayscale(1);
}
.wpcf7 textarea {
  max-height: 100px;
  resize: none;
}
.wpcf7 label {
  color: #FFFFFF;
  font-family: "Fira Code";
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
}
.wpcf7 .wpcf7-response-output {
  font-family: "Fira Code";
  color: #FFFFFF;
  font-size: 14px;
  border-radius: 5px;
}
.wpcf7 .wpcf7-spinner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 100px;
}

tbody, td, tfoot, th, thead, tr {
  border-color: #fff !important;
  color: #fff;
  font-family: "Montserrat";
  font-size: 15px;
}

#requestInfo {
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
#requestInfo .ellipse.small {
  width: 30vw;
  background: rgba(24, 78, 92, 0.7);
  filter: blur(145px);
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
}

#news {
  padding-top: 120px;
  position: relative;
}
#news .ellipse.big {
  width: 60vw;
  background: rgba(124, 58, 237, 0.2);
  filter: blur(200px);
  top: 50%;
  right: 0;
  transform: translateY(-33%);
}
@media screen and (max-width: 767px) {
  #news .ellipse.big {
    width: 200vw;
  }
}
#news .ellipse.small {
  width: 35vw;
  background: rgba(233, 61, 152, 0.3);
  filter: blur(200px);
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  #news .ellipse.small {
    width: 120vw;
    right: -50vw;
  }
}
@media screen and (max-width: 1199px) {
  #news .swiperNews {
    width: 100vw;
  }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  #news .swiperNews {
    padding: 0 calc((100vw - 940px) / 2) 40px;
    margin: 0 calc((940px - 100vw) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #news .swiperNews {
    padding: 0 calc((100vw - 700px) / 2) 40px;
    margin: 0 calc((700px - 100vw) / 2);
  }
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  #news .swiperNews {
    padding: 0 calc((100vw - 520px) / 2) 40px;
    margin: 0 calc((520px - 100vw) / 2);
  }
}
@media screen and (max-width: 575px) {
  #news .swiperNews {
    padding: 0 24px 40px;
    margin: 0 -24px;
  }
}

.single-news {
  padding: 50px 30px;
  border-radius: 30px;
  background: #041125;
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.single-news .date {
  color: #848A94;
  font-family: "Fira Code";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.374px;
  margin-bottom: 6px;
}
.single-news .link-image {
  overflow: hidden;
}
.single-news .link-image img {
  transition: all 0.5s;
}
.single-news .link-image:hover img {
  transform: scale(1.1);
}
.single-news a {
  text-decoration: none;
}
.single-news img {
  aspect-ratio: 255/140;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  margin-bottom: 20px;
}
.single-news .cta {
  vertical-align: bottom;
  margin-top: auto;
}

.swiper-slide {
  height: auto;
}

.swiper-button-prev,
.swiper-button-next {
  top: auto;
  bottom: 0;
  color: #FFFFFF;
  width: 13px;
  height: 20px;
  margin-top: 0;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 20px;
}

@media screen and (min-width: 576px) and (max-width: 767px) {
  .swiper-button-prev {
    left: calc((100vw - 510px) / 2);
  }
}
@media screen and (max-width: 575px) {
  .swiper-button-prev {
    left: 32px;
  }
}

@media screen and (min-width: 576px) and (max-width: 767px) {
  .swiper-button-next {
    right: calc((100vw - 510px) / 2);
  }
}
@media screen and (max-width: 575px) {
  .swiper-button-next {
    right: 32px;
  }
}

.swiper-pagination {
  bottom: 0 !important;
  width: 50% !important;
  left: 50% !important;
  transform: translateX(-50%);
}
.swiper-pagination .swiper-pagination-bullet {
  background: #FFFFFF;
  opacity: 1;
  width: 10px;
  height: 10px;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #F0923F;
}

.overlay-gallery {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1001;
  gap: 30px;
  padding: 20px;
}
.overlay-gallery .wrapper-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2/2.7;
  max-height: 90%;
}
.overlay-gallery .wrapper-overlay img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  overflow: hidden;
}
.overlay-gallery .prevButton,
.overlay-gallery .nextButton {
  cursor: pointer;
  font-family: "Fira Code";
  font-size: 22px;
  color: #fff;
  background: rgba(255, 255, 255, 0.6);
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
}

/* HEADER */
#header {
  padding: 28px 0 0;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 4;
}
@media screen and (max-width: 991px) {
  #header {
    padding: 15px 0 0;
  }
}
#header .header-wrapper {
  padding: 0px 30px;
  position: relative;
}
@media screen and (max-width: 991px) {
  #header .header-wrapper {
    padding: 20px 30px;
  }
}
#header .header-wrapper:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: rgba(0, 12, 32, 0.8);
  box-shadow: 0px 0px 20px 0px rgba(9, 34, 48, 0.4);
  -webkit-backdrop-filter: blur(2.5px);
          backdrop-filter: blur(2.5px);
  z-index: -1;
}
#header .menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 44px;
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  #header .menu {
    gap: 35px;
  }
}
#header .menu li {
  margin-bottom: 0;
  padding: 30px 0;
}
#header .menu li.parent a {
  cursor: default;
}
#header .menu li.parent .sub-menu a {
  cursor: pointer;
}
#header .menu li.active a {
  color: #F0923F;
}
#header .menu li:hover .sub-menu {
  display: flex;
}
#header .menu li a {
  color: #FFF;
  font-family: "Fira Code";
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  text-decoration: none;
  padding: 30px 0;
}
#header .menu li a:hover {
  color: #F0923F;
}
#header .menu li .sub-menu {
  display: none;
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  max-width: 1115px;
  top: 82px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 30px 40px;
  border-radius: 16px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: linear-gradient(181deg, rgba(255, 255, 255, 0.12) 1.15%, rgba(163, 114, 255, 0.03) 98.91%);
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
  gap: 60px;
}
@media screen and (min-width: 991px) and (max-width: 1199px) {
  #header .menu li .sub-menu {
    max-width: 930px;
  }
}
#header .menu li .sub-menu li {
  display: flex;
  flex-direction: column;
  max-width: 360px;
  padding: 0;
}
#header .menu li .sub-menu li.active a {
  font-weight: 800;
  font-style: italic;
}
#header .menu li .sub-menu li a {
  padding: 0;
}
#header .menu li .sub-menu li a:hover .title {
  font-weight: 800;
  font-style: italic;
}
#header .menu li .sub-menu li a .title {
  font-family: "Montserrat";
  color: #F0923F;
}
#header .menu li .sub-menu li a .menu-item-description {
  color: #FFFFFF;
  font-family: "Montserrat";
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: initial;
}
#header #open-menu {
  cursor: pointer;
}
#header .request-info {
  margin-left: 25px;
}

#overlay-menu {
  display: none;
  position: fixed;
  top: 0;
  z-index: 4;
  background: #000C20;
  width: 100%;
  height: 100%;
  padding: 35px 0 135px;
}
#overlay-menu .wrapper {
  padding: 0 30px;
}
#overlay-menu #close-menu {
  cursor: pointer;
}
#overlay-menu .menu {
  margin: 0;
  padding: 0;
  list-style: none;
  padding-top: 100px;
}
#overlay-menu .menu li {
  margin-bottom: 23px;
}
#overlay-menu .menu li.parent a {
  cursor: default;
}
#overlay-menu .menu li.parent a:hover {
  color: #FFFFFF;
}
#overlay-menu .menu li.active a {
  color: #F0923F;
}
#overlay-menu .menu li a {
  display: block;
  color: #FFFFFF;
  font-family: "Fira Code";
  font-size: 20px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: -2px;
  text-transform: uppercase;
  text-decoration: none;
}
#overlay-menu .menu li a:hover {
  color: #F0923F;
}
#overlay-menu .menu li .sub-menu {
  list-style: none;
  padding: 15px 0 0 15px;
}
#overlay-menu .menu li .sub-menu li {
  margin-bottom: 10px;
}
#overlay-menu .menu li .sub-menu li.active a {
  color: #F0923F;
}
#overlay-menu .menu li .sub-menu li a {
  font-size: 16px;
  color: #FFFFFF;
  cursor: pointer;
}
#overlay-menu .menu li .sub-menu li a:hover {
  color: #F0923F;
}
#overlay-menu .request-info {
  margin-left: 25px;
}

/* FOOTER */
footer {
  background: #000;
  padding: 100px 0 20px;
}
@media screen and (max-width: 767px) {
  footer {
    padding-top: 50px;
  }
}
@media screen and (max-width: 991px) {
  footer .logo-img {
    margin-bottom: 25px;
  }
}
footer p {
  font-family: "Fira Code";
  font-size: 14px;
}
@media screen and (max-width: 991px) {
  footer p {
    margin-bottom: 0px;
  }
}
footer .icon-social {
  width: 24px;
}
@media screen and (max-width: 767px) {
  footer .mb-20 {
    margin-bottom: 25px;
  }
}
footer .copyright {
  padding-top: 20px;
  margin-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
footer .copyright p {
  font-size: 12px;
}
@media screen and (max-width: 991px) {
  footer .copyright .text-end {
    text-align: left !important;
  }
}

/* HOMEPAGE */
#homepage {
  overflow: hidden;
  position: relative;
  background: url("../images/bg-ellipse.svg"), #0F182C;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 185vw;
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  #homepage {
    background-size: 240vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #homepage {
    background-size: 270vw;
  }
}
@media screen and (max-width: 767px) {
  #homepage {
    background-size: 750vw;
  }
}
#homepage #hero {
  padding: 275px 0 680px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  #homepage #hero {
    padding: 220px 0 580px;
  }
}
#homepage #hero .container {
  position: relative;
  z-index: 3;
}
#homepage #hero .wrapper-video {
  position: absolute;
  aspect-ratio: 1440/814;
  width: 100%;
  height: auto;
  bottom: 0;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #homepage #hero .wrapper-video {
    aspect-ratio: 800/814;
  }
}
@media screen and (max-width: 767px) {
  #homepage #hero .wrapper-video {
    aspect-ratio: 390/670;
  }
}
#homepage #hero .wrapper-video video {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 0;
}
@media screen and (max-width: 991px) {
  #homepage #hero .wrapper-video video {
    width: auto;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
#homepage #hero .wrapper-video .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(23, 34, 59, 0) 47.3%, #0F182C 100%), linear-gradient(0deg, rgba(18, 25, 44, 0) 79.04%, #12192C 100%);
  z-index: 1;
}
#homepage #hero .ellipse.gray {
  width: 80vw;
  background: rgba(20, 27, 44, 0.6);
  filter: blur(200px);
  left: 5vw;
  top: 0%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #homepage #hero .ellipse.gray {
    width: 120vw;
    left: -10vw;
  }
}
#homepage #hero .ellipse.lightblue {
  width: 33vw;
  background: rgba(26, 126, 170, 0.4);
  filter: blur(200px);
  left: 50%;
  transform: translateX(-50%);
  top: 0%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #homepage #hero .ellipse.lightblue {
    display: none;
  }
}
#homepage #hero .ellipse.yellow {
  width: 40vw;
  background: rgba(240, 146, 63, 0.19);
  filter: blur(200px);
  right: 0;
  bottom: 12%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #homepage #hero .ellipse.yellow {
    width: 110vw;
    bottom: 0;
    left: 20vw;
    right: auto;
  }
}
#homepage #competence {
  margin-top: -280px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #homepage #competence {
    margin-top: -260px;
  }
}
#homepage #competence .box {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  padding: 90px 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: auto;
  gap: 12px;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #homepage #competence .box {
    padding: 60px 40px;
  }
}
@media screen and (max-width: 767px) {
  #homepage #competence .box {
    padding: 40px;
  }
}
#homepage #competence .box .cta {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #homepage #competence .wrapper-competence .swiperCompetence {
    width: 100vw;
  }
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  #homepage #competence .wrapper-competence .swiperCompetence {
    padding: 0 calc((100vw - 520px) / 2) 40px;
    margin: 0 calc((520px - 100vw) / 2);
  }
}
@media screen and (max-width: 575px) {
  #homepage #competence .wrapper-competence .swiperCompetence {
    padding: 0 24px 40px;
    margin: 0 -24px;
  }
}
#homepage #services {
  padding-top: 120px;
  position: relative;
}
#homepage #services .box-full {
  padding: 40px 30px;
  border-radius: 30px;
  margin-bottom: 25px;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #homepage #services .box-full {
    padding: 30px 20px;
  }
}
#homepage #services .box-full .logo-service {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 991px) {
  #homepage #services .box-full .logo-service {
    margin-bottom: 20px;
    max-width: 85px;
  }
}
#homepage #services .ellipse {
  width: 940px;
  background: rgba(163, 114, 255, 0.1);
  filter: blur(200px);
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #homepage #services .wrapper-services {
    padding: 0 20px;
  }
}
#homepage #about {
  padding-top: 120px;
}
#homepage #about h2 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #homepage #about .wrapper-description {
    flex-direction: column-reverse;
  }
}
#homepage #reviews {
  padding-top: 120px;
}
#homepage #reviews .box {
  padding: 40px 50px;
  -webkit-backdrop-filter: blur(35px);
          backdrop-filter: blur(35px);
}
@media screen and (max-width: 767px) {
  #homepage #reviews .box {
    padding: 40px;
  }
}
#homepage #reviews .box .heading-logo {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 767px) {
  #homepage #reviews .box .heading-logo {
    flex-direction: column;
    align-items: flex-start;
  }
}
#homepage #reviews .box .heading-logo p {
  margin-bottom: 0;
}

/* SINGLE SERVICE */
#single-service,
#single-product {
  overflow: hidden;
}
#single-service #intro,
#single-product #intro {
  position: relative;
  height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
#single-service #intro .container,
#single-product #intro .container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
#single-service #intro .wrapper,
#single-product #intro .wrapper {
  padding-bottom: 10%;
}
#single-service #intro p,
#single-product #intro p {
  font-size: 20px;
  line-height: 28px;
}
@media screen and (max-width: 767px) {
  #single-service #intro p,
  #single-product #intro p {
    font-size: 16px;
    line-height: 24px;
  }
}
#single-service #intro .overlay,
#single-product #intro .overlay {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 24, 44, 0) 0%, #0F182C 100%);
}
@media screen and (max-width: 767px) {
  #single-service #intro .overlay,
  #single-product #intro .overlay {
    background: linear-gradient(180deg, rgba(15, 24, 44, 0) 0%, #0F182C 90%);
  }
}
#single-service #intro .image-bg,
#single-product #intro .image-bg {
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
}
#single-service #intro .cta-wrapper,
#single-product #intro .cta-wrapper {
  display: flex;
  gap: 20px;
}
#single-service .section-box,
#single-product .section-box {
  padding-top: 120px;
  position: relative;
}
#single-service .section-box .box-info,
#single-product .section-box .box-info {
  display: flex;
  align-items: center;
  padding: 50px;
  gap: 60px;
  border-radius: 30px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: linear-gradient(181deg, rgba(2, 14, 32, 0.2) 1.15%, rgba(20, 184, 189, 0.06) 98.91%);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
#single-service .section-box .box-info.free-trial,
#single-product .section-box .box-info.free-trial {
  flex-wrap: wrap;
  justify-content: center;
  padding: 80px 50px;
}
@media screen and (max-width: 1199px) {
  #single-service .section-box .box-info.free-trial,
  #single-product .section-box .box-info.free-trial {
    flex-direction: column;
    padding: 35px 30px;
  }
}
#single-service .section-box .box-info.free-trial .image-box,
#single-product .section-box .box-info.free-trial .image-box {
  aspect-ratio: 1086/615;
  width: calc(70% - 30px);
}
@media screen and (max-width: 1199px) {
  #single-service .section-box .box-info.free-trial .image-box,
  #single-product .section-box .box-info.free-trial .image-box {
    width: 100%;
  }
}
#single-service .section-box .box-info.free-trial .info,
#single-product .section-box .box-info.free-trial .info {
  width: calc(30% - 30px);
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  #single-service .section-box .box-info.free-trial .info,
  #single-product .section-box .box-info.free-trial .info {
    width: calc(85% - 30px);
  }
}
@media screen and (max-width: 991px) {
  #single-service .section-box .box-info.free-trial .info,
  #single-product .section-box .box-info.free-trial .info {
    width: 100%;
  }
}
#single-service .section-box .box-info.free-trial .info h3,
#single-product .section-box .box-info.free-trial .info h3 {
  font-size: 24px;
}
#single-service .section-box .box-info.free-trial .wrapper-form,
#single-product .section-box .box-info.free-trial .wrapper-form {
  max-width: 650px;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #single-service .section-box .box-info,
  #single-product .section-box .box-info {
    padding: 40px;
    gap: 46px;
  }
}
@media screen and (max-width: 767px) {
  #single-service .section-box .box-info.mobile-reverse,
  #single-product .section-box .box-info.mobile-reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  #single-service .section-box .box-info,
  #single-product .section-box .box-info {
    flex-direction: column;
    padding: 35px 30px;
  }
}
#single-service .section-box .box-info .info,
#single-product .section-box .box-info .info {
  width: calc(53% - 30px);
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #single-service .section-box .box-info .info,
  #single-product .section-box .box-info .info {
    width: calc(58% - 23px);
  }
}
@media screen and (max-width: 767px) {
  #single-service .section-box .box-info .info,
  #single-product .section-box .box-info .info {
    width: 100%;
  }
}
#single-service .section-box .box-info .info h3,
#single-product .section-box .box-info .info h3 {
  font-size: 24px;
}
#single-service .section-box .box-info .image-box,
#single-product .section-box .box-info .image-box {
  aspect-ratio: 369/389;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 12px;
  width: calc(47% - 30px);
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #single-service .section-box .box-info .image-box,
  #single-product .section-box .box-info .image-box {
    width: calc(42% - 23px);
  }
}
@media screen and (max-width: 767px) {
  #single-service .section-box .box-info .image-box,
  #single-product .section-box .box-info .image-box {
    width: 100%;
  }
}
#single-service .section-box .ellipse,
#single-product .section-box .ellipse {
  width: 80vw;
  background: rgba(124, 58, 237, 0.2);
  filter: blur(200px);
  top: 50%;
  transform: translateY(-30%);
  left: -50%;
}
#single-service .section-box .modal-dialog,
#single-product .section-box .modal-dialog {
  max-width: 1100px;
}
@media screen and (max-width: 1199px) {
  #single-service .section-box .modal-dialog,
  #single-product .section-box .modal-dialog {
    max-width: 90vw;
  }
}
#single-service .section-box .modal-dialog video,
#single-product .section-box .modal-dialog video {
  max-width: 100%;
}
#single-service #details,
#single-product #details {
  padding-top: 150px;
  padding-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 991px) {
  #single-service #details #accordionDetails,
  #single-product #details #accordionDetails {
    margin-top: 40px;
  }
}
#single-service #details #accordionDetails .accordion-item,
#single-product #details #accordionDetails .accordion-item {
  margin-bottom: 4px;
  background: transparent;
  border-radius: 12px;
  border: none;
}
#single-service #details #accordionDetails .accordion-item button,
#single-product #details #accordionDetails .accordion-item button {
  border-radius: 12px;
  padding: 14px 55px 14px 40px;
  background: #07122A;
  box-shadow: none;
  margin-bottom: 4px;
  color: #FFFFFF;
  font-size: 18px;
}
#single-service #details #accordionDetails .accordion-item button:not(.collapsed)::after,
#single-product #details #accordionDetails .accordion-item button:not(.collapsed)::after {
  transform: none;
  display: none;
}
#single-service #details #accordionDetails .accordion-item button:not(.collapsed)::before,
#single-product #details #accordionDetails .accordion-item button:not(.collapsed)::before {
  display: block;
}
#single-service #details #accordionDetails .accordion-item button::after,
#single-product #details #accordionDetails .accordion-item button::after {
  content: "+";
  background-image: none;
  color: #fff;
  right: 40px;
  width: auto;
  margin: 0;
  position: absolute;
}
#single-service #details #accordionDetails .accordion-item button::before,
#single-product #details #accordionDetails .accordion-item button::before {
  content: "-";
  color: #fff;
  display: none;
  right: 40px;
  position: absolute;
}
#single-service #details .ellipse.big,
#single-product #details .ellipse.big {
  width: 70vw;
  filter: blur(200px);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #single-service #details .ellipse.big,
  #single-product #details .ellipse.big {
    width: 200vw;
  }
}
#single-service #details .ellipse.small,
#single-product #details .ellipse.small {
  width: 33vw;
  filter: blur(200px);
  top: 70px;
  left: 50%;
  transform: translateX(-30%);
}
@media screen and (max-width: 767px) {
  #single-service #details .ellipse.small,
  #single-product #details .ellipse.small {
    width: 100vw;
  }
}
#single-service #image-report,
#single-product #image-report {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  #single-service #image-report,
  #single-product #image-report {
    padding-top: 80px;
    padding-bottom: 50px;
  }
}
#single-service #image-report .wrapper-image,
#single-product #image-report .wrapper-image {
  position: relative;
}
#single-service #image-report .wrapper-image img,
#single-product #image-report .wrapper-image img {
  max-width: 100%;
}
#single-service #image-report .wrapper-image .caption,
#single-product #image-report .wrapper-image .caption {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  #single-service #image-report .wrapper-image .caption,
  #single-product #image-report .wrapper-image .caption {
    bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #single-service #image-report .wrapper-image .caption,
  #single-product #image-report .wrapper-image .caption {
    bottom: -15px;
  }
}
@media screen and (max-width: 767px) {
  #single-service #image-report .wrapper-image .caption,
  #single-product #image-report .wrapper-image .caption {
    bottom: -50px;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .page-template-prova_gratuita #single-product #intro {
    height: 750px;
  }
}
@media screen and (max-width: 767px) {
  .page-template-prova_gratuita #single-product #intro {
    height: 650px;
  }
}
@media screen and (max-width: 991px) {
  .page-template-prova_gratuita #single-product #intro .overlay {
    background: linear-gradient(180deg, rgba(15, 24, 44, 0.5) 0%, #0F182C 90%);
  }
}
.page-template-prova_gratuita #single-product .section-box {
  padding-top: 60px;
  padding-bottom: 120px;
}

#single-service #details .ellipse.big {
  background: rgba(124, 58, 237, 0.2);
}
#single-service #details .ellipse.small {
  background: rgba(20, 160, 222, 0.3);
}

#single-product #details .ellipse.big {
  background: rgba(182, 74, 80, 0.3);
}
#single-product #details .ellipse.small {
  background: rgba(184, 110, 128, 0.3);
}

/* ARCHIVE NEWS */
#archive-news {
  position: relative;
  overflow: hidden;
  padding: 200px 0 120px;
}
@media screen and (max-width: 767px) {
  #archive-news {
    padding: 170px 0 120px;
  }
}
#archive-news .articles {
  padding-top: 60px;
}
#archive-news .articles .gap-30 {
  row-gap: 30px;
}
#archive-news .articles .wrapper-pagination {
  margin-top: 40px;
  gap: 20px;
  position: relative;
  display: flex;
  align-items: center;
  width: 100px;
  justify-content: center;
}
#archive-news .articles .wrapper-pagination .page-numbers {
  font-family: "Fira Code";
  font-size: 20px;
  color: #FFFFFF;
  text-decoration: none;
}
#archive-news .articles .wrapper-pagination .page-numbers.current {
  font-weight: 700;
}
#archive-news .articles .wrapper-pagination .page-numbers.next .pagination-arrow::after {
  content: ">";
}
#archive-news .articles .wrapper-pagination .page-numbers .pagination-arrow {
  position: relative;
  width: 10px;
  height: 14px;
}
#archive-news .articles .wrapper-pagination .page-numbers .pagination-arrow::after {
  content: "<";
  position: absolute;
  font-size: 18px;
  line-height: 15px;
  top: 0;
}
#archive-news .ellipse.first {
  width: 45vw;
  background: rgba(233, 61, 152, 0.3);
  filter: blur(200px);
  top: 55vh;
  left: -15vw;
}
#archive-news .ellipse.second {
  width: 60vw;
  background: rgba(163, 114, 255, 0.2);
  filter: blur(200px);
  top: 50%;
  right: -10vw;
  transform: translateY(-50%);
}
#archive-news .ellipse.third {
  width: 50vw;
  background: rgba(124, 58, 237, 0.2);
  filter: blur(200px);
  left: 50%;
  transform: translateX(-50%);
  bottom: -300px;
}

/* SINGLE POST */
#single-post,
#single-page {
  padding: 200px 0 120px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #single-post,
  #single-page {
    padding: 170px 0 120px;
  }
}
#single-post #content h1,
#single-page #content h1 {
  margin-bottom: 30px;
}
#single-post #content h2,
#single-page #content h2 {
  color: #F0923F;
  font-family: "Fira Code";
  font-size: 21px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px;
  letter-spacing: 0.374px;
  text-transform: none;
  margin: 30px 0 8px;
}
#single-post #content .date,
#single-page #content .date {
  font-family: "Fira Code";
  font-size: 19px;
  font-style: normal;
  font-weight: 500;
  color: #F0923F;
  margin-bottom: 25px;
}
#single-post #content .img-post,
#single-page #content .img-post {
  aspect-ratio: 1400/700;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  overflow: hidden;
  border-radius: 15px;
  margin-bottom: 40px;
}
#single-post #content .col-1,
#single-page #content .col-1 {
  position: relative;
}
#single-post #content .wrapper-tags,
#single-page #content .wrapper-tags {
  font-family: "Fira Code";
  font-weight: 300;
  color: #F0923F;
  text-transform: uppercase;
  padding-top: 40px;
}
#single-post #content .ellipse.big,
#single-page #content .ellipse.big {
  width: 60vw;
  background: rgba(124, 58, 237, 0.2);
  filter: blur(200px);
  top: 0;
  left: 0;
}
#single-post #content .ellipse.small,
#single-page #content .ellipse.small {
  width: 50vw;
  background: rgba(20, 160, 222, 0.3);
  filter: blur(200px);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#single-post #content .wrapper-share,
#single-page #content .wrapper-share {
  display: flex;
  flex-direction: column;
  gap: 15px;
  position: relative;
  top: 0;
  height: 153px;
}
#single-post #content .wrapper-share a:hover img,
#single-page #content .wrapper-share a:hover img {
  filter: brightness(0) saturate(100%) invert(77%) sepia(65%) saturate(2674%) hue-rotate(331deg) brightness(98%) contrast(92%);
}
#single-post #content .wrapper-share img,
#single-page #content .wrapper-share img {
  aspect-ratio: 1/1;
  width: 27px;
}
#single-post .wrapper-posts,
#single-page .wrapper-posts {
  padding-top: 40px;
}

/* PAGE 404 */
#not-found {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#not-found p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 25px;
}
#not-found .ellipse.big {
  width: 60vw;
  background: rgba(0, 0, 0, 0.8);
  filter: blur(200px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}/*# sourceMappingURL=style.css.map */