html {
  scroll-behavior: smooth;
}

.mt-2 {
  margin-top: 2rem !important;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.item-contact {
  font-size: 20px;
  font-weight: 600;
}

.round-edge {
  border-radius: 10px;
  overflow: hidden;
}

.icon-contact {
  width: 35px;
}

.contact-info::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 600px;
  background-image: url(/assets/img/light-blue-pattern.png);
  background-repeat: repeat;
  background-size: 212px;
  z-index: -1;
}

.contact-info {
  margin: 0;
  padding: 100px;
}

.contact-list li {
  margin-bottom: 10px;
  list-style: none;
}

.contact-list li a {
  color: var(--black);
}

.contact-list li img{
  margin-right: 10px;
}

.logo {
  position: relative;
  max-width: 690px;
  max-height: 460px;
}

.logo:before {
  content: '';
  position: absolute;
  background-color: #fff;
  bottom: 20px;
  left: 20px;
  width: 200px;
  height: 80px;
  border-radius: 10px;
  z-index: 2;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

@media screen and (min-width: 1500px) {

  .logo {
    margin-right: -5rem;
  }

}

/* AUPREMA */

.auprema-logo {
  position: relative;
}

.auprema-logo:before {
  background-image: url('/assets/img/servizi/fondazione-auprema-logo.png');
}

.auprema .list {
  list-style: none;
  padding-left: 0;
}

/* QLS GESTORE SOCIALE */

.gestore-sociale .list {
  padding-left: 0;
  list-style: none;
}

.qls-logo::before {
  background-image: url('/assets/img/servizi/qls-logo.png');
}

/* CASA TUA */

.consorzio-logo:before {
  background-image: url('/assets/img/servizi/casa-tua-logo.png');
}

/* CONSORZIO SOLE */


.logo.consorzio-sole-hero:before {
  background-image: url('/assets/img/servizi/consorzio-sole-logo.png');
}

.consorzio-sole .description-row {
  background-image: url('/assets/img/servizi/residenze-sole02.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 10px;
}

.consorzio-sole .description-box {
  background-color: rgb(255, 255, 255);
  padding: 30px;
  max-width: 410px;
  margin: 15px;
  border-radius: 10px;
  box-shadow: 0px 0px 7px 2px #00000059;
}

.consorzio-sole .description-box ul {
  padding-left: 20px;
}


/* CONVENZIONI */

.col-img {
  flex: 0 0 20%;
}

.logo-convenzione {
  border-radius: 10px;
}

.convenzioni .second-list {
  margin-top: 10rem;
}

.title-convenzione {
  font-size: 23px;
  font-weight: 600;
}

.red {
  color: #da0000;
}

.yellow {
  color: #ffc107;
}

.convenzioni .list .item {
  margin: 50px 0;
}

.convenzioni .list .mt-0 {
  margin-top: 35px !important;
}

.convenzioni .list .item .title {
  font-size: 23px;
  font-weight: 600;
}

.col-description {
  margin-left: 20px;
  flex: 0 0 50%;
}

.info {
  border-left: 1px solid #000;
  padding-left: 20px;
  line-height: 1.2;
}

.card-convenzioni {
  background-color: #e40244;
  padding: 15px;
  border-radius: 10px;
  margin-bottom: 20px;
  display: flex;
  flex-flow: column;
  font-size: 22px;
  line-height: 100%;
  font-weight: 600;
  color: #fff;
}

.card-convenzioni:after {
  display: none;
}

.card-convenzioni:hover {
  background-color: rgba(228,2,68,.8);
  color: #fff;
}

.card-convenzioni .arrow {
  max-width: 45px;
  align-self: flex-end;
  margin-top: 5px;
}

.card-yellow {
  background-color: #ffc107;
  color: #000;
}

.card-convenzioni.card-yellow:hover {
  background-color: rgba(255,193,7,0.8);
  color: #000;
}

.badge-discount {
  display: inline-block;
  padding: 8px 15px 5px;
  background-color: #E40244;
  color: #fff;
  border-radius: 20px;
  margin-bottom: 20px;
  margin-top: 3px;
  font-weight: 600;
}

.second-list .badge-discount {
  background-color: #ffc107;
  color: #000;
}

.convenzioni .list .item .phone {
  color: #000;
}

.col-sticky {
  top: 105px;
}

#permanenti,
#temporanee {
  padding-top: 150px;
  margin-top: -150px;
}

/* RESPONSIVE */

@media screen and (max-width: 1124px) {
  .card-convenzioni {
    font-size: 15px;
  }
}

@media screen and (max-width: 767px) {
  /* Convenzioni-Listing */

  .col-sticky {
    margin-bottom: 3rem;
  }

  .convenzioni .list .item {
    flex-flow: column;
    margin: 80px 0;
  }

  .col-description {
    margin-top: 20px;
    margin-left: 0;
  }

  .info {
    border-left: 0;
    padding-left: 15px;
  }

  #permanenti, #temporanee {
    padding-top: 75px;
    margin-top: -125px;
  }

  /* Servizi General */

  .logo img {
    height: auto;
    width: 100%;
  }

  .contact-info {
    padding: 60px 0;
  }

  .contact-info .offset-1,
  .contact-info .offset-2 {
    margin-left: 0;
  }

  .contact-info .contact-list {
    padding-left: 0;
    margin-top: 20px;
  }

  .contact-info::before {
    height: 500px;
  }


  /* Sole */

  .img-text-section .section-title {
    margin-top: 3rem;
  }

  .consorzio-sole .description-row {
    padding-top: 65%;
  }

}






