/* Global Settings */
:root {
  --first: #153f8f;
}
* {
  font-family: "Cera Pro";
}
body {
  background-color: #f8f7f7;
}
h1 {
  color: var(--first);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8rem;
}
h2 {
  color: var(--first);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4rem;
}
h3 {
  color: var(--first);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.8rem;
  text-align: center;
}
h4 {
  color: var(--first);
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
}
h5 {
  color: var(--first);
}
h6 {
  color: var(--first);
}

a {
  text-decoration: none;
}

.container-fluid {
  padding: 0 !important;
}

.section-title {
  padding-top: 4.6rem;
  padding-bottom: 0.6rem;
}

.section-description {
  padding-bottom: 4rem;
}
/* Navigation Section */

.navbar-collapse {
  justify-content: flex-end;
}

.navbar-light {
  background-color: rgba(255, 255, 255, 0.85) !important;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25) !important;
}

.navbar-nav {
  flex-wrap: wrap;
  gap: 1rem;
}

.navbar-brand {
  margin-left: 0.8rem;
}

.nav-link {
  color: #000000 !important;
  font-weight: 500;
  font-size: 1rem;
  text-transform: uppercase;
}

.language {
  color: var(--first) !important;
  position: relative;
  padding-left: calc(0.5rem + 5px) !important;
  border-left: 3px solid var(--first);
  padding-top: 0;
  padding-bottom: 0;
}

.language:first-child {
  margin-right: 0.5rem;
}

.language-li {
  display: flex;
  align-items: center;
}
@media (max-width: 991.5px) {
  .language-li {
    margin-top: 1.5rem;
  }
  .language-li:last-child {
    margin-top: 1.5rem;
  }
  .language {
    border-left: unset;
    padding-left: 0 !important;
  }
}
.language-li::before {
  position: absolute;
  top: 5px;
  left: 0;
  background-color: var(--first);
  height: 30px;
  width: 3px;
}

.navbar-toggler {
  border-color: transparent !important;
}

.navbar-toggler:focus {
  box-shadow: none;
}
/* Hero Image Section */

.hero-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
}

.hero-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.3);
  z-index: 2;
  height: 100%;
  width: 100%;
}

.hero-text-container {
  display: flex;
  height: fit-content;
  max-width: 70%;
  flex-direction: column;
  padding: 3rem;
  z-index: 3;
  padding-top: 5rem;
  padding-left: 6rem;
}
@media (max-width: 992px) {
  .hero-text-container {
    max-width: 100%;
    padding: 1rem;
  }
}
.hero-text {
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0px 0px 10px #ffffff;
  border-radius: 20px;
  padding: 0.5rem 1rem;
}

.hero-cta-style {
  color: var(--first);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: 0.5rem;
  padding-left: 1rem;
  text-transform: uppercase;
  display: inline-flex;
  align-content: center;
  align-items: center;
}

.hero-cta-arrow {
  margin-left: 0.5rem;
}
/* Products Section */

.products-item-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-clip: content-box;
}

.products-item-icon {
  background-position: center;
  background-repeat: no-repeat;
}

.products-item-text-container {
  display: grid;
  grid-template-columns: 0.8fr 3fr;
  align-items: center;
  margin-top: 0.8rem;
  gap: 1rem;
}

.products-item-text {
  color: var(--first);
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 500;
}

/* Needs Section */
.needs .section-title {
  padding-top: 4rem;
}

.needs-background {
  background: rgba(229, 229, 229, 0.3);
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.needs-items {
  margin-top: 6rem;
  justify-content: center;
  gap: 1rem;
}

.line {
  position: relative;
}

.line::after {
  content: "";
  position: absolute;
  right: -0.5rem;
  top: 0;
  height: 100%;
  width: 2px;
  background: #d9d9d9;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
}

.needs-item-text {
  text-align: center;
}

.needs-item-squares-numbers {
  display: flex;
  justify-content: center;
  gap: 0.1rem;
}
.needs-item-square {
  width: 1.25rem;
  /* height: 1.25rem; */
  border: 2.5px solid var(--first);
  border-radius: 3px;
}
.needs-item-square::after {
  content: "";
  padding-bottom: 100%;
  height: 50%;
  display: block;
}
.needs-item-square-container {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  justify-content: center;
}

.needs-item-number {
  color: var(--first);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 2rem;
  margin-top: 2px;
}

.needs-item-text {
  color: var(--first);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.3rem;
  text-transform: uppercase;
  margin-top: 1.5rem;
}
/* About Us Section */

.special-title {
  margin-bottom: -2.5rem;
}
.about-us {
  overflow: hidden;
}
.about-us .section-title {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.special-separator {
  width: 100%;
  height: 1rem;
  background: rgba(229, 229, 229, 0.3);
}
.special-h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 1rem;
  background: rgba(229, 229, 229, 0.3);
  transform: translate(-50%, -50%);
  z-index: -10;
}

.special-h3 {
  background-color: #ededed;
  padding: 0.8rem 6rem;
  position: relative;
  z-index: 20;
  width: fit-content;
  margin: 0 auto;
  transform: translateY(calc(-50% - 8px));
}

.special-h3 h3 {
  margin: 0;
}

.about-us-item-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: auto;
  max-height: 370px;
}

