/* Hero */
.hero {
  height: 90%;
}

@media only screen and (min-width: 768px) {
  .info-popup .container {
    width: 90% !important;
    margin: 0 auto;
  }
}

.mappa {
  width: 55%;
}

.info-popup {
  width: 45%;
  box-shadow: 0 2px 4px rgb(0 0 0 / 0.2);
  z-index: 1000;
}

.info-popup .info-logo img {
  max-width: 50%;
  width: 50%;
}

.info-popup .info-img {
  width: 100%;
  height: 40%;
  object-fit: cover;
  object-position: center;
}

.mappa .info-meta {
  font-size: 14px;
  font-weight: 400
}

@media only screen and (max-width: 575px) {
  .mappa .info-meta {
    font-size: 9.5px
  }
}

.hero .info-popup .info-contacts {
  height: 60%
}

.info-title-row {
  gap: 16px;
}

.info-title-row h3 {
  margin-bottom: 0;
}

.info-title-logo-link {
  display: inline-flex;
  line-height: 0;
  flex: 0 0 auto;
  width: 220px;
  max-width: 48%;
}

.info-title-logo {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.hero .info-popup i {
  font-size: 20px;
  color: var(--brandColor)
}

.hero-banner .hero-heading {
  width: 100%
}

@media only screen and (max-width: 767px) {
  .hero-banner .hero-heading {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .hero-banner .hero-heading .banner-navigation {
    margin-bottom: 10px;
  }
}

.hero .info-popup .info-opening .info-meta h5 {
  font-weight: 400 !important
}

.info-contacts-phone {
  flex-wrap: wrap;
  gap: 0 20px;
}

.info-contacts-phone h5 {
  margin-bottom: 0;
}

@media only screen and (max-width:991px) {
  .hero {
    flex-direction: column-reverse;
    height: auto;
    min-height: auto;
    /* padding-bottom: 60px; */
    /* margin-bottom: 60px; */
  }

  .hero .mappa {
    width: 100%;
    height: 300px;
    min-height: 300px;
  }

  .hero .info-popup {
    width: 100%;
    height: auto;
  }

  .info-popup .info-img {
    height: 40%
  }

  .hero .info-popup .info-logo {
    display: none !important;
    justify-content: flex-start !important;
    flex-wrap: wrap;
  }

  .hero .info-popup .info-logo img {
    width: 50%;
  }

  .info-title-row {
    align-items: flex-start !important;
  }

  .info-title-logo-link {
    width: 170px;
    max-width: 42%;
  }
}

@media only screen and (max-width: 767px) {
  .hero {
    gap: 0;
  }

  .hero .info-popup .info-contacts-phone,
  .hero .info-popup .info-contacts-email,
  .hero .info-popup .info-contacts-location {
    align-items: flex-start !important;
    flex-wrap: wrap;
  }

  .hero .info-popup .info-contacts-location {
    flex-wrap: nowrap;
  }

  .hero .info-popup .info-contacts-location h5 {
    min-width: 0;
  }

  .hero .info-popup .info-contacts {
    height: auto;
    padding-bottom: 30px;
  }

  .info-title-row {
    gap: 12px;
  }

  .info-title-logo-link {
    width: 140px;
    max-width: 46%;
  }

  .info-contacts-phone {
    gap: 6px 0;
  }

  .hero .info-popup .info-contacts-email a {
    display: block;
    max-width: 100%;
  }

  .hero .info-popup .info-contacts-email h5,
  .hero .info-popup .info-contacts-location h5 {
    overflow-wrap: anywhere;
  }

  .info-contacts-phone h5 {
    overflow-wrap: anywhere;
  }

  .services .services-card-list .single-service-card {
    height: auto;
    min-height: 0;
    padding: 30px 24px;
  }

  .services .services-card-list .single-service-card h2 {
    margin-top: 0 !important;
  }

  .services .services-card-list .single-service-card h2::before {
    display: none;
  }

  .services .services-card-list .single-service-card .btn-more {
    position: static;
    display: inline-flex;
    margin-top: 24px;
  }

  .news .news-links-static .btn-more {
    width: 100%;
    min-width: 0;
  }

  .contact-us .contacts .contact-phone,
  .contact-us .contacts .contact-email,
  .contact-us .contacts .contact-location {
    align-items: flex-start !important;
    flex-wrap: wrap;
  }

  .contact-us .contacts .contact-location {
    flex-wrap: nowrap;
  }

  .contact-us .contacts .contact-location h5 {
    min-width: 0;
  }

  .contact-us .contacts .contact-phone a,
  .contact-us .contacts .contact-email a {
    display: block;
    max-width: calc(100% - 32px);
  }

  .contact-us .contacts .contact-phone h5,
  .contact-us .contacts .contact-email h5,
  .contact-us .contacts .contact-location h5 {
    overflow-wrap: anywhere;
  }
}

/* History */
.history {
  background: var(--brandColor)
}

.history .section-heading h1 {
  color: var(--white)
}

.history .history-content {
  color: var(--white);
  text-align: center;
}

/* Services */
.services .services-card-list .single-service-card {
  width: calc(100% / 2.05);
  height: 420px;
  box-shadow: 0 0px 4px rgb(0 0 0 / 0.2);
  padding: 45px 40px;
  position: relative;
}

.services .services-card-list .single-service-card h2 {
  position: relative;
  margin-top: 60px !important;
}

.services .services-card-list .single-service-card h2::before {
  content: '';
  display: block;
  color: var(--serviceNumberColor);
  font-size: 110px;
  font-weight: 700;
  position: absolute;
  left: 0;
  bottom: -8px;
  z-index: -1000
}

.services .services-card-list .autoscuola h2:before {
  content: '01'
}

.services .services-card-list .pratiche h2:before {
  content: '02'
}

.services .services-card-list .single-service-card .btn-more {
  padding: 10px 35px;
  position: absolute;
  bottom: 45px;
}

@media only screen and (max-width: 767px) {
  .services .services-card-list {
    flex-direction: column;
  }

  .services .services-card-list .single-service-card {
    width: 100%
  }

  .services .services-card-list .pratiche {
    margin-top: 10px;
  }
}

/* Simulation */
.simulation {
  background-color: var(--brandColor)
}

.simulation .section-heading h1 {
  color: var(--white)
}

.simulation .simulation-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.simulation .simulation-content .btn-more {
  border: 1px solid var(--white);
  color: var(--white) !important;
  padding: 20px 40px;
}

.simulation .simulation-content .btn-more:first-child {
  margin-right: 15px;
}

.simulation .simulation-content .btn-more:hover {
  background: var(--white);
  color: var(--black) !important;
}

.simulation .simulation-text p, .simulation .simulation-list {
  color: var(--white);
}

.simulation .simulation-text {
  color: var(--white);
}

.simulation .simulation-buttons .btn-more {
  margin: 10px 8px 0 8px;
}

.simulation .simulation-list {
  list-style: disc;
  padding-left: 20px;
}

.simulation .simulation-apps .btn-more {
  margin-right: 15px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .simulation-content {
    flex-direction: column;
  }

  .simulation .simulation-content .btn-more:first-child {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .simulation .simulation-content .btn-more {
    text-align: center;
  }
}

/* News */
.news .news-article-list .single-news-article:not(:last-child) {
  border-bottom: 1px solid var(--brandColor)
}

.news .news-article-list .single-news-article .post-content h3:hover {
  color: var(--brandColor)
}

.news .news-article-list .single-news-article i {
  color: var(--brandColor)
}

.news .container .btn-more {
  padding: 15px 25px !important;
}

.news .news-links {
  gap: 12px;
}

.news .news-links-static {
  gap: 14px;
}

.news .news-links-static .btn-more {
  min-width: 190px;
  text-align: center;
}

.news .news-links-copy {
  max-width: 720px;
  margin: 0 auto 30px;
  text-align: center;
}

.service-item-patents {
  align-items: flex-start !important;
}

.service-item-patents .service-item-content {
  min-width: 0;
}

.license-list {
  line-height: 1.7;
}

.license-trigger {
  color: #0d6efd;
  text-decoration: underline;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
}

.license-trigger:hover,
.license-trigger:focus {
  color: #0a58ca;
  text-decoration: underline;
}

.license-text {
  color: inherit;
  text-decoration: none;
}

.license-separator {
  color: inherit;
}

body.modal-open {
  overflow: hidden;
}

.patent-modal {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 96px 24px 24px;
}

.patent-modal.is-visible {
  display: flex;
}

.patent-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.patent-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(90vw, 760px);
  max-height: calc(100vh - 48px);
  margin: 0;
  padding: 24px 24px 24px;
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 20px 50px rgb(0 0 0 / 0.25);
  overflow: auto;
}

.patent-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 16px;
}

.patent-modal-dialog h3 {
  margin: 0;
}

.patent-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--titleColor);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.patent-modal-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
}

