@font-face{
  font-family:FoRegular;
  src:url(/font/Regular.ttf);
  font-display:swap
}
@font-face{
  font-family:FoEBold;
  src:url(/font/eBold.ttf);
  font-display:swap
}
@font-face{
  font-family:FoBold;
  src:url(/font/Bold.ttf);
  font-display:swap
}
@font-face{
  font-family:FoMedium;
  src:url(/font/Medium.ttf);
  font-display:swap
}
@font-face{
  font-family:FoLight;
  src:url(/font/Light.ttf);
  font-display:swap
}

* { 
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -moz-tap-highlight-color: transparent;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  font-family: FoRegular;
}

html {
  min-height: 100%;
  height: 100%;
}

body {
  background-color: #fcfcfc;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.whole-menubar {
  width: 100%;
  position: sticky;
  top:0;
  height:87px;
  background-color: rgba(252, 252, 252, 0.95);
  z-index: 9999999999999999;
  border-bottom: 1px solid #dddddd;
  padding:10px 30px;
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.whole-menubar-logo {
  background: url('/img/venderes-main.png') no-repeat left center / contain;
  height: 100%;
  width:100%;
  max-width: 158px;
}

footer {
  background-color: #efefef;
  padding: 30px 50px 30px;
  color: #5f5f5f;
  margin-top: auto;
  width: 100%;
  flex-shrink: 0;
}

section.content-section {
  flex: 1 0 auto;
}

section.content-plain, section.content-boxes {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px 30px 40px;
}

section.content-plain .content-plain-header-text, section.content-boxes .content-boxes-header-text {
  color: #101010;
  font-size: 50px;
  text-align: center;
  font-family: FoBold;
  padding: 0 20px;
}

.content-boxes-header-text {
  margin-bottom: 50px;
}

section.content-plain .content-plain-post-text {
  font-size: 20px;
  padding-top: 15px;
  color: #101010;
  text-align: center;
  font-family: FoBold;
}

section.content-plain .content-plain-message-box {
  margin-top: 50px;
  border-radius: 40px;
  color: black;
  padding: 40px;
  font-family: FoMedium;
  background-image: linear-gradient(119deg, #ececec, #efefef);
  max-width: 1200px;
}

.basic-data-loader {
  position:relative;
}

@keyframes basic-data-loader {
  0%   {transform: scale(1); opacity: 0.2;}
  50%  {transform: scale(0.5); opacity: 0.9;}
  100% {transform: scale(1); opacity: 0.2;}
}

.basic-data-loader::before, .basic-data-loader::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #101010;
  opacity: 0.2;
  border-radius: 50%;
  animation-name: basic-data-loader;
  animation-duration: 3s;
  transform: scale(1);
  animation-iteration-count: infinite;
}

.basic-data-loader::after {
  animation-delay: -1.5s;
}

.content-plain-loader {
  width: 170px;
  height: 170px;
  margin-top:50px;
}

.content-boxes-parts {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.content-boxes-parts-info {
  width: 50%;
  padding: 10px 30px 40px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.content-plain-parts-info {
  padding: 10px 30px 40px;
}

.content-boxes-parts-info-box {
  width: 100%;
  margin: 0 0 0 auto;
  max-width: 650px;
  border-radius: 22px;
  background-color: #efefef;
  padding:40px;
}

.content-boxes-parts-info-box-container {
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.content-boxes-parts-info-box-container div {
  font-family: FoBold;
  color:#101010;
  font-size: 17px;
}

.content-boxes-parts-info-box-container div span {
  color: #d9534f;
  display:inline-block;
  font-size: 90%;
  background-color: #f7dcdb;
  padding: 10px 13px;
  border-radius: 15px;
  margin: 5px 0;
  font-family: FoBold;
}

.content-boxes-parts-info-box-container > span {
  text-align: justify;
  color: #2c2c2c;
  font-family: FoRegular;
}

.content-boxes-parts-info-box-container > span a {
  color: #2c2c2c;
  font-family: FoMedium;
}

.content-boxes-parts-info-box-container div img {
  height: 80px;
  padding: 20px 30px;
  border-radius: 20px;
  margin: 10px 0;
  background-color: #F6F6F6;
}

.content-boxes-parts-info-methods, .content-boxes-parts-info-inputs {
  display:flex;
  flex-direction: column;
}

.content-boxes-parts-info-methods-header, .content-boxes-parts-info-inputs-header {
  color: #101010;
  font-family: FoMedium;
  font-size: 30px;
  width: 100%;
  margin-bottom: 20px;
}

.content-boxes-parts-info-methods {
  margin-top: 40px;
}

.content-boxes-parts-info-methods-container {
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: -10px;
  margin-top: 20px;
}

.content-boxes-parts-info-methods-container label input {
  display: none;
}

.content-boxes-parts-info-methods-container label input:checked ~ img {
  background-color: #efefef;
}

.content-boxes-parts-info-methods-container label img {
  height: 80px;
  padding: 20px 30px;
  border-radius: 20px;
  margin: 10px;
  pointer-events: none;
  transition: 0.3s transform, 0.3s background-color;
  border: 1px solid #ddd;
}

.content-boxes-parts-info-methods-container label:hover img {
  transform: scale(1.05);
}

.content-boxes-buttons {
  width: 100%;
  padding:35px;
}

.content-boxes-buttons button {
  border: none;
  padding: 20px 25px;
  font-size: 20px;
  outline: none;
  border-radius: 22px;
  color: white;
  font-family: FoBold;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: linear-gradient(119deg, #131313, transparent), var(--backrainbow);
  background-color: #101010;
  cursor: pointer;
  min-width: 220px;
  transition: 0.3s background-position;
}

.content-boxes-buttons button:disabled {
  opacity: 0.5;
}

.content-boxes-buttons button:disabled:hover {
  background-position: center center;
}
.content-boxes-buttons button:hover {
  background-position: 30px center;
}

.content-boxes-parts-info-inputs-container {
  display:flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

.content-boxes-parts-info-inputs-container input {
  max-width: 400px;
  width: 100%;
  border: 1px solid #cecece;
  padding: 15px 30px;
  font-size: 17px;
  outline: none;
  border-radius: 20px;
}

@media only screen and (max-width: 1350px) {
  .whole-menubar-logo {
    max-width: 145px;
  }
}

@media only screen and (max-width: 1050px) {
  .whole-menubar-logo {
    max-width: 125px;
  }
  .content-boxes-parts {
    flex-direction: column;
  }
  .content-boxes-parts-info {
    width: 100%;
  }
  .content-boxes-parts-info-box {
    margin: 0 auto;
  }
  .content-boxes-parts-info-inputs-header, section.content-plain .content-plain-header-text {
    text-align: center;
  }
  .content-boxes-parts-info-inputs-container {
    align-items: center;
  }
  .content-boxes-parts-info-inputs-container input {
    max-width: 450px;
  }
}

@media only screen and (max-width: 850px) {
  section.content-boxes .content-boxes-header-text, section.content-plain .content-plain-header-text {
    font-size: 45px;
  }
  .whole-menubar-logo {
    max-width: 110px;
  }
}


@media only screen and (max-width: 800px) {
  .whole-menubar-logo {
    max-width: 100px;
  }
}

@media only screen and (max-width: 650px) {
  .whole-menubar {
    padding: 10px 20px;
  }
  .whole-menubar-logo {
    max-width: 90px;
  }
  section.content-plain, section.content-boxes {
    padding: 20px 0px 40px;
  }
  .content-boxes-buttons {
    padding: 0 20px 35px;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    gap: 10px;
  }
  .content-boxes-buttons button {
    min-width: unset;
    max-width: 450px;
    width: 100%;
  }
  .content-boxes-parts-info, .content-plain-parts-info {
    padding: 10px 20px 40px;
  }
  .content-boxes-parts-info-box {
    padding: 30px;
  }
  footer {
    padding: 30px 20px 30px;
  }
}

@media only screen and (max-width: 550px) {
  section.content-boxes .content-boxes-header-text, section.content-plain .content-plain-header-text {
    font-size: 35px;
  }
}

@media only screen and (max-width: 400px) {
  .content-boxes-parts-info-box {
    padding:20px;
  }
  .content-boxes-buttons button {
    padding: 18px 25px;
    font-size: 16px;
  }
  .content-boxes-parts-info-methods-container label img {
    height: 70px;
  }
}

@media only screen and (max-width: 325px) {
  section.content-boxes .content-boxes-header-text, section.content-plain .content-plain-header-text {
    font-size: 35px;
  }
  .content-boxes-parts-info-inputs-header {
    font-size: 25px;
  }
  .content-boxes-parts-info-methods-container label img {
    height: 60px;
  }
}