.cover .about-us-item-image {
  background-size: contain !important;
}

.about-us-item-title {
  color: var(--first);
  font-weight: 700;
  font-size: 1.5rem;
}

.about-us-item-text {
  color: var(--first);
  font-size: 1.2rem;
  font-weight: 300;
}

.special-margin {
  margin-top: 2rem;
}

.about-us-item-cta {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.about-us-item-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-us-item-cta a {
  color: var(--first) !important;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.3rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 2rem;
}

.about-us-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  gap: 3rem;
  max-width: 31rem;
}

.about-us-text-container {
  display: flex;
  justify-content: center;
}

.about-us-text-container2 {
  max-width: 33rem !important;
  gap: 2rem !important;
}

.about-us-text-container2 .about-us-item-text {
  line-height: 1.8rem;
}

.special-cta {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-top: 2.8rem;
}

.special-cta a {
  color: var(--first);
  background-color: #f0f0f0;
  font-size: 1.3rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1rem 7rem;
  display: flex;
  align-items: center;
  position: relative;
}

.cta-line {
  margin-top: 3.5rem;
  position: relative;
}

.cta-line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.3rem;
  background: rgba(229, 229, 229, 0.3);
  transform: translate(0, -50%);
  z-index: -1;
}
/* Partners Section */

.partners .section-title {
  padding-top: 6.6rem !important;
}

.partners-items {
  justify-content: center;
  gap: 2rem;
  row-gap: 3rem;
}

.partners-item-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
}

@media only screen and (max-width: 1399.5px) {
  .partners-items {
    gap: 4.5rem !important;
  }
}

@media only screen and (max-width: 1199.5px) {
  .partners-items {
    gap: 7rem !important;
  }
}

@media only screen and (max-width: 991.5px) {
  .partners-items {
    gap: 9.5rem !important;
    row-gap: 2rem !important;
  }
}

@media only screen and (max-width: 389px) {
  .partners-items {
    gap: 9.5rem !important;
    row-gap: 2rem !important;
  }
  .partners-item-image {
    height: 7rem !important;
    width: 8rem !important;
  }
}

.partners-item {
  padding: 2rem 1.2rem;
  background-color: #ffffff;
}
/* Characteristics Section */

.characteristics-items {
  justify-content: center;
  overflow: hidden;
  padding-bottom: 2rem;
}

.characteristics-items-adjustment,
.awards-items-adjustment {
  display: flex;
  justify-content: center;
}

.characteristics-item {
  display: grid;
  grid-template-columns: 1fr 7fr;
  align-items: center;
  margin-top: 4rem;
  gap: 1.5rem;
  position: relative;
  max-width: 21rem;
}

.characteristics-item::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 40px;
  height: 2px;
  width: 100%;
  background: #d9d9d9;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
}

.characteristics-window-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 4.5rem;
}

.characteristics-window-text {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
}

/* Clients Section */

.clients-image img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #ffffff;
  padding: 1.5rem 2.5rem;
  border-right: 3px solid #d9d9d9;
}

.clients .section-title {
  padding-top: calc(3.5rem + 6rem) !important;
}

/* Awards Section */

.awards-items .col-md-4,
.characteristics-items .col-md-4 {
  width: 34%;
}

.awards-items {
  justify-content: center;
  overflow: hidden;
  padding-bottom: 2rem;
}

.awards-background {
  background: rgba(229, 229, 229, 0.3);
}

.awards-item {
  display: grid;
  grid-template-columns: 1fr 4fr;
  align-items: center;
  margin-top: 4rem;
  gap: 1.5rem;
  position: relative;
  max-width: 21rem;
}

.awards-item::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50px;
  height: 2px;
  width: 100%;
  background: #d9d9d9;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
}

.awards-window-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 7rem;
}

.awards-window-text {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
}

/* Footer Section */

.footer-background {
  background: #ffffff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  margin-top: 7rem !important;
  padding-top: 3rem !important;
  padding-bottom: 1rem !important;
}

.footer-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 11rem;
}

.footer-address a {
  color: var(--first);
  font-size: 1.1 rem;
}

