/* ----------------------------------------------- Heated Shape Shader Background */

#what,
.thankyou-section {
  position: relative;
  overflow: hidden;
}

#what .container,
.thankyou-section .container {
  position: relative;
  z-index: 1;
}

#heatedShapeCanvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}


/* ----------------------------------------------- Form Card */

.formCard {
  background: rgba(3, 15, 52, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  border: 1px solid rgba(34, 158, 255, 0.15);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.formCard .form-label {
  font-family: var(--font2);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--lightblu);
  margin-bottom: 6px;
}

.formCard .form-control {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(34, 158, 255, 0.2);
  border-radius: 8px;
  color: var(--white);
  padding: 12px 16px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.formCard .form-control::placeholder {
  color: rgba(144, 206, 255, 0.35);
}

.formCard .form-control:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--activeColorHover);
  box-shadow: 0 0 0 3px rgba(34, 158, 255, 0.15);
  color: var(--white);
}

.formCard textarea.form-control {
  resize: vertical;
  min-height: 100px;
}

.formCard .form-check-input {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(34, 158, 255, 0.3);
}

.formCard .form-check-input:checked {
  background-color: var(--activeColor);
  border-color: var(--activeColor);
}

.formCard .form-check-label {
  color: var(--lightblu);
}


/* ----------------------------------------------- AI Sparkle Animated Icon */

.ai-sparkle-icon {
  flex-shrink: 0;
  color: var(--activeColorHover);
}

.ai-sparkle-icon .sparkle-main {
  animation: sparkleRotate 3s ease-in-out infinite;
  transform-origin: 12px 10px;
}

.ai-sparkle-icon .sparkle-small-1 {
  animation: sparklePulse 2s ease-in-out infinite 0.5s;
  transform-origin: 19px 5px;
}

.ai-sparkle-icon .sparkle-small-2 {
  animation: sparklePulse 2.5s ease-in-out infinite 1s;
  transform-origin: 5px 19px;
}

@keyframes sparkleRotate {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.9; }
  25% { transform: scale(1.15) rotate(8deg); opacity: 1; }
  50% { transform: scale(0.9) rotate(-5deg); opacity: 0.7; }
  75% { transform: scale(1.1) rotate(3deg); opacity: 1; }
}

@keyframes sparklePulse {
  0%, 100% { transform: scale(1); opacity: 0.6; }
  50% { transform: scale(1.4); opacity: 1; }
}


/* ----------------------------------------------- Dropzone Upload */

.dropzone-area {
  position: relative;
  border: 2px dashed rgba(34, 158, 255, 0.25);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  padding: 30px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  overflow: hidden;
}

.dropzone-area:hover,
.dropzone-area.dragover {
  border-color: var(--activeColorHover);
  background: rgba(34, 158, 255, 0.06);
}

.dropzone-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.dropzone-icon {
  font-size: 40px;
  color: var(--activeColor);
  margin-bottom: 10px;
  display: block;
}

.dropzone-text {
  color: var(--lightblu);
  font-size: 15px;
  margin-bottom: 5px;
}

.dropzone-text span {
  font-size: 13px;
  opacity: 0.7;
}

.dropzone-hint {
  font-size: 12px;
  color: rgba(144, 206, 255, 0.4);
  margin: 0;
}

.dropzone-preview {
  position: relative;
  display: inline-block;
}

.dropzone-preview img {
  max-width: 200px;
  max-height: 200px;
  border-radius: 10px;
  object-fit: cover;
  border: 2px solid rgba(34, 158, 255, 0.3);
}

.dropzone-remove {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  border: none;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: all 0.2s ease;
}

.dropzone-remove:hover {
  transform: scale(1.15);
  background: #ff3355;
}


/* ----------------------------------------------- Submit Button */

button.cta-standard.big {
  font-family: var(--font2);
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 14px 20px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, var(--activeColor), var(--violet));
  color: var(--white);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

button.cta-standard.big:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(34, 158, 255, 0.3);
  background: linear-gradient(135deg, var(--activeColorHover), #c030ff);
}

button.cta-standard.big:active {
  transform: translateY(0);
}


/* ----------------------------------------------- Thank You Page */

.thankyou-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.thankyou-card {
  background: rgba(3, 15, 52, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 20px;
  border: 1px solid rgba(34, 158, 255, 0.15);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.thankyou-icon {
  font-size: 70px;
  color: var(--green);
  animation: pulseCheck 2s ease-in-out infinite;
}

@keyframes pulseCheck {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.85; }
}

.thankyou-divider {
  width: 80px;
  height: 2px;
  margin: 0 auto;
  background: linear-gradient(90deg, transparent, var(--activeColor), var(--violet), transparent);
  border-radius: 2px;
}


/* ----------------------------------------------- Form Validation States */

.formCard .form-control.is-invalid {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(255, 0, 51, 0.15);
}

.formCard .form-check-input.is-invalid {
  border-color: var(--red);
}

.formCard .invalid-feedback {
  color: #ff6688;
  font-size: 13px;
}


/* ----------------------------------------------- General */
:root {
  --body-font-size: 18px;
  --font1: "Montserrat", sans-serif;
  --font2: "Akshar", sans-serif;
  --activeColor: #1F77BC;
  --activeColorHover: #229EFF;
  --lightblu: #90ceff;
  --mediumlightblu: #052f50;
  --blu: #030F34;
  --blu2: #1F77BC;
  --blu3: #010a24;
  --violet: #AC00E1;
  --blubghovered: #0C0E3D;
  --violettrasp: rgb(172 0 255 / 17%);
  --blutrasp: rgb(34 58 255 / 6%);
  --brandgrey: #E3DFDD;
  --lightgrey: #f8f9fa;
  --shadowgrey: #c9c9c9;
  --linegrey: #f0f0f0;
  --superlightgrey: #f5f5f5;
  --mediumgrey: #c9c9c9;
  --grey: #666;
  --success: #e9f7d9;
  --green: #39b43d;
  --orangeHubspot: #ff5c35;
  --red: #ff0033;
  --white: #FFF;
  --white10: rgb(255 255 255 /10%);
  --white20: rgb(255 255 255 /20%);
  --white30: rgb(255 255 255 /30%);
  --white40: rgb(255 255 255 /40%);
  --white50: rgb(255 255 255 /50%);
  --black: #000;
  --black5: rgb(0 0 0 /5%);
  --black10: rgb(0 0 0 /10%);
  --black20: rgb(0 0 0 /20%);
  --black40: rgb(0 0 0 /40%);
  --black50: rgb(0 0 0 /50%);
  --black60: rgb(0 0 0 /60%);
  --black70: rgb(0 0 0 /70%);
  --black80: rgb(0 0 0 /80%);
  --antracite: #3D3C3B;
  --antracite2: #313131;
  --headingScale: 1.5;
}

.blu {
  color: var(--lightblu);
}

.card.bgTraspBlu {
  color: var(--lightblu) Im !important;
}

.padding-spaced {
  padding-top: 8rem !important;
}

.loghiseo {
  background-color: transparent !important;
  width: 100%;
  --bs-card-border-color: transparent !important;
}

.evidence {
  color: var(--activeColorHover);
}

.dtr-icon-box {
  display: flex;
  align-items: center;
}

.dtr-icon-box-icon {
  width: 90px;
  color: var(--activeColorHover);
}

a.cta-bannerhub {
  background: var(--activeColor);
  color: #fff;
  font-family: var(--font2);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 24px;
  padding: 10px 20px;
  border-radius: 8px;
  border: 1px solid transparent;
  display: block;
}

a.cta-bannerhub:hover {
  color: var(--white);
  background: var(--activeColorHover);
}

.dtr-icon-box-text {
  font-size: 24px;
  font-weight: 600;
  padding-left: 20px;
  text-transform: uppercase;
  color: #fff;
  line-height: 28px;
}
.dtr-icon-box-text div.formula{
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  color: #fff;
  line-height: 14px;
  margin-bottom: 10px;
}

.dtr-icon-box-text .subtext {
  display: block;
  font-size: 16px;
  line-height: 16px;
  font-weight: normal;
  color: #fff;
  margin-top:10px;
}

.activeColor,
.activecolor {
  color: var(--activeColor) !important;
}

.activeColorHover,
.bluActive,
.activeColorHover {
  color: var(--activeColorHover) !important;
}

.activeColorBg {
  background: var(--activeColor) !important;
}

.activeColorHoverBg {
  background: var(--activeColorHover) !important;
}

.lightSeparator {
  width: 100%;
  height: 1px;
  display: block;
  border-bottom: 1px solid var(--white20);
}

.orangeHubspot {
  color: var(--orangeHubspot);
}

.blu1 {
  color: var(--blu);
}

.blu2 {
  color: var(--blu2);
}

.blu3 {
  color: var(--blu3);
}


.bg--brandgrey {
  background: var(--brandgrey);
}

.bg--black {
  background: var(--black);
}

.bg--white {
  background: var(--white);
}

.bg--w20 {
  background: var(--white20);
}

.bg--mediumlightblue {
  background: var(--mediumlightblu);
}

.bg-darkblue {
  background: var(--blu);
}

.r45 {
  transform: rotate(45deg);
}

.r30 {
  border-radius: 30px;
}

.topNavSpacer {
  padding-top: 100px;
}

.logohubspot {
  padding-top: 6px;
  padding-left: 20px
}

.logohubspot img {
  width: 90px;
}


a.smallcta {
  font-family: var(--font2);
  color: var(--activeColor);
  text-decoration: none;
  font-size: 20px;
  text-transform: uppercase;
}

.breadcrump {
  font-size: 12px;
  font-weight: 400;
}

.breadcrump i {
  color: var(--activeColorHover);
  opacity: 0.5;
}

small,
.small {
  font-size: 13px;
}

.smallInfo{
  color: var(--lightblu);
  font-size: 12px;
  letter-spacing: 2px;
}

quote {
  position: relative;
  font-size: 24px;
  font-weight: 300;
  padding-top: 100px;
  margin-top: 80px;
}

quote::before {
  content: "";
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/quote.svg)no-repeat center center;
  background-size: contain;
  z-index: 2;
}


