.container-full {
  height: calc(100vh - 160px);
  height: calc(100dvh - 160px);
  width: 100%;
  overflow-y: scroll;
}

.iframe-site-model {
  border: none;
  width: 100%;
  height: 100%;
}

.mobile-icon {
  width: 30px;
  height: 30px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.manufacturer-card {
  padding: 30px;
  border-radius: 15px;
  background-color: #fff;
}

.manufacturer-logo {
  width: 100%;
  max-height: 100px;
}

.job-information {
  font-size: 18px;
}

.map-responsive {
  overflow: hidden;
  position: relative;
  height: 300px;
  width: 100%;
  min-width: 250px;
}

.map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

.documents-menu {
  background-color: #222;
  border-radius: 15px;
  padding: 25px;
}

.part-img {
  width: 200px;
}

.part-card {
  width: 350px;
  border-radius: 15px;
}

.part-info {
  margin: 10px;
}

.footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 80px;
  margin-top: 80px;
}

.footer-img {
  width: 200px;
}

.footer-spacer {
  width: 100%;
  height: 80px;
}

/* Preloader */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s ease-out;
}

#preloader img {
  width: 100%;
  min-width: 250px;
  max-width: 500px;
}

.loading-text {
  margin-top: 25px;
  color: #cb2c30;
  font-size: 16px;
  font-weight: bold;
}

.spinner {
  width: 40px;
  height: 40px;
  margin-top: 40px;
  border: 4px solid #cfcfcf;
  border-top: 4px solid #cb2c30;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

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

.preloader-hidden {
  opacity: 0;
  pointer-events: none;
}

.spinner-box {
  margin-top: 50px;
  width: 40px;
  height: 40px;
  position: relative;
  transform-style: preserve-3d;
  /* crucial for 3D */
  animation: spin-cube 2s infinite linear;
}

.cube-face {
  position: absolute;
  width: 40px;
  height: 40px;
  border: 2px solid #cb2c30;
  /* Wireframe style */
  opacity: 0.8;
}

/* Position the 6 faces */
.front {
  transform: rotateY(0deg) translateZ(20px);
}

.back {
  transform: rotateY(180deg) translateZ(20px);
}

.right {
  transform: rotateY(90deg) translateZ(20px);
}

.left {
  transform: rotateY(-90deg) translateZ(20px);
}

.top {
  transform: rotateX(90deg) translateZ(20px);
}

.bottom {
  transform: rotateX(-90deg) translateZ(20px);
}

@keyframes spin-cube {
  0% {
    transform: rotateX(0deg) rotateY(0deg);
  }

  100% {
    transform: rotateX(360deg) rotateY(360deg);
  }
}