.footer-logo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 4rem;
}

.footer-title-text {
  color: var(--first);
  font-weight: 700;
  font-size: 1.3rem;
}

.footer-example-text {
  color: var(--first);
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.2rem;
}

.footer-address {
  color: var(--first);
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.2rem;
}

.footer-links ul {
  list-style-type: none;
  padding: 0 !important;
}

.footer-links ul li a {
  color: var(--first) !important;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.6rem;
  text-transform: uppercase;
}

.footer-text-container {
  margin-top: 2rem;
  justify-content: center;
}

.footer-bottom {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 2rem;
}

.footer-copyrights,
.footer-made-by {
  color: var(--first);
  text-transform: uppercase;
  font-weight: 300;
  font-size: 0.8rem;
}

.footer-made-by a {
  color: var(--first);
}

.position-start {
  display: flex;
  justify-content: flex-start;
}

.position-center {
  display: flex;
  justify-content: center;
}

.position-end {
  display: flex;
  justify-content: flex-end;
}

/* Media */

@media only screen and (max-width: 410px) {
  .special-h3 {
    padding: 0.8rem 4rem;
  }
}

@media only screen and (max-width: 350px) {
  .special-h3 {
    padding: 0.8rem 2rem;
  }

  .special-cta a {
    padding: 1rem 3rem;
  }
}

@media only screen and (max-width: 767px) {
  .position-start {
    display: flex;
    justify-content: flex-start;
  }

  .position-center {
    display: flex;
    justify-content: flex-start;
  }

  .position-end {
    display: flex;
    justify-content: flex-start;
  }

  .footer-text-container {
    gap: 2rem;
  }
}

@media only screen and (max-width: 991.5px) {
  .footer-title {
    gap: 4rem;
  }

  .line::after {
    display: none;
  }
  .characteristics-items {
    gap: 4rem;
    row-gap: unset;
  }
}
@media only screen and (max-width: 768px) {
  .footer-title {
    gap: 2rem;
    flex-wrap: wrap;
  }
}

@media only screen and (min-width: 768px) {
  .partners-items .col-md-3 {
    display: flex;
    justify-content: center;
  }
}

@media only screen and (min-width: 992px) {
  .navbar-brand img {
    height: 45px !important;
  }
  .navbar {
    min-height: 7.5rem;
  }

  .hero-image-about-us {
    height: 400px !important;
  }
}