ul.nobullets {
  margin: 0;
  padding: 0;
  list-style: none;
}


#countdownWrap {
  display: inline-flex;
  flex-wrap: wrap;
}

#countdownWrap .countdownBox {
  font-family: var(--font2);
  color: var(--activeColorHover);
  font-size: 30px;
  padding: 20px 20px;
  background: #fff;
  border-radius: 4px;
  margin-right: 5px;
  box-shadow: 5px 5px 20px var(--blu3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#countdownWrap .countdownBox span {
  font-size: 10px;
  font-family: var(font1);
  color: var(--antracite2);
}

#countdownWrap p .card.bgTraspBlu {
  color: var(--lightblu);
}

#countdownWrap {
  margin-top: revert !important;
}

.sectionMiniTitleSmall {
  font-family: var(--font2);
  text-transform: uppercase;
  text-decoration: none;
  font-size: calc(0.8rem * var(--headingScale));
  letter-spacing: 2px;
  color: #fff;
}

ul.geocheck li {
  padding: 0px 8px 16px 32px;
  list-style: none;
  background-image: url(../img/check_icon.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 20px;
  font-family: var(--font2);
  font-size: 20px;
  color: #fff;
}

.relatorImgWrapper {
  overflow: hidden;
  width: 100%;
}

.relatorImgWrap {
  background: var(--lightblu);
  width: 100%;
}

.card.bgTraspBlu .relatorImgWrap {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: block;
  overflow: hidden;
  background: var(--lightblu);
}

.card.bgTraspBlu .relatorImgWrap img {
  width: 80px;
  height: 80px;
  display: block;
}


/* ===================================
           HERO VIDEO SECTION STYLES
           =================================== */

.videoBg {
  position: absolute;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -1;
  top: 0;
  left: 0;
  opacity: 0.05;
}

.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 1;
  object-fit: cover;
}


/* Mobile Styles */
@media (max-width: 767.98px) {
  .hero-video {
    object-position: center center;
  }
}

/* Tablet Styles */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero-content {
    margin-bottom: 2.5rem;
    margin-right: 1.5rem;
  }
}




/* General style */

body {
  background: var(--blu);
  font-family: var(--font1);
  font-weight: 300;
  font-size: var(--body-font-size);
  color: var(--lightblu);
}

body::-webkit-scrollbar {
  width: 8px;
}

body::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

body::-webkit-scrollbar-thumb {
  background-color: var(--blu2);
  outline: 1px solid slategrey;
  border-radius: 4px;
}

a {
  color: var(--activeColor);
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

a:hover {
  color: var(--activeColorHover);
}

footer {
  background: #031243;
  background: linear-gradient(0deg, rgba(3, 18, 51) 0%, rgb(1, 11, 43) 100%);
}





.underlined {
  text-decoration: underline;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font2);
  color: var(--white);
  font-weight: 300;
}


/* scala dorica 1 → 1.25 come esempio */
h1 {
  font-size: calc(2.488rem * var(--headingScale));
}

h2 {
  font-size: calc(2.074rem * var(--headingScale));
}

h3 {
  font-size: calc(1.728rem * var(--headingScale));
}

h4 {
  font-size: calc(1.44rem * var(--headingScale));
}

.meganumber {
  font-size: calc(2.8rem * var(--headingScale));
  color: var(--blu);
  font-family: var(--font2);
}


.line-gradviolet {
  position: relative;
}

.line-gradviolet:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  background: linear-gradient(23deg, rgba(172, 0, 225, 0) 0%, rgba(172, 0, 225, 1) 50%, rgba(172, 0, 225, 0) 100%);
  opacity: 0.3;
}

.line-gradblu {
  position: relative;
}

.line-gradblu:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  background: linear-gradient(23deg, rgba(31, 119, 188, 0) 0%, rgba(31, 119, 188, 1) 50%, rgba(31, 119, 188, 0) 100%);
  opacity: 0.3;
}


.line-gradblu2 {
  position: relative;
}

.line-gradblu2:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  background: linear-gradient(90deg, rgba(31, 119, 188, 1) 0%, rgba(31, 119, 188, 0) 100%);
  opacity: 0.3;
}

.line-gradblu3 {
  position: relative;
}

.line-gradblu3:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  background: linear-gradient(90deg, rgba(31, 119, 188, 0) 0%, rgba(31, 119, 188, 1) 100%);
  opacity: 0.3;
}


#certificationsTrustBar {
  background: linear-gradient(0deg, rgb(2 13 45) 61%, rgb(172 0 225 / 18%) 100%);
  border-top: 1px solid rgb(217 93 255 / 30%);
  border-bottom: 1px solid rgb(31 119 188 / 6%);
}

strong {
  font-weight: 600;
}

.evidence {
  color: var(--activeColorHover);
}

.evidenceString {
  padding: 5px 20px;
  color: var(--white);
  background: linear-gradient(180deg, rgb(242 86 255 / 35%) 61%, rgb(3 15 52 / 0%) 100%);
  margin-left: 5px;
  margin-right: 5px;
}

h1.extra,
.h1.extra {
  font-size: 50px;
}

h2.extra,
.h2.extra {
  font-size: 40px;
}

.spaced {
  letter-spacing: 2px;
}

.font2 {
  font-family: var(--font2);
}

.tagTitle {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 18px;
  font-weight: 600;
}


input[type="submit"].cta-standard,
button.cta-standard,
a.cta-standard {
  background: var(--activeColor);
  color: var(--white);
  font-family: var(--font2);
  font-weight: 400;
  text-transform: uppercase;
  font-family: 16px;
  padding: 5px 20px;
  border-radius: 4px;
  border: 1px solid transparent;
  transition: all 0.3s ease-in-out;
}

input[type="submit"].cta-standard:hover,
button.cta-standard:hover,
a.cta-standard:hover {
  color: var(--white);
  background: var(--activeColorHover);
  transition: all 0.3s ease-in-out;
}

input[type="submit"].cta-standard-white,
button.cta-standard-white,
a.cta-standard-white {
  background: var(--white);
  color: var(--bluebrand);
  font-weight: 400;
  font-size: 16px;
  padding: 7px 20px;
  border: 0;
  border-radius: 4px;
  width: max-content;
  transition: all 0.3s ease-in-out;
  display: block;
}

input[type="submit"].cta-standard-white:hover,
button.cta-standard-white:hover,
a.cta-standard-white:hover {
  background: var(--blue);
  color: var(--white);
  transition: all 0.3s ease-in-out;
}



input[type="submit"].cta-standard-outline,
button.cta-standard-outline,
a.cta-standard-outline {
  background: transparent;
  color: var(--activeColor);
  font-weight: 400;
  font-family: var(--font2);
  text-transform: uppercase;
  text-decoration: none;
  font-size: 16px;
  padding: 7px 20px;
  border: 1px solid var(--activeColor);
  border-radius: 4px;
  width: max-content;
  transition: all 0.3s ease-in-out;
  display: block;
}

input[type="submit"].cta-standard-outline:hover,
button.cta-standard-outline:hover,
a.cta-standard-outline:hover {
  background: var(--activeColorHover);
  border: 1px solid var(--activeColorHover);
  color: var(--white);
  transition: all 0.3s ease-in-out;
}

input[type="submit"].cta-standard-outline-black,
button.cta-standard-outline-black,
a.cta-standard-outline-black {
  background: transparent;
  color: var(--black);
  font-weight: 400;
  font-size: 16px;
  padding: 7px 20px;
  border: 1px solid var(--black);
  border-radius: 4px;
  width: max-content;
  transition: all 0.3s ease-in-out;
  display: block;
}

input[type="submit"].cta-standard-outline-black:hover,
button.cta-standard-outline-black:hover,
a.cta-standard-outline-black:hover {
  background: var(--black);
  border: 1px solid var(--black);
  color: var(--white);
  transition: all 0.3s ease-in-out;
}



input[type="submit"].cta-standard-outline-gold,
button.cta-standard-outline-gold,
a.cta-standard-outline-gold {
  background: transparent;
  color: var(--gold);
  font-weight: 400;
  font-size: 16px;
  padding: 7px 20px;
  border: 1px solid var(--gold);
  border-radius: 4px;
  width: max-content;
  transition: all 0.3s ease-in-out;
  display: block;
}

input[type="submit"].cta-standard-outline-gold:hover,
button.cta-standard-outline-gold:hover,
a.cta-standard-outline-gold:hover {
  background: var(--gold);
  border: 1px solid var(--gold);
  color: var(--white);
  transition: all 0.3s ease-in-out;
}



input[type="submit"].cta-standard-white.big,
button.cta-standard-white.big,
a.cta-standard-white.big,
input[type="submit"].cta-standard.big,
button.cta-standard.big,
a.cta-standard.big,
input[type="submit"].cta-standard-outline.big,
button.cta-standard-outline.big,
a.cta-standard-outline.big {
  font-size: 18px;
  padding: 12px 8px;
  display: block;
}

input[type="submit"].cta-standard.long,
button.cta-standard.long,
a.cta-standard.long,
input[type="submit"].cta-standard-outline.long,
button.cta-standard-outline.long,
a.cta-standard-outline.long {
  width: 100%;
  text-align: center;
}

a.ctaTrasp {
  color: var(--activeColor);
  text-transform: uppercase;
  font-size: 24px;
  font-family: var(--font2);
  font-weight: 400;
  background: rgb(31 119 188 / 20%);
  border-radius: 8px;
  padding: 10px 20px;
  display: block;
  width: max-content;
}

a.ctaTrasp:hover {
  color: var(--activeColorHover);
  background: rgb(31 119 188 / 40%);
}

