@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  src: url('../fonts/Montserrat/Montserrat-VariableFont_wght.ttf'); }
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  src: url('../fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf'); }

html, body {
  margin: 0; }

html {
  scroll-behavior: smooth; }

body {
  font-family: 'Montserrat';
  line-height: 1.5;
  color: #1c1c1c;
  font-size: clamp(0.875rem, calc(0.7596rem + 0.3205vw), 1rem); }

.container {
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

.footer-container {
  margin-top: auto; }

div.mod-languages {
  align-self: center; }
  div.mod-languages ul li.lang-active {
    background-color: inherit;
    font-weight: 800; }

.go-to {
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  color: #1c1c1c; }
  .go-to::after {
    content: ' ►';
    color: #f18900; }

a {
  color: #0c518f;
  transition: all 0.3s ease; }

h1, h2, h3 {
  text-transform: uppercase;
  font-weight: 600; }

h1 {
  font-size: clamp(1.75rem, calc(1.0577rem + 1.9231vw), 2.5rem); }

li > p {
  margin: 6px; }

#sidebar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  visibility: hidden;
  display: none; }
  #sidebar .sidebar-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    transition: all 0.3s ease; }
  #sidebar .sidebar-main {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 85vw;
    max-width: 410px;
    background: #0c518f;
    color: #fff;
    transform: translateX(100%);
    transition: transform 0.3s ease; }
    #sidebar .sidebar-main .sidebar-content .mod-menu {
      padding: 0;
      margin: 0;
      list-style: none; }
      #sidebar .sidebar-main .sidebar-content .mod-menu li {
        padding: 12px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
        #sidebar .sidebar-main .sidebar-content .mod-menu li:last-child {
          border-bottom: none; }
    #sidebar .sidebar-main a {
      color: #fff;
      text-decoration: none;
      font-size: 1.1em; }
  #sidebar .close {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: end; }
  #sidebar .close, #sidebar .sidebar-content {
    padding: 0 12px; }

.sidebar-open {
  color: #0c518f;
  display: none; }

.sidebar-open, #sidebar .close {
  font-size: 28px;
  text-align: right; }

#sidebar .close {
  color: #fff; }

.color-light, .color-light *, .color-light a.go-to {
  color: #fff; }

.sppb-section {
  overflow-x: hidden; }

#sp-page-builder .sppb-section-title {
  margin-bottom: 0; }

.sppb-blockquote-style {
  font-size: 1em;
  font-style: italic;
  color: #282828;
  border-left: 0;
  position: relative;
  padding: 12px 0px 0px 40px; }
  .sppb-blockquote-style::before {
    content: '';
    position: absolute;
    margin-left: -40px;
    width: 24px;
    height: 24px;
    background-image: url('../images/virgolette.png');
    background-size: contain;
    background-repeat: no-repeat; }
  .sppb-blockquote-style strong {
    color: #f18900;
    font-weight: 500;
    font-style: normal; }

.sppb-addon-content h1 {
  margin-top: 0;
  margin-bottom: 0.5em; }
.sppb-addon-content .category-module, .sppb-addon-content .cat-products-list {
  color: #f18900;
  margin: 0;
  padding-left: 22px; }
  .sppb-addon-content .category-module li > *, .sppb-addon-content .cat-products-list li > * {
    color: #1c1c1c;
    font-weight: 500; }
  .sppb-addon-content .category-module li > a, .sppb-addon-content .cat-products-list li > a {
    text-decoration: none; }
    .sppb-addon-content .category-module li > a:hover, .sppb-addon-content .cat-products-list li > a:hover {
      color: #f18900; }

.wrap {
  box-sizing: border-box;
  width: 1320px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto; }

.header {
  background: #fff;
  display: grid; }
  .header .wrap .logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px; }
    .header .wrap .logo img {
      width: 100%;
      height: 100%;
      max-width: 280px; }