@media only screen and (min-width: 1200px) {
  .navbar-nav {
    gap: 2rem;
    row-gap: 1rem !important;
  }
  .nav-link {
    font-size: 1.3rem;
  }

  h1 {
    font-size: 3.3rem;
    line-height: 4.2rem;
  }

  h2 {
    font-size: 2.1rem;
    line-height: 3rem;
  }

  h3 {
    font-size: 2rem;
  }

  h4 {
    font-size: 1.4rem;
  }

  .section-title {
    padding-bottom: 1.6rem;
  }

  .section-description {
    padding-bottom: 7rem;
  }

  .about-us .section-description {
    padding-bottom: 4.5rem;
  }

  .products-item-text {
    font-size: 1.2rem;
    white-space: nowrap;
  }

  .needs-item-text {
    font-size: 1rem !important;
  }

  .needs-item-number {
    font-size: 4.3rem;
    line-height: 2.3rem;
  }

  .needs-item-square {
    width: 1.4rem;
  }

  .special-title {
    margin-top: 4rem;
  }

  .hero-image {
    height: 90vh !important;
  }
  .hero-cta-style {
    font-size: 1.5rem;
  }
  .hero-cta-arrow {
    height: 1.3rem !important;
  }

  .special-h3 {
    padding: 1.1rem 2rem;
  }

  .about-us-item-title {
    font-size: 1.8rem;
  }

  .about-us-item-text {
    font-size: 1.4rem;
  }

  .about-us .about-us-item-cta a {
    font-size: 1.5rem;
  }

  .about-us .hero-cta-arrow {
    margin-left: 2rem;
  }

  .about-us .special-cta a {
    font-size: 1.5rem;
  }

  .partners-items {
    margin-bottom: 2.5rem;
  }

  .characteristics-window-text {
    font-size: 1.3rem;
  }

  .characteristics-window-image {
    height: 5rem !important;
    width: 5rem !important;
  }

  .clients .section-description {
    padding-bottom: 5rem !important;
  }

  .owl-carousel {
    margin-bottom: 4rem;
  }

  .awards .section-description {
    padding-bottom: 4rem !important;
  }

  .about-us-hero-text {
    font-size: 3rem !important;
    max-width: 400px !important;
  }

  .location {
    margin-top: 1rem !important;
    margin-bottom: 11.5rem !important;
  }

  .realizations-item-image {
    height: 16.5rem !important;
  }

  .realizations-text-thin {
    font-size: 1.2rem;
    white-space: nowrap;
  }

  .realizations-text-bolder {
    font-size: 1.2rem;
    white-space: normal;
  }

  .realizations-text-icon {
    height: 4rem !important;
    width: 4rem !important;
  }

  .special-cta a {
    font-size: 1.6rem;
  }

  .job-title {
    font-size: 1.4rem !important;
  }
  .job-description {
    font-size: 1.3rem !important;
  }
  .job-cta {
    font-size: 1.6rem !important;
  }
  .job-cta img {
    height: 1.3rem !important;
  }
  .job-item-person {
    height: 3rem !important;
    width: 3rem !important;
  }
  .job-item-square {
    height: 1.5rem !important;
    width: 1.5rem !important;
  }
  .employer {
    margin-bottom: 5rem;
  }
  .socials .section-title {
    padding-top: 3.8rem;
  }

  .socials .section-description {
    padding-bottom: 3rem;
  }

  .socials-link {
    font-size: 1.5rem !important;
  }
  .socials-link img {
    height: 1.5rem !important;
  }

  .realizations-sub .realizations-item-icon {
    height: 4rem !important;
    width: 4rem !important;
  }
  .realizations-sub .realizations-item-text-thiner {
    font-size: 1.3rem;
  }
  .realizations-sub .realizations-item-text-bolder {
    font-size: 1.3rem;
  }

  .realizations-sub .realizations-item-image {
    height: 19rem !important;
  }
  .realizations-sub .realizations-item-text-container {
    gap: 0;
  }

  .realizations-sub .section-title {
    padding-top: 4rem;
  }
  .realizations-sub .section-description {
    padding-bottom: 4.5rem;
  }

  .expand-item {
    gap: 0 !important;
  }
  .expand-item-bolder,
  .expand-item-thiner {
    font-size: 1.3rem !important;
  }
  .offer-link-text-bolder,
  .offer-link-text-thiner {
    font-size: 1.3rem !important;
  }
  .expand-items {
    gap: 0 !important;
  }

  .realizations-item-text-thiner,
  .realizations-item-text-bolder {
    font-size: 1.3rem !important;
  }

  .realizations-item-icon {
    height: 4rem !important;
    width: 4rem !important;
  }

  .realizations-reminder .realizations-item-image {
    height: 20rem !important;
  }
  .about-us-hero-text {
    line-height: 3rem;
  }
  .product-description {
    margin-top: 5rem;
  }
  .technical-icon img {
    height: 5rem !important;
    width: 5rem !important;
  }
  .technical-container-title {
    font-size: 1.3rem !important;
  }
  .technical-text {
    font-size: 1.3rem !important;
  }

  .downloads .section-title {
    padding-top: 4rem;
  }
  .downloads .section-description {
    padding-bottom: 3.5rem;
  }

  .go-back,
  .download-pdf {
    font-size: 1.5rem !important;
  }
  .go-back img,
  .download-pdf img {
    height: 1.5rem !important;
  }

  .footer-logo {
    height: 4.5rem !important;
    width: 4.5rem !important;
  }
  .footer-title-text {
    font-size: 1.7rem !important;
  }

  .footer-example-text {
    font-size: 1.3rem !important;
    line-height: 1.6rem !important;
  }
  .footer-address {
    font-size: 1.3rem !important;
    line-height: 1.6rem !important;
  }
  .footer-links ul li a {
    font-size: 1.3rem;
  }
  .footer-copyrights,
  .footer-made-by {
    font-size: 1rem;
  }

  .footer-bottom {
    margin-top: 4rem !important;
  }

  .catalogue-item-download {
    font-size: 1.4rem !important;
  }
  .catalogue-item-text {
    font-size: 1.3rem !important;
  }

  .department .section-title {
    padding-top: 4rem;
  }

  .departments-icon {
    height: 3.5rem !important;
    width: 3.5rem !important;
  }
  .departments-title {
    font-size: 1.1rem !important;
  }
  .departments-person-name,
  .departments-person-text {
    font-size: 1rem !important;
  }
  .departments-item {
    padding: 4rem 1rem 1rem 1rem !important;
  }
  .contact-form .section-title {
    padding-top: 7.5rem;
  }

  .contact-form .section-description {
    padding-bottom: 5rem;
  }
  .contact-form-title {
    font-size: 1.4rem !important;
  }
  .form-control,
  .form-control::placeholder {
    font-size: 0.9rem !important;
  }

  .submit-button {
    font-size: 1.5rem !important;
  }
  .requirements {
    font-size: 0.9rem !important;
  }
  .products-item-image {
    height: 12rem !important;
  }
  .about-us-awards .section-description {
    padding-bottom: 4rem !important;
  }
  .technical-container {
    min-height: 20rem !important;
  }
  .about-us-items {
    row-gap: 6.3rem;
  }
  .needs .section-description {
    padding-bottom: 4rem !important;
  }
  .in-about-us .section-description {
    padding-bottom: 5rem !important;
  }
  .cta-line {
    margin-top: 1rem !important;
  }
  .employer .special-title {
    margin-top: 1.5rem !important;
  }
  .employer .special-title .special-h3 {
    padding: 1.1rem 5rem !important;
  }
  .employer .section-description {
    padding-bottom: 3.1rem !important;
  }
}