#searchWrapperToggler {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 100vh;
  display: none;
  background: var(--black80);
}

#searchWrapper {
  width: 100%;
  height: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(0deg, rgb(142 160 212 / 0%) 0%, rgb(6 22 111) 100%);
  backdrop-filter: blur(3px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

#searchWrapper #searchWrapperCloser {
  color: var(--white);
  transition: all 0.35s ease-in-out;
  font-size: 24px;
  cursor: pointer;
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 2;
}

#searchWrapper #searchWrapperCloser:hover {
  transform: rotate(15deg);
  transition: all 0.35s ease-in-out;
}



.searchWrapper .searchBox,
#searchWrapper .searchBox {
  width: 100%;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.searchWrapper .searchBox input.form-control::placeholder,
#searchWrapper .searchBox input.form-control::placeholder {
  color: var(--white50);
}

.searchWrapper .searchBox input.form-control,
#searchWrapper .searchBox input.form-control {
  background: transparent;
  border: 0;
  color: var(--white);
}

.searchWrapper .searchBox button,
#searchWrapper .searchBox button {
  color: var(--white);
  transition: all 0.35s ease-in-out;
}

.searchWrapper .searchBox button:hover,
#searchWrapper .searchBox button:hover {
  background: var(--blutrasp);
  color: var(--white);
  transition: all 0.35s ease-in-out;
}

.searchWrapper .searchBox .outline,
#searchWrapper .searchBox .outline {
  border: 1px solid var(--white);
  border-radius: 25px;
  padding: 10px;
}

/* #topNav */

#topNavBar {
  padding: 10px 0px;
  background: var(--blu);
  background: linear-gradient(0deg, rgba(3, 15, 52, 0) 0%, rgba(3, 15, 52, 1) 100%);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

#topNavBar .topLogoWrap {
  position: relative;
  z-index: 20;
}

#topNavBar.active .topNavWrap {
  background: transparent;
  transition: all 0.35s ease-in-out;
}

.topNavWrap ul.topNav {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
  transition: all 0.35s ease-in-out;
}

.topNavWrap ul.topNav li>a {
  padding: 10px;
  padding-right: 20px;
  position: relative;
  transition: all 0.35s ease-in-out;
}

.topNavWrap ul.topNav li>a:link,
.topNavWrap ul.topNav li>a:visited {
  color: var(--white);
  font-size: 17px;
  text-transform: uppercase;
  font-family: var(--font2);
  text-decoration: none;
}

.topNavWrap ul.topNav li>a.active {
  color: var(--activeColorHover);
}

.topNavWrap .searchBarMobile,
.topNavWrap .ctasMobile,
.topNavWrap .socialChannel {
  display: none;
}

.topNavWrap ul.topNav li>a.inactive {
  color: var(--white50);
}

.topNavWrap ul.topNav li>a:hover {
  color: var(--white50);
}

.topNavWrap ul.topNav li>a.active:hover {
  color: var(--white);
}

.topNavUtilityWrap .langSelectorWrap {
  display: flex;
  align-items: center;
  position: relative;
}

.topNavUtilityWrap .langSelectorWrap .langWrap {
  position: absolute;
  top: 30px;
  right: 0px;
  z-index: 2;
  background: var(--white);
  padding: 10px;
  border-radius: 8px;
  transform: translateX(20px) translateY(20px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease-in-out;
}

.topNavUtilityWrap .langSelectorWrap:hover .langWrap {
  transform: translateX(0px) translateY(0px);
  opacity: 1;
  visibility: visible;
  transition: all 0.15s ease-in-out;
}

.topNavUtilityWrap .langSelectorWrap .langWrap:before {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  z-index: 2;
  top: -8px;
  right: 16px;
  background: url(../img/roundedUpcorner.svg)no-repeat center center;
  background-size: 20px;
}


.topNavUtilityWrap .langSelectorWrap .langWrap .langItem {
  display: flex;
  align-items: center;

}

.topNavUtilityWrap .langSelectorWrap .langWrap a {
  font-family: var(--font2);
  font-size: 14px;
  text-transform: uppercase;
  color: var(--blu);
  text-decoration: none;
  padding: 3px 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  margin-bottom: 3px;
}


.topNavUtilityWrap .langSelectorWrap .langWrap a:hover,
.topNavUtilityWrap .langSelectorWrap .langWrap a.current {
  background: var(--black10);
  cursor: pointer;
}

.topNavUtilityWrap .langSelectorWrap .langWrap a.current:hover {
  background: var(--activeColorHover);
  color: var(--white);
}


.topNavUtilityWrap .langSelectorWrap .langWrap .langItem img {
  width: 18px;
  border-radius: 5px;
  margin-right: 10px;
  margin-top: -2px;
}

.topNavUtilityWrap .langSelectorWrap span {
  padding-right: 20px;
  position: relative;
}

.topNavUtilityWrap .langSelectorWrap span:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: url(../img/chevron-down-w.svg)no-repeat center center;
  background-size: 9px;
  display: block;
  top: 7px;
  left: 18px;
  z-index: 2;
}

.topNavUtilityWrap .searchSelectorWrap {
  cursor: pointer;
}


/* #topNav > subNav */

.topNavWrap ul.topNav li.hasChild {
  position: relative;
}

.topNavWrap ul.topNav li.hasChild a.mobile {
  display: none;
}

.topNavWrap ul.topNav li.hasChild>a:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: url(../img/chevron-down-w.svg)no-repeat center center;
  background-size: 9px;
  display: block;
  transform: rotate(45deg);
  top: 16px;
  right: 15px;
  opacity: 0;
  z-index: 2;
  transition: all 0.15s ease-in-out;
}

.topNavWrap ul.topNav li.hasChild:hover>a:after,
.topNavWrap ul.topNav li.hasChild>a:hover:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: url(../img/chevron-down-w.svg)no-repeat center center;
  background-size: 9px;
  display: block;
  transform: rotate(0deg);
  top: 16px;
  right: 5px;
  opacity: 1;
  z-index: 2;
  transition: all 0.15s ease-in-out;
}



.topNavWrap ul.topNav li.hasChild>a+ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu {
  background: transparent;
  border-radius: 12px;
  position: absolute;
  top: 30px;
  left: 0;
  z-index: 2;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  width: 450px;
  box-shadow: 0px 20px 20px var(--black20);
  transform: translateX(20px) translateY(20px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.15s ease-in-out;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu:hover,
.topNavWrap ul.topNav li.hasChild>a:hover+ul.subMenu {
  background: var(--white);
  transform: translateX(0px) translateY(0px);
  opacity: 1;
  visibility: visible;
  transition: all 0.15s ease-in-out;
}


.topNavWrap ul.topNav li.hasChild>a+ul.subMenu:before {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  z-index: 2;
  top: -8px;
  left: 30px;
  background: url(../img/roundedUpcorner.svg)no-repeat center center;
  background-size: 20px;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li {
  width: 50%;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a {
  display: flex;
  align-items: center;
  text-transform: none;
  color: var(--blu);
  font-size: 18px;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a .iconWrapper,
.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a .textWrapper {
  padding: 3px;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a img {
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a:hover {
  color: var(--activeColorHover);
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a:hover img {
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li.cta {
  width: 100%;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li.cta a {
  color: var(--activeColor);
  text-transform: uppercase;
  text-align: center;
  display: block;
  border: 1px solid var(--activeColor);
  border-radius: 8px;
}

.topNavWrap ul.topNav li.hasChild>a+ul.subMenu li.cta a:hover {
  background: var(--activeColorHover);
  color: var(--white);
  border: 1px solid var(--activeColorHover);
}




/* #topSubNav - Secondary TopBar */

.topSubNavWrap {
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(10px);
  background-color: rgb(31 119 188 / 10%) !important;
  padding: 10px;
  margin-top: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.topSubNavWrap ul.secondaryMenu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.topSubNavWrap ul.secondaryMenu li a:link,
.topSubNavWrap ul.secondaryMenu li a:visited {
  text-decoration: none;
  font-family: var(--font2);
  color: var(--white50);
  margin-right: 20px;
}

.topSubNavWrap ul.secondaryMenu li a.current,
.topSubNavWrap ul.secondaryMenu li a:hover {
  color: var(--white);
}


/* hamburger */

#hamburger {
  display: none;
}

#hamburger .ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#hamburger .hamRotate.active {
  transform: rotate(45deg);
}

#hamburger .hamRotate180.active {
  transform: rotate(180deg);
}

#hamburger .line {
  fill: none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke: #fff;
  stroke-width: 5.5;
  stroke-linecap: round;
}

#hamburger .ham8 .top {
  stroke-dasharray: 40 160;
}

#hamburger .ham8 .middle {
  stroke-dasharray: 40 142;
  transform-origin: 50%;
  transition: transform 400ms;
}

#hamburger .ham8 .bottom {
  stroke-dasharray: 40 85;
  transform-origin: 50%;
  transition: transform 400ms, stroke-dashoffset 400ms;
}

#hamburger .ham8.active .top {
  stroke-dashoffset: -64px;
}

#hamburger .ham8.active .middle {
  /* stroke-dashoffset: -20px; */
  transform: rotate(90deg);
}

#hamburger .ham8.active .bottom {
  stroke-dashoffset: -64px;
}


/* heroObliqueCard */

#heroObliqueCard {
  padding: 0;
  position: relative;
  overflow: hidden;
}

#heroObliqueCard .HeroVideoImgWrapper {
  height: 100vh;
  position: relative;
}

#heroObliqueCard .HeroVideoImgWrapper:after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom, rgb(3 15 52 / 0%) 0%, rgb(3 15 52) 100%);
  z-index: 2;
}

#heroObliqueCard .overText {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

#heroObliqueCard .overText .overTextContent {
  width: 100%;
}