.patent-modal-error {
  margin: 0;
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .patent-modal {
    padding: 84px 12px 12px;
  }

  .patent-modal-dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 40px 16px 16px;
  }
}

.news .news-article-list .single-news-article hr {
  height: 3px;
  border-radius: 2px;
  background-color: var(--brandColor)
}

.news .page-counter .block-count {
  width: 40px;
  height: 50px;
  border-radius: 5px;
  box-shadow: 0 0px 4px rgb(0 0 0 / 0.2);
  cursor: pointer;
  position: relative;
  transition: 0.5s
}

.news .page-counter .block-count:not(:last-child) {
  margin-right: 10px;
}

.news .page-counter .block-count:hover {
  background: var(--brandColor)
}

.news .page-counter .block-count:hover a h4 {
  color: var(--white) !important
}

.news .page-counter .active {
  background: var(--brandColor)
}

.news .page-counter .active a h4 {
  color: var(--white) !important
}

.news .page-counter .block-count a {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 767px) {
  .news .page-counter .block-count {
    width: 35px;
    height: 45px;
  }

  .news .page-counter .block-count:not(:last-child) {
    margin-right: 7px;
  }
}

/* Contact Us */
.contact-us {
  background-color: var(--brandColor)
}

.contact-us .contacts .section-heading {
  text-align: left;
}