@media only screen and (max-width: 767.5px) {
  .about-us-item {
    gap: 2rem;
  }

  .about-us-items .col-12:nth-child(1) {
    order: 2;
  }
  .about-us-items .col-12:nth-child(2) {
    order: 1;
  }
  .about-us-items .col-12:nth-child(3) {
    order: 3;
  }
  .about-us-items .col-12:nth-child(4) {
    order: 4;
  }
}

@media only screen and (max-width: 400.5px) {
  .characteristics-window-text,
  .awards-window-text {
    font-size: 0.9rem;
  }
}

@media only screen and (min-width: 280px) {
  .needs-items {
    gap: 2rem;
  }
}

@media only screen and (min-width: 992px) {
  .needs-items {
    gap: 1rem;
  }
}

@media only screen and (max-width: 565px) {
  .about-us-item-image {
    height: 10rem !important;
  }
}

@media only screen and (max-width: 991.5px) {
  .about-us-item {
    gap: 3rem !important;
  }
}

@media only screen and (max-width: 400px) {
  .about-us-item-cta a {
    font-size: 1.2rem !important;
  }
}

/* ----------------- ABOUT US SUB ----------------- */

.about-us-hero-text {
  position: absolute;
  top: calc(50% + 30px);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  max-width: 200px;
  color: #f8f7f7;
  font-weight: 700;
  font-size: 1.8rem;
}

@media only screen and (min-width: 992px) {
  .about-us-hero-text {
    top: calc(50% + 60px);
  }
}

.hero-image-about-us {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}

.hero-image-about-us::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(
    94.39deg,
    rgba(255, 255, 255, 0.5) 0%,
    rgba(21, 63, 143, 0.5) 100.01%
  );
  z-index: 2;
  height: 100%;
  width: 100%;
}

/* About Us Location Section */

.location-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.corner-logo {
  position: relative;
}