#heroObliqueCard .overText a.cta:link,
#heroObliqueCard .overText a.cta:visited {
  font-family: var(--font2);
  color: var(--activeColor);
  text-decoration: none;
  font-size: 20px;
  text-transform: uppercase;
}

#heroObliqueCard .overText .overTextContentWrapper a.cta:hover {
  color: var(--activeColorHover);
}

#heroObliqueCard .slideTitle.h1.extra {
  font-size: 3.6em;
  line-height: 1.02em;
}

#heroObliqueCard .slideSubTitle {
  font-size: 2em;
  line-height: 1.02em;
}





/* heroVideo */

#heroVideo {
  padding: 0;
  position: relative;
  overflow: hidden;
}

#heroVideo .HeroVideoImgWrapper {
  height: 80vh;
  position: relative;
}

#heroVideo .HeroVideoImgWrapper:after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom, rgb(3 15 52 / 0%) 0%, rgb(3 15 52) 100%);
  z-index: 2;
}

#heroVideo .HeroVideoImgWrapper .videoDesktop,
#heroVideo .HeroVideoImgWrapper .videoMobile {
  width: 100%;
  height: 100%;
}

#heroVideo .HeroVideoImgWrapper img,
#heroVideo .HeroVideoImgWrapper video#bckSlideVideo {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#heroVideo .HeroVideoImgWrapper .videoMobile video#bckSlideVideo {
  height: 100vh !important;
}

#heroVideo .overText {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  /*background: rgb(0 0 0 / 30%);*/
}

#heroVideo .overText .overTextContent {
  width: 86%;
}

#heroVideo .overText .overTextContentWrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  width: 100%;
}

#heroVideo .overText .overTextContentWrapper a.cta:link,
#heroVideo .overText .overTextContentWrapper a.cta:visited {
  font-family: var(--font2);
  color: var(--activeColor);
  text-decoration: none;
  font-size: 20px;
  text-transform: uppercase;
}

#heroVideo .overText .overTextContentWrapper a.cta:hover {
  color: var(--activeColorHover);
}

#heroVideo .overText img.logo {
  width: 100px;
  margin-bottom: 50px;
}

#heroVideo .overText .slideTag {
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
  line-height: 1em;
  background: var(--brand-rosso);
  padding: 5px 10px;
}

#heroVideo .overText .slideTitle {
  color: var(--white);
  font-family: var(--font2);
  font-size: 5rem;
  font-weight: 500;
  line-height: 1em;
}

#heroVideo .overText .slideSubTitle {
  color: var(--white);
  font-size: 18px;
  font-weight: 300;
  line-height: 1em;
}

/* Hero Owl News Slider */


.contexTitle {
  font-family: var(--font2);
  color: var(--white50);
  font-size: 18px;
  text-transform: uppercase;
}

#heroVideo #owlNewsCarousel a:link,
#heroVideo #owlNewsCarousel a:visited,
#heroVideo .overTextNewsTopBar a:link,
#heroVideo .overTextNewsTopBar a:visited {
  text-decoration: none;
}



#heroVideo #owlNewsCarousel a .item {
  display: flex;
  position: relative;
  padding: 20px;
  margin: 10px;
}

#heroVideo #owlNewsCarousel a .item:before {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 3px;
  display: block;
  background: linear-gradient(90deg, rgba(34, 158, 255, 0) 0%, rgba(34, 158, 255, 1) 100%);
  border-radius: 3px;
}

#heroVideo #owlNewsCarousel a .item .imgWrap img {
  width: 150px;
  border-radius: 8px;
}

#heroVideo #owlNewsCarousel a .item .infoWrap {
  padding: 10px 20px;
}

#heroVideo #owlNewsCarousel a .item .infoWrap .data {
  text-transform: uppercase;
  color: var(--white50);
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 5px;
}

#heroVideo #owlNewsCarousel a .item .infoWrap .title {
  font-family: var(--font2);
  color: var(--white);
  line-height: 1em;
  font-size: 22px;
  text-transform: uppercase;
  font-weight: 300;
}

#heroVideo .overTextNewsCarouselWrapper {
  width: 100%;
  display: flex;
  justify-content: end;
}

#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox {
  width: 60%;
}

#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar {
  display: flex;
  justify-content: space-between;
}


#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:link,
#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:visited {
  color: var(--activeColor);
  font-family: var(--font2);
  font-size: 18px;
  text-transform: uppercase;
}

#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:link img,
#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:visited img {
  transition: all 0.3s ease-in-out;
  opacity: 0.5;
}

#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:hover {
  color: var(--activeColorHover);
}

#heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox .overTextNewsTopBar a:hover img {
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

/* Owl General Arrow */




.owl-carousel {
  position: relative;
}

.owl-carousel .owl-nav button {
  background: transparent !important;
}

.owl-next,
.owl-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.owl-next {
  right: 20px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.owl-prev {
  left: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.owl-next i,
.owl-prev i {
  font-size: 30px;
}





/* Owl Showcase */

#works-owl .item a {
  position: relative;
  display: block;
}

#works-owl .item a .overText {
  position: absolute;
  width: 100%;
  height: 100%;
  color: var(--white);
  text-decoration: none;
  font-size: 24px;
  transform: translateX(20px);
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3;
  font-size: 30px;
  text-shadow: 0px 0px 10px var(--black60);
  transition: 0.6s ease all;
}

#works-owl .item a:hover .overText {
  opacity: 1;
  transform: translateX(0px);
}

#works-owl .item a .card {
  border: 0;
  transform-origin: bottom;
  transform:
    perspective(800px) rotateY(0deg) scale(1) rotateX(0deg);
  transition: 0.6s ease all;
  background: transparent;
}

#works-owl .item a:hover .card {
  transform:
    perspective(800px) rotateY(-15deg) translateY(-50px) rotateX(10deg) scale(0.9)
}

#works-owl .item a .card img {
  width: 100%;
  border-radius: 20px;
}

/* #works-owl .item a .card img {
    transform-origin: center;
    transition: all 0.3s ease-in-out;
 }
 #works-owl .item a:hover .card img {
    transform: scale(1.08);
    transition: all 0.3s ease-in-out;
 }*/

#works-owl .item.multi {
  display: flex;
  flex-wrap: wrap;
}

#works-owl .item.multi .case.one {
  width: calc(50% - 5px);
  margin-right: 5px;
  margin-bottom: 10px;
}

#works-owl .item.multi .case.two {
  width: calc(50% - 5px);
  margin-left: 5px;
  margin-bottom: 10px;
}

#works-owl .item.multi .case.three {
  width: 100%;
}

.sectionMiniTitle {
  font-family: var(--font2);
  text-transform: uppercase;
  text-decoration: none;
  font-size: calc(1.14rem * var(--headingScale));
  letter-spacing: 2px;
}

/* clients owl */

#clients-owl2 .item a .card,
#clients-owl .item a .card {
  background: transparent;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

#clients-owl2 .item a .card img,
#clients-owl .item a .card img {
  width: 150px;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}

#clients-owl2 .item a:hover .card img,
#clients-owl .item a:hover .card img {
  opacity: 0.4;
  transform: scale(1.04);
  transition: all 0.3s ease-in-out;
}


/* main news blog owl */

#owlMainNewsCarousel .item a .card,
.blogNewsList .item a .card {
  /*  background: transparent;*/
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgba(34, 158, 255, 0) 0%, rgb(34 158 255 / 10%) 100%);
  transition: all 0.3s ease-in-out;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  color: #1F77BC;
  border: 0;
}

#owlMainNewsCarousel .item a .card .headWrap,
.blogNewsList .item a .card .headWrap {
  padding: 20px;
}

#owlMainNewsCarousel .item a .card .catWrap,
#owlMainNewsCarousel .item a .card .infoWrap,
#owlMainNewsCarousel .item a .card .dateWrap,
.blogNewsList .item a .card .catWrap,
.blogNewsList .item a .card .infoWrap,
.blogNewsList .item a .card .dateWrap {
  display: flex;
  justify-content: space-between;
}

#owlMainNewsCarousel .item a .card .dateWrap .ico i,
.blogNewsList .item a .card .dateWrap .ico i {
  transform: rotate(45deg);
  transition: all 0.3s ease-in-out;
}

#owlMainNewsCarousel .item a:hover .card .dateWrap .ico i,
.blogNewsList .item a:hover .card .dateWrap .ico i {
  color: var(--white);
  transform: rotate(0deg);
  transition: all 0.3s ease-in-out;
}

#owlMainNewsCarousel .item a .card .catWrap .time,
.blogNewsList .item a .card .catWrap .time {
  font-size: 12px;
}

#owlMainNewsCarousel .item a .card .infoWrap,
.blogNewsList .item a .card .infoWrap {
  padding: 30px 0;
}

#owlMainNewsCarousel .item a .card .infoWrap .title,
.blogNewsList .item a .card .infoWrap .title {
  color: var(--white);
  font-family: var(--font2);
  font-size: calc(1.44rem * var(--headingScale));
  line-height: 1em;
}

#owlMainNewsCarousel .item a .card .footWrap,
.blogNewsList .item a .card .footWrap {
  position: relative;
}

#owlMainNewsCarousel .item a .card .footWrap .imgWrap,
.blogNewsList .item a .card .footWrap .imgWrap {
  overflow: hidden;
  border-radius: 12px;
  transition: all 0.3s ease-in-out;
}

#owlMainNewsCarousel .item a:hover .card .footWrap .imgWrap,
.blogNewsList .item a:hover .card .footWrap .imgWrap {
  transition: all 0.3s ease-in-out;
  box-shadow: 0px -30px 80px -50px var(--violet);
  transform: translateY(10px);
}

#owlMainNewsCarousel .item a .card .footWrap .imgWrap img,
.blogNewsList .item a .card .footWrap .imgWrap img {
  transition: all 0.3s ease-in-out;
  width: 100%;
}