.breadcrumb {
  list-style: ' > ';
  display: flex;
  flex-wrap: wrap;
  gap: 20px; }
  .breadcrumb a {
    color: #1c1c1c;
    text-decoration: none; }
  .breadcrumb .float-start {
    display: none; }
  .breadcrumb .breadcrumb-item:nth-child(2) {
    list-style: none; }
  .breadcrumb .breadcrumb-item:last-child {
    color: #f18900;
    font-weight: 500; }
    .breadcrumb .breadcrumb-item:last-child::marker {
      color: #1c1c1c;
      font-weight: 400; }

.wrap .breadcrumb {
  padding: 0; }

.btn a {
  padding: 10px 20px;
  border: 2px solid;
  border-radius: 36px;
  background-color: #0c518f;
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  display: inline-block;
  font-size: 17px; }

.mainmenu {
  z-index: 2; }
  .mainmenu .menubox {
    background: #0c518f;
    padding: 15px 12px;
    margin-bottom: -40px; }
    .mainmenu .menubox .mod-menu {
      list-style: none;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 3em; }
      .mainmenu .menubox .mod-menu .nav-item a, .mainmenu .menubox .mod-menu .nav-item span {
        color: #fff;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: 500;
        font-size: 1.15em; }
        .mainmenu .menubox .mod-menu .nav-item.active a, .mainmenu .menubox .mod-menu .nav-item.active span {
          text-decoration: underline; }

.head-image {
  height: 680px; }
  .head-image .bg-image {
    height: 100%;
    object-fit: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }

.no-head-spacing {
  height: 40px; }

.products-list {
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  list-style: none; }
  .products-list a {
    text-decoration: none;
    color: #1c1c1c; }
  .products-list .product-item {
    background: #ccdce9;
    position: relative; }
    .products-list .product-item .product-link-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
      .products-list .product-item .product-link-wrapper span {
        display: none; }
    .products-list .product-item .product-image {
      aspect-ratio: 1.7777777778; }
      .products-list .product-item .product-image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .products-list .product-item .product-body {
      padding: 20px; }
      .products-list .product-item .product-body .product-body-content .product-title {
        margin-top: 0;
        height: 50px;
        -webkit-line-clamp: 2; }
      .products-list .product-item .product-body .product-body-content .product-content {
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden; }
      .products-list .product-item .product-body .product-body-content .product-title, .products-list .product-item .product-body .product-body-content .product-content {
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden; }
      .products-list .product-item .product-body .go-to {
        display: block;
        text-align: center; }

#tecnologie .sppb-column-addons {
  margin-top: 25px; }
  #tecnologie .sppb-column-addons > .sppb-addon-wrapper, #tecnologie .sppb-column-addons > .sppb-addon-wrapper > div {
    height: 100%; }