.location-logo {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(2rem, 2rem);

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* About Us Awards Section */

.about-us-awards .awards-background {
  margin-top: 6rem;
}

/* About Us Realizations Section */

.realizations {
  margin-top: 5rem;
  margin-bottom: 3rem;
}

.in-about-us .realizations-item-image::after {
  display: none;
}

.realizations-text-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.realizations-text {
  color: var(--first);
  text-transform: uppercase;
  font-weight: 300;
  font-size: 1rem;
}

.realizations-text-bolder {
  font-weight: 500;
}

@media only screen and (max-width: 1292px) {
  .realizations-text-thin {
    font-size: 1.2rem;
    white-space: unset;
  }
  .realizations-text-bolder {
    font-size: 1.2rem;
  }
}

.realizations-text-container {
  display: grid;
  grid-template-columns: 1fr 5fr;
  margin-top: 1.5rem;
  margin-bottom: 0.8rem;
  gap: 1.5rem;
}

.realizations-item-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* About Us Employer Section */

.job-items {
  margin-top: 11.5rem;
}

.employer-text {
  justify-content: flex-start !important;
}

.job-item {
  background-color: #ffffff;
  padding: 4rem 1rem 6rem 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  filter: drop-shadow(0px 4px 15px #e5e5e5);
}

.job-title {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.job-description {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 300;
}

.job-cta {
  color: var(--first);
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: uppercase;
  position: absolute;
  bottom: 0.8rem;
  right: 1rem;
}
.job-cta:hover {
  color: var(--first);
}

.job-item-squares-person-container {
  display: flex;
  justify-content: center;
  gap: 0.1rem;
  background-color: #ffffff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  padding: 2.5rem 2rem;

  position: absolute;
  top: -10%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.job-item-square {
  width: 1.25rem;
  height: 1.25rem;
  border: 2.5px solid var(--first);
  border-radius: 3px;
}
.job-item-squares {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  justify-content: center;
}

.job-item-person {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* About Us Socials Section */

.custom-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-grid {
  display: grid;
  grid-template-columns: 556px 295px 295px;
  column-gap: 1rem;
  row-gap: 2rem;
  justify-items: center;
}

.item-4 {
  grid-column-start: 2;
}

@media only screen and (max-width: 1200px) {
  .custom-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .item-1 img {
    width: 100% !important;
    max-width: 700px;
    height: auto !important;
  }
  .item-2 img {
    width: 100% !important;
    max-width: 400px;
    height: auto !important;
  }
  .item-3 img {
    width: 100% !important;
    max-width: 400px;
    height: auto !important;
  }
}

@media only screen and (max-width: 616px) {
}

/* .socials img {
  width: 100%;
} */
.socials button {
  margin-top: 2rem;
}

.square-banners {
  margin-top: 1.5rem;
}

.banner-adjustment {
  margin-top: 1.5rem;
}

.square-banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.socials-link {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;

  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}

.socials-link:hover {
  color: var(--first);
}

.socials-link img {
  margin-bottom: 1px;
}

.job-cta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}

/* About Us Media */

@media only screen and (max-width: 590px) {
  .location-logo {
    display: none;
  }
}

@media only screen and (max-width: 767.5px) {
  .job-item {
    margin-top: 8rem;
  }
}

@media only screen and (max-width: 991.5px) {
  .job-item-squares-person-container {
    top: -7% !important;
  }
}

@media only screen and (max-width: 767.5px) {
  .employer .section-description {
    padding-bottom: 0 !important;
  }

  .location-image {
    margin-top: 2rem;
  }

  .job-items {
    margin-top: 2rem !important;
  }

  .ordering:nth-child(1) {
    order: 2 !important;
  }
  .ordering:nth-child(2) {
    order: 1 !important;
  }
  .ordering:nth-child(3) {
    order: 3 !important;
  }
  .ordering:nth-child(4) {
    order: 4 !important;
  }
  .ordering:nth-child(5) {
    order: 6 !important;
  }
  .ordering:nth-child(6) {
    order: 5 !important;
  }
  .ordering:nth-child(7) {
    order: 7 !important;
  }
  .ordering:nth-child(8) {
    order: 8 !important;
  }
  .ordering:nth-child(9) {
    order: 10 !important;
  }
  .ordering:nth-child(10) {
    order: 9 !important;
  }
  .ordering:nth-child(11) {
    order: 11 !important;
  }
  .ordering:nth-child(12) {
    order: 12 !important;
  }
}

@media only screen and (max-width: 400px) {
  .socials-link {
    gap: 0.25rem;
    font-size: 0.9rem;
  }
  .socials-link img {
    height: 0.9rem !important;
  }
}

/* ----------------- REALIZATIONS SUB ----------------- */

.realizations-sub .row {
  margin-right: 0 !important;
}

.realizations-item {
  margin-top: 1rem;
  padding-right: 0 !important;
}

.realizations-item-image,
.realizations-item-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.realizations-item-container {
  background: #ffffff;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);
}

.realizations-item-text-container {
  padding: 1.5rem 1rem;
  display: grid;
  grid-template-columns: 0.8fr 3fr;
  align-items: center;
  gap: 1rem;
}

.realizations-item-text {
  text-transform: uppercase;
}

.realizations-item-text-thiner {
  color: var(--first);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.1rem;
  margin-bottom: 0.5rem;
}
.realizations-item-text-bolder {
  color: var(--first);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1rem;
}

.realizations-item-image {
  position: relative;
}

.realizations-item-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(
    318.55deg,
    var(--first) -8.52%,
    rgba(21, 63, 143, 0) 41.97%
  );
  z-index: 2;
  height: 100%;
  width: 100%;
}
.plus {
  position: absolute;
  top: 3%;
  right: 3%;
  z-index: 3;

  color: #e5e5e5;
  font-size: 4rem;
  line-height: 2rem;
  font-weight: 300;
}

/* ----------------- OFFER SUB ----------------- */

.offers .section-title {
  padding-top: 4rem;
}

.offers .section-description {
  padding-bottom: 3.5rem;
}

.offers .nav-tabs {
  border: none !important;
}

.offers a {
  padding: 0 !important;
}

.offers .nav-tabs .nav-item.show .nav-link,
.offers .nav-tabs .nav-link.active {
  border: none;
}

.offers .nav-tabs .nav-link {
  border: none;
}

.offers .nav {
  flex-direction: column;
  gap: 0.5rem;
}

.offers .nav-link {
  transition: none;
}

.offer-link-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.offer-link-number {
  color: var(--first);
  font-size: 2rem;
  font-weight: 700;
  padding: 1rem;
  line-height: 2rem;

  background-color: #f0f0f0;
}

.offers-special-padding {
  padding-right: 1.4rem !important;
  min-width: 5rem;
}

.expand-item-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.offer-link-text-bolder {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
}

.offer-link-text-thiner {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 300;
}

.offer-link-text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.expand-items {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background-color: #ffffff;
}

.expand-item {
  display: grid;
  grid-template-columns: 1fr 11fr;
  align-items: center;
  gap: 2rem;
  padding: 1.6rem;
  text-transform: uppercase;
}

@media only screen and (max-width: 991.5px) {
  .expand-items {
    margin-top: 2rem !important;
  }
}

.expand-items:last-of-type {
  padding-bottom: 2rem;
}

.expand-item-bolder {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
  position: relative;
}
.expand-item-bolder::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #c4c4c4;
  transform: matrix(1, 0, 0, -1, 0, 0);
}

.expand-item-thiner {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 300;
}

.no-padding {
  padding-left: 0 !important;
}

.offer-link-number {
  position: relative;
  z-index: 2;
}

.offer-link-number::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 1.5rem;
  width: 40rem;
  background-color: #f0f0f0;
  z-index: -1;
}

.big-padding {
  padding-right: calc(var(--bs-gutter-x) * 2.5) !important;
}

.realizations-reminder .realizations-items {
  margin-right: 0 !important;
  margin-top: 3rem;
  margin-bottom: 5.5rem;
}

.realizations-reminder .section-title {
  padding-top: 7.2rem;
}

/* ----------------- PRODUCT SUB ----------------- */

.product-description .about-us-item {
  justify-content: flex-start;
}

.product-description .section-title {
  padding-top: 4rem;
}

.technical-container {
  background-color: #ffffff;
  padding: 5rem 1.5rem 1rem 1.5rem;
  min-height: 18rem;
  position: relative;
}

.technical-container-title {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
  padding-left: 1rem;
  padding-bottom: 2rem;
}

.technical-items {
  margin-top: 6rem;
}

.technical-text {
  color: var(--first);
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 300;
}

.technical-text .bolder {
  font-weight: 500;
}

.technical-icon {
  background-color: #ffffff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  padding: 1rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.technical .section-title {
  padding-top: 6.5rem;
}

@media only screen and (max-width: 767.5px) {
  .technical-items {
    gap: 6rem;
  }
}

.product-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-top: 6rem;
}