#owlMainNewsCarousel .item a:hover .card .footWrap .imgWrap img,
.blogNewsList .item a:hover .card .footWrap .imgWrap img {
  filter: brightness(1.5) saturate(2);
  transition: all 0.3s ease-in-out;
}

#owlMainNewsCarousel .item a:hover .card,
.blogNewsList .item a:hover .card {
  background: var(--blu3);
}

/* main jpb blog owl */

#owlMainJobCarousel .item a .card,
.blogNewsList .item a .card {
  /*  background: transparent;*/
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgba(34, 158, 255, 0) 0%, rgb(34 158 255 / 10%) 100%);
  transition: all 0.3s ease-in-out;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  color: #1F77BC;
  border: 0;
}

#owlMainJobCarousel .item a .card .headWrap,
.blogNewsList .item a .card .headWrap {
  padding: 20px;
}

#owlMainJobCarousel .item a .card .catWrap,
#owlMainJobCarousel .item a .card .infoWrap,
#owlMainJobCarousel .item a .card .dateWrap,
.blogNewsList .item a .card .catWrap,
.blogNewsList .item a .card .infoWrap,
.blogNewsList .item a .card .dateWrap {
  display: flex;
  justify-content: space-between;
}

#owlMainJobCarousel .item a .card .dateWrap .ico i,
.blogNewsList .item a .card .dateWrap .ico i {
  transform: rotate(45deg);
  transition: all 0.3s ease-in-out;
}

#owlMainJobCarousel .item a:hover .card .dateWrap .ico i,
.blogNewsList .item a:hover .card .dateWrap .ico i {
  color: var(--white);
  transform: rotate(0deg);
  transition: all 0.3s ease-in-out;
}

#owlMainJobCarousel .item a .card .catWrap .time,
.blogNewsList .item a .card .catWrap .time {
  font-size: 12px;
}

#owlMainJobCarousel .item a .card .infoWrap,
.blogNewsList .item a .card .infoWrap {
  padding: 30px 0;
}

#owlMainJobCarousel .item a .card .infoWrap .title,
.blogNewsList .item a .card .infoWrap .title {
  color: var(--white);
  font-family: var(--font2);
  font-size: calc(1.44rem * var(--headingScale));
  line-height: 1em;
}

#owlMainJobCarousel .item a .card .footWrap,
.blogNewsList .item a .card .footWrap {
  position: relative;
}

#owlMainJobCarousel .item a .card .footWrap .imgWrap,
.blogNewsList .item a .card .footWrap .imgWrap {
  overflow: hidden;
  border-radius: 12px;
  transition: all 0.3s ease-in-out;
}

#owlMainJobCarousel .item a:hover .card .footWrap .imgWrap,
.blogNewsList .item a:hover .card .footWrap .imgWrap {
  transition: all 0.3s ease-in-out;
  box-shadow: 0px -30px 80px -50px var(--violet);
  transform: translateY(10px);
}

#owlMainJobCarousel .item a .card .footWrap .imgWrap img,
.blogNewsList .item a .card .footWrap .imgWrap img {
  transition: all 0.3s ease-in-out;
  width: 100%;
}

#owlMainJobCarousel .item a:hover .card .footWrap .imgWrap img,
.blogNewsList .item a:hover .card .footWrap .imgWrap img {
  filter: brightness(1.5) saturate(2);
  transition: all 0.3s ease-in-out;
}

#owlMainJobCarousel .item a:hover .card,
.blogNewsList .item a:hover .card {
  background: var(--blu3);
}

/* Owl client shocase */
#owlShowcase .card {
  background: transparent;
  border-radius: 20px;
  overflow: hidden;
}

#owlShowcase .owl-item.active {
  opacity: .4;
  transition: opacity .3s ease;
}

#owlShowcase .owl-item.active.center {
  opacity: 1;
}


.owlShowcaseWrapper {
  position: relative;
}

.owlShowcaseWrapper #share {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 2;
}

.owlShowcaseWrapper #contactUs {
  position: absolute;
  bottom: -30px;
  left: 85%;
  transform: translate(-50%, 0);
  z-index: 3;
}


a .card.cardCsr {
  background: transparent;
  color: var(--white);
  padding: 0;
  border: 0;
  transition: all 0.3s ease-in-out;
}

a:hover .card.cardCsr {
  background: var(--blu3);
  transition: all 0.3s ease-in-out;
}

a .card.cardCsr .imgWrap img {
  border-radius: 12px;
  transition: all 0.3s ease-in-out;
}

a:hover .card.cardCsr .imgWrap img {
  filter: brightness(1.5) saturate(2);
  transition: all 0.3s ease-in-out;
}

.latestCsrArticle .card.bgTraspBlu a img {
  transition: all 0.3s ease-in-out;
}

.latestCsrArticle .card.bgTraspBlu a:hover img {
  filter: brightness(1.5) saturate(2);
  transition: all 0.3s ease-in-out;
}

.latestArticle.blogevidence a img {
  transition: all 0.3s ease-in-out;
}

.latestArticle.blogevidence:hover a img {
  filter: brightness(1.5) saturate(1.4);
  transition: all 0.3s ease-in-out;
}



a .violetCard,
.violetCard {
  background: transparent;
  background: linear-gradient(var(--blu), var(--blu)) padding-box,
    linear-gradient(135deg, var(--blu2), var(--blutrasp)) border-box;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: all 0.3s ease-in-out;
}

a:hover .violetCard,
.violetCard:hover {
  background: linear-gradient(var(--blubghovered), var(--blubghovered)) padding-box,
    linear-gradient(135deg, var(--violet), var(--violettrasp)) border-box;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}

a .violetCard img,
.violetCard img {
  width: 60px;
}

a .violetCard .card-body,
.violetCard .card-body {
  color: var(--lightblu);
  transition: all 0.3s ease-in-out;
  font-size: 16px;
}

a:hover .violetCard .card-body .violetCard .card-body:hover {
  color: var(--white);
  transition: all 0.3s ease-in-out;
}

a .violetCard .card-body h4,
.violetCard .card-body h4 {
  font-size: calc(1rem * var(--headingScale));
  color: var(--activeColorHover);
  transition: all 0.3s ease-in-out;
}

a:hover .violetCard .card-body h4,
.violetCard .card-body h4 {
  color: var(--white);
  transition: all 0.3s ease-in-out;
}

.bluCard,
.bluCard.card {
  background: transparent;
  background: linear-gradient(var(--blu), var(--blu)) padding-box,
    linear-gradient(135deg, var(--blu2), var(--blutrasp)) border-box;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: all 0.3s ease-in-out;
  color: var(--lightblu);
}

.bgTraspBlu {
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgba(34, 158, 255, 0) 0%, rgb(34 158 255 / 20%) 100%);
  border-radius: 20px;
}

.bgTraspBlu2 {
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgb(22 153 255 / 20%) 0%, rgb(109 191 255 / 3%) 120%);
  border-radius: 20px;
}

.bgTraspBluRev {
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgb(34 158 255 / 12%) 0%, rgb(34 158 255 / 0%) 100%);
  border-radius: 20px;
  transition: all 0.3s ease-in-out;
}

.bgTraspWhiteBlur {
  background: linear-gradient(0deg, rgba(34, 158, 255, 0) 0%, rgb(255 255 255 / 30%) 100%);
  border-radius: 20px;
  backdrop-filter: blur(20px);
}

.bgTraspWhite {
  background: rgb(34 158 255 / 20%);
  background: linear-gradient(0deg, rgba(34, 158, 255, 0) 0%, rgb(255 255 255 / 40%) 100%);
  border-radius: 20px;
}

.itemArt:hover .bgTraspBluRev {
  background: linear-gradient(0deg, rgb(54 167 255 / 27%) 0%, rgb(34 158 255 / 0%) 100%);
  transition: all 0.3s ease-in-out;
}

.itemArt:hover .bgTraspBluRev img {
  transform: scale(1.04);
  filter: brightness(1.5) saturate(2);
  transition: all 0.3s ease-in-out;
}

.blugradSxtoDx {
  background: linear-gradient(90deg, rgba(34, 158, 255, 1) 0%, rgba(34, 158, 255, 0) 100%);
}

.blugradDxtoSx {
  background: linear-gradient(90deg, rgba(34, 158, 255, 0) 0%, rgba(34, 158, 255, 1) 100%);
}


.widgetTitle {
  font-family: var(--font2);
  color: var(--white);
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 4px;
}


ul.spacedList {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul.spacedList li {
  position: relative;
}

ul.spacedList li:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  background: linear-gradient(-90deg, rgba(34, 158, 255, 0) 0%, rgba(34, 158, 255, 1) 100%);
  opacity: 0.4;
  transition: all 0.3s ease-in-out;
}

ul.spacedList li:nth-child(1):before {
  opacity: 0;
}

ul.spacedList li a {
  font-family: var(--font2);
  display: block;
  padding: 10px 5px;
  font-size: 28px;
}

ul.spacedList li a:hover {
  color: var(--white);
}


.preCarouselBar {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.preCarouselBar .nav a {
  color: var(--activeColor);
  font-family: var(--font2);
  font-size: 18px;
  text-transform: uppercase;
}

.preCarouselBar .nav a:hover {
  color: var(--activeColorHover);
}

.gradBigLine {
  position: relative;
  height: 3px;
}

.gradBigLine:after {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 3px;
  display: block;
  background: linear-gradient(90deg, rgba(34, 158, 255, 0) 0%, rgba(34, 158, 255, 1) 100%);
  border-radius: 3px;
}

.gradBigLine2 {
  position: relative;
  height: 3px;
}

.gradBigLine2:after {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 3px;
  display: block;
  background: linear-gradient(90deg, rgba(34, 158, 255, 1) 0%, rgba(34, 158, 255, 0) 100%);
  border-radius: 3px;
}


.circleCtaWrapper {
  position: relative;
}

.circleCtaWrapper .overText {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 2;
}

.featureLabel {
  text-align: center;
  font-size: 14px;
  font-family: var(--font2);
  padding: 20px;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  color: var(--white);
  background: linear-gradient(90deg, rgba(34, 158, 255, 0) 0%, rgba(34, 158, 255, 1) 100%);
}

.arrowPoint {
  font-family: var(--font2);
  padding: 30px;
  position: relative;
  font-size: 20px;
}

.arrowPoint:before {
  content: "\f061";
  position: absolute;
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
  font-size: 14px;
  color: var(--activeColor);
  top: 20px;
  left: 0;
  transform: rotate(45deg);
}


a.circularCta {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--activeColor);
  color: var(--white);
  font-family: var(--font2);
  text-transform: uppercase;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}