.contact-us .contacts .section-heading h1 {
  color: var(--white)
}

.contact-us .contacts h5, .contact-us .contacts h4, .contact-us .contacts i {
  color: var(--white) !important
}

.contact-us .direct-contact {
  width: 100%;
  height: 100%;
  border: 2px solid var(--white);
  padding: 30px 30px;
}

@media only screen and (max-width: 575px) {
  .contact-us .direct-contact {
    border: none;
    padding: 0;
  }
}

.contact-us .direct-contact h3 {
  color: var(--white);
}

.contact-us .direct-contact input, .contact-us .direct-contact textarea {
  width: 100%;
  border: 2px solid var(--white);
  background-color: transparent;
  color: var(--white);
  padding: 15px 15px;
}

.contact-us .direct-contact .user-name input {
  width: calc(100% / 2.015);
}

.contact-us .direct-contact .email-message textarea {
  max-height: 150px;
  height: 150px;
  resize: none;
}

.contact-us #form-error {
  margin-top: 15px !important;
  color: var(--white)
}

@-moz-document url-prefix() {
  .contact-us .direct-contact input::-moz-placeholder, .contact-us .direct-contact textarea::-moz-placeholder, .contact-us .direct-contact input:-moz-placeholder, .contact-us .direct-contact textarea:-moz-placeholder {
    font-family: 'Lato', FontAwesome, sans-serif;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 0.5;
    text-decoration: inherit;
    vertical-align: top;
    color: var(--white) !important;
  }
}

.contact-us .direct-contact input::-webkit-input-placeholder, .contact-us .direct-contact textarea::-webkit-input-placeholder {
  font-family: 'Lato', FontAwesome, sans-serif;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.5;
  text-decoration: inherit;
  vertical-align: top;
  color: var(--white);
}

.contact-us .direct-contact .btn-submit {
  font-size: 20px;
  transition: 0.5s
}

.contact-us .direct-contact .btn-submit:hover {
  background: var(--white);
  color: var(--black) !important;
}

@media only screen and (max-width: 991px) {
  .contact-us .container {
    flex-direction: column;
  }

  .contact-us .container .contacts {
    margin-bottom: 40px
  }
}

@media only screen and (max-width: 575px) {
  .contact-us .direct-contact .user-name {
    flex-direction: column;
  }

  .contact-us .direct-contact .user-name input {
    width: 100%
  }

  .contact-us .direct-contact .user-name input:last-child {
    margin-top: 5px
  }
}