.download-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-top: 6rem;
}

.go-back,
.download-pdf {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 1rem 2rem;
  gap: 0.5rem;
  position: relative;
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  background-color: #f0f0f0;
  margin-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: calc(var(--bs-gutter-x) * 0.5);
}

.go-back::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30%;
  transform: translate(-90%, -50%);
  height: 1rem;
  width: 1000px;
  background: rgba(229, 229, 229, 0.3);
  z-index: -1;
}

.download-pdf::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(110%, -50%);
  height: 1rem;
  width: 400px;
  background: rgba(229, 229, 229, 0.3);
  z-index: -1;
}

.technical .container-fluid {
  overflow: hidden;
}

.go-back img {
  transform: rotate(180deg);
}

@media only screen and (max-width: 426px) {
  .go-back,
  .download-pdf {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
  }
  .go-back img,
  .download-pdf img {
    height: 0.8rem !important;
  }
}

/* ----------------- DOWNLOADS SUB ----------------- */

/* .catalogue-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 1.5rem;
  background-color: #ffffff;
  gap: 1.5rem;
} */

.catalogue-item {
  display: grid;
  grid-template-columns: 0.1fr 2fr 0.4fr;
  flex-direction: row;
  align-items: center;
  padding: 1.5rem;
  background-color: #ffffff;
  gap: 1.5rem;
}

.catalogue-items {
  justify-content: center;
}

.catalogue-item:last-child {
  padding-bottom: 3rem !important;
}

.catalogue-item-download {
  margin-left: auto;
}

.catalogue-item-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.catalogue-item-text {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 300;
  text-transform: uppercase;
  position: relative;
}

.catalogue-item-text::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  width: 100%;
  height: 1px;
  background: #c4c4c4;
  transform: matrix(1, 0, 0, -1, 0, 0);
}

.catalogue-item-text-bolder {
  font-weight: 500;
}

.catalogue-item-download {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
}