a.circularCta:hover {
  background: var(--activeColorHover);
}

a.circularCta.abs {
  position: absolute;
  bottom: -65px;
  right: 50px;
  z-index: 3;
}



footer .searchBarFooter {
  border: 1px solid var(--activeColor);
  border-radius: 12px;
  padding: 10px;
}

footer .searchBarFooter input {
  background: var(--blu);
  border: 0;
}

footer .searchBarFooter input::placeholder {
  font-size: 12px;
  color: var(--activeColor);
}

footer .searchBarFooter .btn {
  background: var(--activeColor);
  color: var(--blu);
  font-family: var(--font2);
  text-transform: uppercase;
  font-family: 14px;
  padding: 3px 20px;
  transition: all 0.3s ease-in-out;
}

footer .searchBarFooter .btn:hover {
  background: var(--activeColorHover);
  transition: all 0.3s ease-in-out;
}

footer .searchBarFooter input.form-control:focus {
  background: var(--blu);
  color: var(--activeColorHover);
  font-size: 14px;
}

footer .menuTitle {
  text-transform: uppercase;
  color: var(--white);
  font-family: var(--font2);
  font-size: 18px;
}

footer ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

footer ul.menu li a {
  font-size: 14px;
  font-weight: 400;
}

footer ul.menu li a:hover {
  color: var(--white);
}

footer .socialChannelFooter a i {
  color: var(--white);
}

footer .socialChannelFooter a:hover {
  color: var(--activeColorHover);
}


/*  #heroVideo .overTextNewsTopBar a:hover{
    color: var(--activeColorHover) !important;
  }
*/


/* Hero Owl Slider */
/*  

  #HeroVideoNewOwl{
  display: block;
  position: relative;
  min-height: 500px;
  }

  #HeroVideoNewOwl:not(.owl-loaded) {
  max-height: 800px !important;
  overflow: hidden !important;
  }

  #HeroVideoNewOwl .item{
    position: relative;
    width: 100%;
    height: 800px;
  }
  #HeroVideoNewOwl .item .HeroVideoImgWrapper:before{
    content:"";
    width: 100%;
    height: 100%;
    display: block;
    background-position: bottom;
    background-size: cover;
    position: absolute;
    z-index: 2;
    top:0;
    left:0;
  }
  #HeroVideoNewOwl .item .HeroVideoImgWrapper{
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    position: absolute;
    top:0;
    left:0;
  }
  #HeroVideoNewOwl .item .HeroVideoImgWrapper .videoDesktop,
  #HeroVideoNewOwl .item .HeroVideoImgWrapper .videoMobile{
    width: 100%;
    height: 100%;
  }
  #HeroVideoNewOwl .item .HeroVideoImgWrapper img,
  #HeroVideoNewOwl .item .HeroVideoImgWrapper video#bckSlideVideo{
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }

  #HeroVideoNewOwl .item .HeroVideoImgWrapper .videoMobile video#bckSlideVideo {
  height: 100vh !important;
  }

  #HeroVideoNewOwl .item .overText{
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(0 0 0 / 30%);
  }
  #HeroVideoNewOwl .item .overText .overTextContentWrapper{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    width: 70%;
  }

  #HeroVideoNewOwl .item .overText img.logo{
    width: 100px;
    margin-bottom: 50px;
  }
  #HeroVideoNewOwl .item .overText .slideTag{
    color: var(--white);
    font-size: 18px;
    font-weight: 500;
    line-height: 1em;
    background: var(--brand-rosso);
    padding: 5px 10px;
  }
  #HeroVideoNewOwl .item .overText .slideTitle{
    color: var(--white);
    font-family: var(--font2);
    font-size: 5rem;
    font-weight: 500;
    line-height: 1em;
  }
  #HeroVideoNewOwl .item .overText .slideSubTitle{
    color: var(--white);
    font-size: 18px;
    font-weight: 300;
    line-height: 1em;
  }
  #HeroVideoNewOwl .owl-dots {
    position: absolute;
    width: 100%;
    bottom: 40px;
    text-align: right;
    padding-right: 30px;
  }
  #HeroVideoNewOwl .owl-dots .owl-dot span{
    width: 18px;
    height: 3px;
    margin: 3px;
    background: var(--white50);
    display: block;
    transition: opacity .2s ease;
    border-radius:0px;
  }
  #HeroVideoNewOwl .owl-dots .owl-dot.active span{
    background: var(--activeColor);
    opacity:1;
  }

  #HeroVideoNewOwl .owl-nav {
    top: 45%;
    position: absolute;
    z-index: 2;
    background: transparent;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  #HeroVideoNewOwl .owl-nav button{
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px;
  }
  #HeroVideoNewOwl .owl-nav .owl-prev span,
  #HeroVideoNewOwl .owl-nav .owl-next span,
  #HeroVideoNewOwl .owl-nav .owl-prev i,
  #HeroVideoNewOwl .owl-nav .owl-next i{
    font-size: 36px;
    color:var(--white);
  }

  #HeroVideoNewOwl .owl-nav img{
    width: 40px;
  }

  .owl-theme .owl-nav [class*=owl-]:hover{
    background: transparent;
    opacity: 0.5;
    transition: all 0.3s ease-in-out;
  }

  @media (max-width: 768px) {
    #HeroVideoNewOwl .item .overText h1{
    color: var(--white);
    font-size: 40px;
    font-weight: 500;
    line-height: 1em;
    }
  }
*/



.centeredBlur {
  background: rgb(3 15 52);
  background: radial-gradient(circle, rgb(34 158 255) 0%, rgb(3 15 52) 40%);
}

swiper-container {
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
}

swiper-slide {
  background-position: center;
  background-size: cover;
  width: 400px;
  height: 600px;
  border-radius: 20px;
  position: relative;
}



swiper-slide img {
  display: block;
  width: 100%;
  border-radius: 20px;
}

