html {
  font-family: "toyota_typeregular", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

:focus {
  outline: 2px solid #ed1b24;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "toyota_typebold", sans-serif;
  margin: 0;
}

h2,
.h2 {
  font-size: clamp(24px, 24px + 10 * (100vw - 768px) / 432, 34px);
}

h3,
.h3 {
  font-size: clamp(20px, 20px + 8 * (100vw - 768px) / 432, 28px);
}

p {
  font-family: "toyota_typeregular", sans-serif;
  font-weight: 400;
}
p strong {
  font-family: "toyota_typebold", sans-serif;
}
p.large {
  font-size: clamp(18px, 18px + 4 * (100vw - 768px) / 432, 22px);
}
p.medium {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 432, 18px);
}

.header {
  padding-top: 30px;
  padding-bottom: 30px;
  background: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), color-stop(20%, #ffffff), color-stop(80%, #ffffff), to(#ebebeb));
  background: linear-gradient(to bottom, #ebebeb 0%, #ffffff 20%, #ffffff 80%, #ebebeb 100%);
}
.header .hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(35px, 35px + 10 * (100vw - 768px) / 432, 45px);
}
.header .hero__logo {
  width: clamp(365px, 365px + 300 * (100vw - 768px) / 432, 665px);
  max-width: 100%;
  height: auto;
}
.header .hero h2 {
  font-size: clamp(20px, 20px + 10 * (100vw - 768px) / 432, 30px);
}

.intro {
  background-color: #000;
  color: #fff;
  padding-top: clamp(25px, 25px + 5 * (100vw - 768px) / 432, 30px);
  padding-bottom: clamp(5px, 5px + 9 * (100vw - 768px) / 432, 14px);
}