/** convenzioni */

.conv-filter-container {
  margin: 80px 0 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  scroll-padding-left: 15px;
  flex-wrap: wrap;
  padding: 0 100px;
}

.conv-filter-container::-webkit-scrollbar {
  display: none;
}

.btn.conv-label {
  background: transparent;
  border-color: var(--blue);
  color: var(--blue);
  font-weight: 300;
  padding: 2px 16px 0px;
  font-size: 14px;
  scroll-snap-align: start;
}

.conv-filter {
  appearance: none;
}

.btn.conv-label.btn-primary {
  background: var(--blue);
  color: #fff;
}

.conv-card-inner {
  padding: 20px;
  border-radius: 10px;
  height: 100%;
  box-shadow: 0 1px 8px rgba(0,0,0,0.2);
  margin-bottom: 20px;
  word-break: break-word;
}

.conv-card .conv-title {
  color: var(--blue);
  font-weight: 600;
  font-size: 20px;
  margin: 16px 0 10px;
}

.conv-card .conv-logo {
  height: 60px;
  width: auto;
  object-fit: contain;
}

.conv-card .btn {
  position: relative;
  margin: 20px -20px -20px;
  width: calc(100% + 40px);
  border-radius: 0 0 8px 8px;
  background: var(--red);
  border: none;
  text-align: left;
  padding: 10px 20px;
  font-weight: 600;
}

.conv-card .btn:not(:disabled):not(.disabled).active {
  background-color: var(--red);
  border-color: var(--red);
}

.conv-card .btn:before {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 300;
  font-size: 30px;
  color: #fff;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.conv-card .btn.disabled {
  opacity: 1;
}

.conv-card .btn.disabled:before {
  display: none;
}


.conv-modal .modal-dialog {
  height: 100%;
  align-items: center;
  display: flex;
  margin: 0 auto;
  width: calc(100% - 60px);
  max-width: 650px;
}

.conv-modal .modal-content {
  border: none;
  border-radius: 20px;
  padding: 20px;
}

.conv-modal .logo {
  height: 85px;
}

.conv-modal .modal-header {
  border: none;
}

.conv-modal .close {
  background: var(--blue);
  opacity: 1;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 40px;
  position: absolute;
  top: 40px;
  color: #fff;
  font-weight: 300;
  font-size: 32px;
}

.conv-card a:after {
  position: absolute;
  bottom: 5px;
  left: 38px;
}

a:not(.nav-link):hover:after {
  width: calc(100% - 38px);
}


.conv-card .social-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  margin-right: 8px;
}


.hero-convenzioni .right-content img {
  background: #fff;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05)
}

.hero-convenzioni:before {
  height: 300px;
}

.hero-convenzioni .hero-title {
  min-height: 100px;
}


@media screen and (max-width: 990px) {
  .conv-filter-container {
    justify-content: flex-start;
    margin: 40px 0;
    padding-left: 15px;
    flex-wrap: nowrap;
  }

  .conv-modal .modal-content {
    padding: 10px;
  }

  .conv-modal .logo {
    height: 65px;
  }
  .hero-convenzioni:before {
    height: 230px;
  }
}