swiper-slide.swiper-slide-visible {
  filter: blur(3px);
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

swiper-slide.swiper-slide-visible.swiper-slide-active {
  opacity: 1;
  filter: blur(0px);
  transition: all 0.3s ease-in-out;
}

swiper-slide.swiper-slide-visible .overText {
  position: absolute;
  bottom: 0%;
  width: 100%;
  padding: 30px;
  font-size: 30px;
  line-height: 1.04em;
  color: var(--white);
  font-family: var(--font2);
  text-shadow: 5px 5px 20px rgb(0 0 0 /40%);
  opacity: 0;
  visibility: hidden;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

swiper-slide.swiper-slide-visible.swiper-slide-active .overText {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease-in-out;
  text-align: center;
  bottom: 25%;
}

swiper-slide.swiper-slide-visible.swiper-slide-active .overText a:link,
swiper-slide.swiper-slide-visible.swiper-slide-active .overText a:visited {
  color: var(--white);
  text-shadow: 5px 5px 20px rgb(0 0 0 /40%);
}


.swiper-button-prev {
  filter: brightness(10);
  margin-left: 5%;
}

.swiper-button-next {
  filter: brightness(10);
  margin-right: 5%;
}

.clientGrid .item a.empty .card,
.clientGrid .item a.empty:hover .card {
  position: relative;
  background: transparent;
  padding: 20px;
  border-radius: 0;
  border-top: 1px solid rgb(31 119 188 / 15%);
  border-left: 1px solid rgb(31 119 188 / 15%);
  text-align: center;
  cursor: initial;
  transition: all 0.3s ease-in-out;
}

.clientGrid .item a .card {
  position: relative;
  background: transparent;
  padding: 20px;
  border-radius: 0;
  border-top: 1px solid rgb(31 119 188 / 30%);
  border-left: 1px solid rgb(31 119 188 / 30%);
  text-align: center;
  transition: all 0.3s ease-in-out;
}

.clientGrid .item a .card:before {
  content: "+";
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  background: var(--blu);
  color: var(--activeColor);
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 2;
  transition: all 0.3s ease-in-out;
}

.clientGrid .item a.empty .card:before,
.clientGrid .item a.empty:hover .card:before {
  content: "+";
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  background: var(--blu);
  color: var(--activeColor);
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 2;
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}

.clientGrid .item a:hover .card:before {
  content: "+";
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  background: var(--blu);
  color: var(--white);
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 2;
  transition: all 0.3s ease-in-out;
}

.clientGrid .item a:hover .card {
  border-top: 1px solid rgb(31 119 188 / 80%);
  border-left: 1px solid rgb(31 119 188 / 80%);
  transition: all 0.3s ease-in-out;
}

.circledBlu {
  width: 80px;
  height: 80px;
  color: var(--white);
  background: var(--activeColor);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

.circledBlu:hover {
  color: var(--white);
  background: var(--activeColorHover);
  transition: all 0.3s ease-in-out;
}

.circledBlu.font2 {
  font-family: var(--font2);
  text-transform: uppercase;
  font-size: 14px;
}

.circledBlu.abs {
  position: absolute;
  bottom: -38px;
  right: 50px;
  z-index: 3;
}

.shareButton.circledBlu {
  position: relative;
}

.shareButton.circledBlu.active {
  background: var(--white);
  color: var(--blu);
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu .shareSocialLnks {
  position: absolute;
  top: -50px;
  left: 88px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu .shareButtonTogglerIcon {
  width: 30px;
  height: 30px;
  overflow: hidden;
}

.shareButton.circledBlu.active .shareButtonTogglerIcon div:first-child {
  margin-top: -30px;
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu .shareButtonTogglerIcon div {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu.active .shareSocialLnks {
  visibility: visible;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu a.shareSocialLnk {
  background: var(--activeColor);
  color: var(--white);
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

.shareButton.circledBlu a.shareSocialLnk i {
  color: var(--white);
  font-size: 14px;
}

.shareButton.circledBlu a.shareSocialLnk:hover {
  opacity: 1;
  background: var(--activeColorHover);
  transition: all 0.3s ease-in-out;
}



.tabfilter {
  border: 1px solid var(--activeColor);
  border-radius: 12px;
  padding: 5px;
  display: flex;
  width: max-content;
}

.tabfilter a {
  padding: 5px 20px;
  font-family: var(--font2);
  border-radius: 8px;
  display: block;
  width: max-content;
  transition: all 0.3s ease-in-out;
}

.tabfilter a:hover,
.tabfilter a.active {
  padding: 5px 20px;
  color: var(--white);
  background: var(--activeColor);
  border-radius: 8px;
  display: block;
  width: max-content;
  transition: all 0.3s ease-in-out;
}



.grid {
  /*      max-width: 69em;*/
  width: 100%;
  list-style: none;
  margin: 30px auto;
  padding: 0;
}

.grid li {
  display: block;
  float: left;
  padding: 7px;
  width: 25%;
  opacity: 0;
}

.grid li.shown,
.no-js .grid li,
.no-cssanimations .grid li {
  opacity: 1;
}

.grid li a,
.grid li img {
  outline: none;
  border: none;
  display: block;
  max-width: 100%;
}

/* Effect 6: flip (based on http://lab.hakim.se/scroll-effects/ by @hakimel) */
.grid.effect-6 {
  -webkit-perspective: 1300px;
  perspective: 1300px;
}

.grid.effect-6 li.animate {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-transform: rotateX(-80deg);
  transform: rotateX(-80deg);
  -webkit-animation: flip .8s ease-in-out forwards;
  animation: flip .8s ease-in-out forwards;
}

@-webkit-keyframes flip {
  0% {}

  100% {
    -webkit-transform: rotateX(0deg);
    opacity: 1;
  }
}

@keyframes flip {
  0% {}

  100% {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
  }
}

@media screen and (max-width: 900px) {
  .grid li {
    width: 50%;
  }
}

@media screen and (max-width: 400px) {
  .grid li {
    width: 100%;
  }
}


#caseGrid li {
  background: var(--blu);
}

#caseGrid li a {
  mix-blend-mode: screen;
  filter: brightness(20%) saturate(0%) blur(3px);
  transition: all 0.45s ease-in-out;
}

#caseGrid li a:hover {
  mix-blend-mode: normal;
  filter: none;
  transition: all 0.45s ease-in-out;
}

#caseGrid li a:hover:before {
  width: 0px;
}



a.solutionTab {
  font-family: var(--font2);
  background: transparent;
  color: var(--activeColor);
  border: 1px solid rgb(31 119 188 / 30%);
  padding: 10px 20px;
  border-radius: 16px 30px 30px 30px;
  display: inline-block;
  width: max-content;
  margin-bottom: 10px;
  transition: all 0.3s ease-in-out;
}

a.solutionTab:hover {
  color: var(--white);
  background: rgb(31 119 188 / 30%);
}


.clientSectionBoxes {
  display: flex;
  flex-wrap: wrap;
}

.clientSectionBoxes .box {
  width: 0px;
  height: 0px;
  background-color: var(--white10);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

.clientSectionBoxes .box:hover {
  background-color: var(--activeColor);
}

/*  Modals */

.modal .modal-content {
  background: var(--blu3);
  box-shadow: 0px 0px 120px #00457b;
}

.modal-header .btn-close {
  color: var(--white);
}

.modal-body .form-label {
  font-family: var(--font2);
}

.modal-body .form-control {
  background: var(--blu3);
  border: 1px solid var(--activeColor);
  color: var(--white);
}

.modal-body .form-control::placeholder {
  color: var(--white50);
  font-size: 12px;
}


/* Job Zone */

.jobZoneArea {
  padding: 50px 15%;
  display: flex;
  flex-wrap: wrap;
}

.jobZoneArea .jobBox {
  display: flex;
  align-items: end;
  margin: 20px;
  width: max-content;
  transition: all 0.8s cubic-bezier(0.32, 0.4, 0.55, 1.27);
}

.jobZoneArea .jobBox .jobAreaImg {
  overflow: hidden;
  margin-right: 20px;
  border-radius: 8px;
  width: 0;
}

.jobZoneArea .jobBox .jobAreaImg img {
  width: 150px;
  height: 80px;
}

.jobZoneArea .jobBox .jobAreaTitle {
  font-family: var(--font2);
  color: var(--white);
  font-size: 60px;
  font-weight: 400;
  display: flex;
}



/* ----------- FORMS ----------- */

.customForm .form-label {
  font-family: var(--font2);
}

.customForm .form-control,
.customForm .form-control {
  background: var(--blu3);
  border: 1px solid var(--activeColor);
  color: var(--white);
}

.customForm .form-control::placeholder {
  color: var(--white50);
  font-size: 12px;
}

.customForm .form-check input {
  background: var(--blu3);
  border: 1px solid var(--activeColor);
}

.customForm .form-check input:checked {
  background: var(--activeColorHover);
  border: 1px solid var(--activeColor);

}

ul.minus {
  list-style: none;
}

ul.minus li {
  font-weight: 500;
}


ul.minus p,
#modalJob ul.nobullets p {
  font-size: 16px;
}

ul.minus li,
#modalJob ul.nobullets li {
  position: relative;
  padding-left: 30px;
  font-size: 16px;
}

ul.minus li:before,
#modalJob ul.nobullets li:before {
  content: "\f068";
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  color: var(--white);
  top: 0;
  left: 0;
}

#modalJob .modal-body::-webkit-scrollbar {
  width: 8px;
}

#modalJob .modal-body::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

#modalJob .modal-body::-webkit-scrollbar-thumb {
  background-color: var(--blu2);
  outline: 1px solid slategrey;
  border-radius: 4px;
}


.modalJobFormWrapperToggler {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  background: var(--black60);
  overflow: hidden;
}

.modalJobFormWrapperToggler .modalJobFormWrapper {
  position: absolute;
  right: 0;
  top: 0;
  width: 500px;
  height: 100%;
  background: var(--blu);
  /* box-shadow: 0px 0px 120px #000204; */
  display: block;
  overflow: auto;
  transform: translateX(100%);
  transition: all 0.5s cubic-bezier(0.32, 0.4, 0.55, 1.27);
}

.modalJobFormWrapperToggler .modalJobFormWrapper.active {
  transform: translateX(0);
}

.modalJobFormWrapper::-webkit-scrollbar {
  width: 8px;
}

.modalJobFormWrapper::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.modalJobFormWrapper::-webkit-scrollbar-thumb {
  background-color: var(--blu2);
  outline: 1px solid slategrey;
  border-radius: 4px;
}



.gradCarouselnk,
a.gradCarouselnk {
  background: linear-gradient(-45deg, rgba(34, 158, 255, 0) 0%, rgb(34 158 255 / 13%) 100%);
  border-top: 1px solid rgb(31 119 188 / 30%);
  display: block;
  transition: all 0.3s ease-in-out;
}

.gradCarouselnk,
a.gradCarouselnk:hover {
  background: linear-gradient(-45deg, rgba(34, 158, 255, 0) 0%, rgb(0 143 255 / 43%) 100%);
  border-top: 1px solid rgb(31 119 188 / 30%);
}



/* ----------- Media Query  ----------- */


@media (min-width: 1400px) {}

@media (max-width: 1240px) {}

@media (max-width: 1024px) {

  #heroVideo .HeroVideoImgWrapper {
    height: 100vh;
  }

  #heroVideo .overText .slideTitle {
    font-size: 3.5rem;
  }

  #heroVideo .overTextNewsCarouselWrapper .overTextNewsCarouselBox {
    width: 100%;
  }

  #hamburger {
    display: block;
    position: relative;
    z-index: 20;
  }

  #topNavBar .topNavWrapper {
    max-height: 100%;
    background: var(--white);
    border-radius: 20px;
    overflow: auto;
  }

  #topNavBar .topNavWrap,
  #topNavBar #topSubNavWrap {
    display: none;
  }

  #topNavBar.active .topNavWrap {
    display: block;
    width: 100%;
    height: 100vh;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background: var(--black20);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    padding: 70px 20px 20px 20px;
    overflow: hidden;
  }

  #topNavBar.active .topNavWrap ul.topNav {
    display: block;
    max-height: 100%;
    background: var(--white);
    padding: 20px;
  }

  .topNavWrap ul.topNav li.hasChild a.mobile {
    display: block;
  }

  #topNavBar.active .topNavWrap ul.topNav li.hasChild>a.mobile+a {
    display: none;
  }

  #topNavBar.active .topNavWrap ul.topNav li>a:link,
  #topNavBar.active .topNavWrap ul.topNav li>a:visited {
    color: var(--blu);
    font-size: 20px;
    display: flex;
  }

  .topNavWrap ul.topNav li.hasChild>a+ul.subMenu {
    position: relative;
    padding: 0px;
    top: 0;
    width: 100%;
    height: 0;
    transform: translate(0px, 0px);
    box-shadow: initial;
    border: 1px solid var(--linegrey);
    opacity: 0;
    visibility: hidden;
    transition: all 0.15s ease-in-out;
  }

  .topNavWrap ul.topNav li.hasChild>a+ul.subMenu:before {
    opacity: 0;
  }

  .topNavWrap ul.topNav li.hasChild>a.mobile {
    position: relative;
  }

  .topNavWrap ul.topNav li.hasChild>a:after {}

  .topNavWrap ul.topNav li.hasChild>a.mobile:after {
    content: "+";
    color: var(--activeColor);
    font-size: 30px;
    font-family: var(--font2);
    right: 30px;
    top: 2px;
    position: absolute;
    z-index: 2;
    opacity: 1;
    transform: rotate(0);
    background-size: unset;
    width: unset;
    height: unset;
  }

  .topNavWrap ul.topNav li.hasChild>a.mobile.active:after {
    content: "-";
    color: var(--activeColor);
    font-size: 30px;
    font-family: var(--font2);
    right: 30px;
    top: 2px;
    position: absolute;
    z-index: 2;
  }


  /*.topNavWrap ul.topNav li.hasChild > a.mobile + a + ul.subMenu:hover,*/
  .topNavWrap ul.topNav li.hasChild>a.mobile.active+a+ul.subMenu {
    padding: 20px 10px;
    height: 100%;
    opacity: 1;
    visibility: visible;
    transition: all 0.15s ease-in-out;
  }

  .topNavWrap ul.topNav li.hasChild>a+ul.subMenu li {
    width: 100%;
  }

  .topNavWrap ul.topNav li.hasChild>a+ul.subMenu li>a {
    padding: 5px;
  }

  #topNavBar.active .topNavWrap ul.topNav li.hasChild>a+ul.subMenu li.cta a:link,
  #topNavBar.active .topNavWrap ul.topNav li.hasChild>a+ul.subMenu li.cta a:visited {
    color: var(--activeColor);
    display: block;
  }

  #heroVideo #owlNewsCarousel a .item .imgWrap img {
    width: 80px;
  }

  .topNavWrap .searchBarMobile {
    display: block;
    padding: 30px 30px 0px 30px;
    color: var(--blu);
    background: var(--white);
  }

  .topNavWrap .searchBarMobile .input-group input {
    background: var(--superlightgrey);
    border: 0;
  }

  .topNavWrap .searchBarMobile .input-group input::placeholder {
    font-size: 12px;
  }

  .topNavWrap .searchBarMobile .input-group .btn {
    background: var(--superlightgrey);
  }

  .topNavWrap .ctasMobile {
    display: block;
    padding: 0px 30px;
    background: var(--white);
  }

  .topNavWrap .socialChannel {
    background: var(--white);
    display: flex;
    justify-content: space-between;
    padding: 20px 30px;
  }
}