.logos {
  padding-top: clamp(40px, 40px + 10 * (100vw - 768px) / 432, 50px);
  padding-bottom: clamp(40px, 40px + 10 * (100vw - 768px) / 432, 50px);
}
.logos__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 30px;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
.logos__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100%;
  width: calc(50% - 15px);
}
.logos__link:hover .logos__image {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.logos__image {
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  max-width: 100%;
  height: auto;
}

.history__box {
  border-radius: 25px;
  background: -webkit-gradient(linear, left top, left bottom, from(#6f7072), to(#9e9fa3));
  background: linear-gradient(to bottom, #6f7072 0%, #9e9fa3 100%);
}
.history__box * {
  color: #fff;
}
.history__box .row {
  margin-left: 0;
  margin-right: 0;
}
.history__box .row > div {
  padding-top: clamp(25px, 25px + 15 * (100vw - 768px) / 432, 40px);
  padding-bottom: clamp(15px, 15px + 9 * (100vw - 768px) / 432, 24px);
  padding-left: clamp(15px, 15px + 25 * (100vw - 768px) / 432, 40px);
  padding-right: clamp(15px, 15px + 25 * (100vw - 768px) / 432, 40px);
}
.history__box .row > div p {
  text-align: justify;
}
.history__box .wrap-fader {
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
}
.history__box .wrap-fader > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  will-change: opacity;
}
.history__box {
  /* image A */
}
.history__box .wrap-fader > img:nth-child(1) {
  -webkit-animation: fadeA 6s infinite ease-in-out;
          animation: fadeA 6s infinite ease-in-out;
}
.history__box {
  /* image B */
}
.history__box .wrap-fader > img:nth-child(2) {
  -webkit-animation: fadeB 6s infinite ease-in-out;
          animation: fadeB 6s infinite ease-in-out;
}
@-webkit-keyframes fadeA {
  0%, 45% {
    opacity: 1;
  }
  50%, 95% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
  /* clean loop */
}
@keyframes fadeA {
  0%, 45% {
    opacity: 1;
  }
  50%, 95% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
  /* clean loop */
}
@-webkit-keyframes fadeB {
  0%, 45% {
    opacity: 0;
  }
  50%, 95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeB {
  0%, 45% {
    opacity: 0;
  }
  50%, 95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.history__box {
  /* accessibility */
}
@media (prefers-reduced-motion: reduce) {
  .history__box .wrap-fader > img {
    -webkit-animation: none;
            animation: none;
  }
  .history__box .wrap-fader > img:nth-child(1) {
    opacity: 1;
  }
  .history__box .wrap-fader > img:nth-child(2) {
    opacity: 0;
  }
}

.about {
  padding-top: clamp(30px, 30px + 10 * (100vw - 768px) / 432, 40px);
  padding-bottom: clamp(15px, 15px + 9 * (100vw - 768px) / 432, 24px);
}
.about__box {
  padding-left: clamp(15px, 15px + 25 * (100vw - 768px) / 432, 40px);
  padding-right: clamp(15px, 15px + 25 * (100vw - 768px) / 432, 40px);
}

.gallery {
  background-color: #e4e5e7;
}
.gallery__item {
  position: relative;
  display: block;
}
.gallery__item:hover img {
  -webkit-filter: brightness(0.75);
          filter: brightness(0.75);
}
.gallery__item:hover .gallery__item-title h4 {
  background-color: rgba(237, 27, 36, 0.6);
}
.gallery__item-title {
  position: absolute;
  top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  left: 0;
  right: 0;
}
.gallery__item-title h4 {
  width: auto;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border-radius: 11px;
  padding: 5px 20px;
  font-family: "toyota_typeregular", sans-serif;
  font-size: 18px;
}

.contact__form label {
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #000000;
}
.contact__form input,
.contact__form textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 18px;
  border: 1px solid #e4e5e7;
  border-radius: 4px;
  font-size: 15px;
}
.contact__form input:focus,
.contact__form textarea:focus {
  border-color: #6f7072;
  outline: none;
  -webkit-box-shadow: 0 0 0 0.25rem rgba(111, 112, 114, 0.25);
          box-shadow: 0 0 0 0.25rem rgba(111, 112, 114, 0.25);
}
.contact__form button {
  background: #ed1b24;
  color: #ffffff;
  padding: 14px 20px;
  border: none;
  border-radius: 4px;
  width: 100%;
  font-size: 16px;
  cursor: pointer;
  font-weight: bold;
}
.contact__form button:hover {
  background: #000000;
}
.contact__form .hp-wrapper {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.contact__response {
  text-align: center;
  display: block;
  color: black;
  padding: 30px;
  font-size: 25px;
  border-radius: 4px;
}
.contact__response.success {
  border: solid 1px #6f7072;
}
.contact__response.error {
  border: solid 1px #ed1b24;
  margin-top: 20px;
}
.contact__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 30px;
}
.contact__info a {
  color: #000;
  text-decoration: none;
  font-size: clamp(20px, 20px + 8 * (100vw - 768px) / 432, 26px);
}
.contact__info a:hover {
  color: #ed1b24;
  text-decoration: underline;
}
.contact__info svg {
  width: auto;
  height: 22px;
  margin-right: 10px;
}

@media (max-width: 575.98px) {
  .logos__list {
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
  }
  .logos__link {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 15px);
            flex: 0 0 calc(50% - 15px);
    width: calc(50% - 15px);
  }
}
@media (max-width: 767.98px) {
  .gallery > .container {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
  }
}
@media (min-width: 576px) {
  .logos__list {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .logos__link {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .logos__link {
    width: 33.33%;
  }
  .history__box .wrap-fader {
    width: 595px;
  }
}
@media (min-width: 1200px) {
  .logos__link {
    width: 16.66%;
  }
}
#map {
  width: 100%;
  height: 500px;
}

body {
  margin: 0;
  font-family: "toyota_typeregular", sans-serif;
}

.popup-content {
  font-size: 16px;
  line-height: 1.4;
  font-family: "toyota_typeregular", sans-serif;
}

.popup-title {
  font-family: "toyota_typebold", sans-serif;
  margin-bottom: 5px;
  font-size: 18px;
  color: #000;
}

.popup-meta {
  font-size: 16px;
  color: #6f7072;
}

.popup-ctas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 15px;
}

.leaflet-container a.popup-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 16px;
  color: #ed1b24;
  text-decoration: none;
}
.leaflet-container a.popup-link:hover {
  text-decoration: underline;
}

.leaflet-container a.leaflet-popup-close-button {
  color: #000;
  right: 10px;
  top: 10px;
}