@media only screen and (max-width: 580px) {
  .catalogue-item {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .catalogue-item-download,
  .catalogue-item-text {
    font-size: 0.8rem;
  }
  .catalogue-item-icon {
    display: none;
  }
}

/* ----------------- CONTACT SUB ----------------- */

.departments {
  margin-top: 1.5rem;
}

.department .row {
  row-gap: 6rem !important;
}

.departments-item {
  padding: 3rem 1rem 1rem 1rem;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  min-height: 23rem;
  position: relative;
}

.departments-title {
  color: var(--first);
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
}

.departments-person-name,
.departments-person-text {
  color: var(--first);
  font-size: 0.7rem;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.5rem;
}

.departments-person-name {
  font-weight: 500;
}

.departments-icon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.departments-item-icon-container {
  position: absolute;
  top: -3rem;
  left: 1rem;
  padding: 1rem;
  background-color: #ffffff;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.contact-form .row {
  justify-content: center;
  align-items: center;
}

.form-control::placeholder {
  color: var(--first);
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 300;
}

.form-control {
  color: var(--first);
  font-size: 0.8rem;
  font-weight: 300;
  border: none;
  background-color: transparent;
  border-bottom: 2px solid #e5e5e5;
  border-radius: 0;
}

.contact-form-title {
  color: var(--first);
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: uppercase;
}

.message {
  border: 1px solid #e5e5e5;
  filter: drop-shadow(0px 4px 20px rgba(0, 0, 0, 0.1));
  margin-top: 4rem;
}

.submit-button {
  background-color: transparent;
  border: none;
  text-align: right;

  color: var(--first);
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 700;

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.submit-button-position {
  display: flex;
  justify-content: flex-end;
}

.requirements {
  color: var(--first);
  font-size: 0.8rem;
  font-weight: 300;
}

.iframe-map {
  display: flex;
  justify-content: center;
}

.iframe-map iframe {
  width: 75% !important;
}

@media (min-width: 800px) {
  .padding-fix {
    padding: 1.1rem 6.5rem !important;
  }
}

@media (max-width: 800px) {
  .iframe-map iframe {
    width: 100% !important;
  }
}

@media (max-width: 1399.5px) {
  .ps-lg-5 {
    padding-left: 1rem !important;
  }
  .language {
    border-left: unset;
    padding-left: unset !important;
  }
  .language-li {
    margin-top: 1.5rem;
  }
  .navbar-nav .language-li:last-child {
    margin-top: 0.5rem !important;
  }
  .navbar > .container {
    gap: 1rem;
  }
}

.special-cta .hero-cta-arrow {
  margin-top: 1px;
}

.grecaptcha-badge { 
  visibility: hidden;
}

.recaptcha-info {
  display: block;
  position: relative;
  margin-bottom: 5px;
  padding-top: 3px;
  cursor: pointer;
  font-size: 0.60rem;
}

.cookies-alert {
  opacity: 0;
  display: none;
  background-color: var(--first);
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: 1em 1.8em;
  color: white;
  z-index: 100;
  font-weight: 500;
  letter-spacing: 1px;
}
.cookies-alert a {
  color: white !important;
  text-decoration: underline;
  opacity: 0.8;
  transition: 0.2s all;
}
.cookies-alert.active {
  opacity: 1;
  display: flex;
}
.cookies-alert a:hover {
  text-decoration: unset;
  opacity: 1;
}
.cookies-alert button {
  color: white;
  background: transparent;
  border: 2px solid white;
  outline: unset;
  padding: 0.4rem 1.5rem;
  font-size: 16px;
  font-weight: 500;
  transition: 0.2s all;
}
.cookies-alert button:hover {
  color: var(--first);
  background: white;
}
.cookies-badge.active {
  display: block;
  opacity: 1;
}
.cookies-badge {
  background-color: var(--first);
  bottom: 0;
  left: 3em;
  border-top-left-radius: 0.5em;
  border-top-right-radius: 0.5em;
  position: fixed;
  transition: all 1s ease;
  transform: translateY(2em);
  display: none;
  opacity: 0;
  z-index: 100;
  padding: 0.5em;
}
.cookies-badge:hover {
  transform: translateY(0);
}
.cookies-badge:hover div {
  text-decoration: underline;
  cursor: pointer;
}
.cookies-badge div {
  color: white;
  letter-spacing: 1px;
  font-weight: 500;
}

.alert {
  position: fixed;
  width: 30%;
  top: 15%;
  right: -2%;
  z-index: 9999999;
}

.photo_project {
  position: relative;
  height: 300px;
  line-height: 300px;
  width: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  text-align: center;
}

.mask_photo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(21, 63, 143, 0.4);
  z-index: 2;
}

.mask_project {
  background: rgb(0,0,0, 0) !important; 
  transition: .5s all;
  font-size: 0;
  cursor: zoom-in !important;
}

.mask_project:hover {
  background: rgb(21, 63, 143, .5) !important; 
  font-size: 2rem;
  color: #fff !important;
}

.images-title {
  color: var(--first);
  text-align: center;
  margin-top: 0.5rem;
}

.goog-te-banner-frame.skiptranslate {
  display: none !important;
}