.article-item {
  padding: 50px;
  color: #fff;
  margin-top: 15px;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between; }
  .article-item h1, .article-item h2, .article-item h3 {
    text-transform: none; }
  .article-item .sppb-addon-single-image-container {
    width: 100%;
    aspect-ratio: 1; }
    .article-item .sppb-addon-single-image-container img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .article-item .sppb-addon-single-image-container::before {
      content: '';
      background-image: url('../images/logo busatis.png');
      background-size: contain;
      background-repeat: no-repeat;
      width: 200px;
      height: 28px;
      position: absolute;
      top: 15px;
      left: 15px; }
  .article-item .item-body .sppb-addon-text-block {
    min-height: 400px; }
  .article-item a.go-to {
    color: #fff; }
    .article-item a.go-to::after {
      color: #fff; }
  .article-item.blue-item {
    background-color: #0c518f; }
  .article-item.orange-item {
    background-color: #f18900; }
    .article-item.orange-item .sppb-addon-single-image-container::before {
      top: auto;
      left: auto;
      bottom: 15px;
      right: 15px; }

.product-article-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); }
  .product-article-grid .product-article {
    padding-right: 15px; }
    .product-article-grid .product-article .page-header h1 {
      text-align: left; }
  .product-article-grid .gallery-image img {
    max-width: 100%;
    object-fit: contain;
    object-position: bottom;
    height: 100%;
    width: 100%; }

.full-size-image .sppb-addon-single-image-container {
  width: 100%; }
  .full-size-image .sppb-addon-single-image-container .sppb-img-responsive {
    width: 100%;
    aspect-ratio: 1.7777777778;
    object-fit: cover; }

.promotions .promotions-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px; }
  .promotions .promotions-grid .promotion {
    --promotion-size: 350px;
    min-width: var(--promotion-size);
    max-width: var(--promotion-size);
    min-height: var(--promotion-size);
    max-height: var(--promotion-size);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative; }
    .promotions .promotions-grid .promotion .content {
      position: absolute;
      top: 12px;
      left: 12px; }
      .promotions .promotions-grid .promotion .content h1, .promotions .promotions-grid .promotion .content h3, .promotions .promotions-grid .promotion .content a {
        margin-top: 0;
        margin-bottom: 0.2em;
        text-transform: none;
        color: #1c1c1c; }
      .promotions .promotions-grid .promotion .content h1 {
        font-size: 1.2em; }
      .promotions .promotions-grid .promotion .content .price {
        font-size: clamp(1.375rem, calc(1.0288rem + 0.9615vw), 1.75rem);
        color: #f18900;
        font-weight: bold; }

.page-header h1 {
  text-align: center; }

.footer {
  background-color: #0c518f;
  color: #fff;
  padding-top: 24px;
  padding-bottom: 120px;
  font-size: 0.8em;
  margin-top: 70px;
  display: flex;
  flex-direction: column;
  gap: 40px; }
  .footer a {
    color: #fff;
    text-decoration: none; }
  .footer h3, .footer strong {
    font-weight: 600; }
  .footer .wrap {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between; }

.custom-table table {
  border-spacing: 0px; }

.sppb-row-column:has(.two-columns-section) {
  padding: 0; }

.two-columns-section {
  display: flex;
  flex-direction: row; }

.custom-column {
  max-width: 50%;
  flex-basis: 50%;
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  align-content: center; }

@media screen and (max-width: 1400px) {
  .wrap {
    width: 1140px; }
    .article-item .text-content {
      min-height: 350px; } }
@media screen and (max-width: 1400px) and (max-width: 1199px) {
  .wrap {
    width: 960px; }
  .products-list {
    grid-template-columns: repeat(2, 1fr); }
  .article-item {
    padding: 24px; }
    .article-item .text-content {
      min-height: 350px; } }
@media screen and (max-width: 1400px) and (max-width: 1199px) and (max-width: 991px) {
  .wrap {
    width: 720px; }
  .sidebar-open {
    display: inline; }
  #sidebar {
    display: block; }
    #sidebar.open {
      visibility: visible; }
      #sidebar.open .sidebar-back {
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(5px); }
      #sidebar.open .sidebar-main {
        transform: translateX(0%); }
  .promotions .promotions-grid .promotion {
    --promotion-size: 250px; }
  .mainmenu {
    display: none; }
  .product-article-grid {
    grid-template-columns: 1fr; }
    .article-item .text-content {
      min-height: 400px; } }
@media screen and (max-width: 1400px) and (max-width: 1199px) and (max-width: 991px) and (max-width: 767px) {
  .wrap {
    width: 540px; }
  .products-list {
    grid-template-columns: repeat(1, 1fr); }
  .article-item {
    padding: 12px; }
    .article-item .text-content {
      min-height: 0; }
  .head-image {
    height: 450px; }
  .two-columns-section {
    flex-direction: column; }
  .custom-column {
    max-width: 100%;
    flex-basis: 100%; } }
@media screen and (max-width: 1400px) and (max-width: 1199px) and (max-width: 991px) and (max-width: 767px) and (max-width: 575px) {
  .header .wrap .logo img {
    max-width: 180px; }
  .promotions .promotions-grid .promotion {
    --promotion-size: min(350px, calc(100vw - 30px)); }
  .wrap {
    width: 100%; } }