@media (max-width: 992px) {}

@media (max-width: 768px) {}

@media (max-width: 767px) {}

@media (max-width: 575px) {
  .modalJobFormWrapperToggler .modalJobFormWrapper {
    width: 100%;
  }

  #heroObliqueCard .HeroVideoImgWrapper {
    height: 70vh;
  }


  #heroObliqueCard .slideSubTitle {
    font-size: 1.5em;
    line-height: 1.02em;
  }

}




/* ANIMAZIONI */

@-moz-keyframes bounceDown {

  0%,
  20%,
  50%,
  80%,
  100% {
    -moz-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -moz-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -moz-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@-webkit-keyframes bounceDown {

  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounceDown {

  0%,
  20%,
  50%,
  80%,
  100% {
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}



/* assign bounce */

.bounceRight {
  -webkit-animation: bounceRight 2s infinite;
  animation: bounceRight 2s infinite;
}

.bounceLeft {
  -webkit-animation: bounceLeft 2s infinite;
  animation: bounceLeft 2s infinite;
  display: inline-block;
}

.bounceDown {
  -moz-animation: bounceDown 2s infinite;
  -webkit-animation: bounceDown 2s infinite;
  animation: bounceDown 2s infinite;
}



/* ANIMAZIONI */

@-webkit-keyframes bounceLeft {

  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  40% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }

  60% {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
}

@-moz-keyframes bounceLeft {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateX(0);
  }

  40% {
    transform: translateX(20px);
  }

  60% {
    transform: translateX(15px);
  }
}


@keyframes bounceLeft {

  0%,
  20%,
  50%,
  80%,
  100% {
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  40% {
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  60% {
    -ms-transform: translateX(15px);
    transform: translateX(15px);
  }
}

/* /left bounce */


/* right bounce */
@-webkit-keyframes bounceRight {

  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  40% {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  60% {
    -webkit-transform: translateX(-15px);
    transform: translateX(-15px);
  }
}

@-moz-keyframes bounceRight {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateX(0);
  }

  40% {
    transform: translateX(-20px);
  }

  60% {
    transform: translateX(-15px);
  }
}

@keyframes bounceRight {

  0%,
  20%,
  50%,
  80%,
  100% {
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  40% {
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  60% {
    -ms-transform: translateX(-15px);
    transform: translateX(-15px);
  }
}

/* /right bounce */

/* Modal Bootstrap Fix */
.modal {
  z-index: 9999 !important;
}

.modal-backdrop {
  z-index: 9998 !important;
}

.modal.show {
  display: block !important;
}


/* ===================================
   LOGOS CAROUSEL STYLES
   =================================== */

.logos-carousel-container {
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
  position: relative;
}

.logos-carousel-track {
  display: flex;
  align-items: center;
  animation: logoScroll 30s linear infinite;
  width: calc(200px * 16);
  /* 8 loghi * 2 (duplicati) * 200px larghezza */
}

.logo-item {
  flex: 0 0 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 30px;
}

.logo-item img {
  max-height: 50px;
  max-width: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.6;
  transition: all 0.3s ease-in-out;
}

.logo-item:hover img {
  opacity: 1;
  filter: brightness(0) invert(1);
  transform: scale(1.1);
}

@keyframes logoScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-200px * 8));
    /* Sposta di 8 loghi (metà del totale) */
  }
}

/* Pausa animazione al hover del container */
.logos-carousel-container:hover .logos-carousel-track {
  animation-play-state: paused;
}

/* Responsive */

@media (min-width: 1200px) {
  #countdownWrap .countdownBox {
    padding: 20px 10px;
  }
}

@media (max-width: 1024px) {
  #countdownWrap .countdownBox {
    padding: 20px 10px;
  }
}

@media (min-width: 992px) {
  #countdownWrap .countdownBox {
    padding: 20px 10px;
  }

}

@media (max-width: 768px) {
  .logo-item {
    flex: 0 0 150px;
    padding: 0 20px;
  }

  .padding-spaced {
    padding-top: 4rem !important;
  }

  .spacemobile {
    padding-top: 2rem !important;
  }

  #countdownWrap .countdownBox {
    padding: 20px 10px;
  }

  .logos-carousel-track {
    width: calc(150px * 16);
    animation: logoScrollMobile 25s linear infinite;
  }

  @keyframes logoScrollMobile {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(calc(-150px * 8));
    }
  }
}

@media (max-width: 540px) {

  #countdownWrap .countdownBox {
    padding: 20px 24px;
  }
}

@media (max-width: 480px) {
  .logo-item {
    flex: 0 0 120px;
    padding: 0 15px;
  }

  .spacemobilept {
    padding-top: 2rem !important;
  }

  #countdownWrap .countdownBox {
    padding: 20px 24px;
  }

  .logo-item img {
    max-height: 40px;
    max-width: 90px;
  }

  .logos-carousel-track {
    width: calc(120px * 16);
    animation: logoScrollSmall 20s linear infinite;
  }

  @keyframes logoScrollSmall {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(calc(-120px * 8));
    }
  }
}

.color-picker-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.color-picker-wrap .form-control-color {
  width: 56px;
  min-width: 56px;
  height: 44px;
  padding: 4px;
  cursor: pointer;
}

.color-picker-wrap .small {
  opacity: 0.75;
}

.selfie-option {
  display: none;
}

.selfie-button {
  display: block;
  width: 100%;
  padding: 13px 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  color: #fff;
  background: rgba(3, 15, 52, 0.58);
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.selfie-button:hover,
.selfie-button:focus-visible {
  border-color: #00a8e8;
  background: rgba(0, 168, 232, 0.16);
}

.photo-option-separator {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.85rem;
}

.photo-option-separator::before,
.photo-option-separator::after {
  height: 1px;
  flex: 1;
  background: rgba(255, 255, 255, 0.24);
  content: "";
}

.dropzone-preview-name {
  margin-top: 8px;
  color: #fff;
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}

.postcard-loading-overlay[hidden] {
  display: none !important;
}

.postcard-loading {
  overflow: hidden;
}

.postcard-loading-overlay {
  position: fixed;
  z-index: 20000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px;
  color: #fff;
  text-align: center;
  pointer-events: auto;
  touch-action: none;
  background: rgba(3, 15, 52, 0.96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.postcard-loading-card {
  width: min(100%, 460px);
  padding: clamp(28px, 7vw, 48px);
  border: 1px solid rgba(34, 158, 255, 0.3);
  border-radius: 20px;
  background: rgba(12, 28, 72, 0.8);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  outline: none;
}

.postcard-loading-spinner {
  display: inline-block;
  width: 58px;
  height: 58px;
  margin-bottom: 24px;
  border: 5px solid rgba(255, 255, 255, 0.22);
  border-top-color: #229eff;
  border-right-color: #c030ff;
  border-radius: 50%;
  animation: postcard-loading-spin 0.9s linear infinite;
}

.postcard-loading-title {
  margin-bottom: 10px;
  font-size: clamp(1.25rem, 4vw, 1.6rem);
  font-weight: 600;
}

.postcard-loading-copy {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

@keyframes postcard-loading-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .postcard-loading-spinner {
    animation: none;
  }
}

@media (hover: none) and (pointer: coarse) {
  .selfie-option {
    display: block;
  }
}
