:root {
  --bs-body-font-family: Lato;
  --bs-primary-rgb: 188, 38, 75;
  --bs-secondary-color: 84, 85, 89, 1;
}

/* Lato-Regular */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Regular.ttf'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Regular.eot'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Regular.woff') format('woff'), /* Modern Browsers */
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Regular.woff2') format('woff2'); /* Super Modern Browsers */
     }

/* Lato-Italic */
@font-face {
  font-family: 'Lato italic';
  font-style: italic;
  font-weight: 300;
  src: local('Lato italic'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Italic.ttf'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Italic.eot'),
}

/* Lato-Bold */
@font-face {
  font-family: 'Lato bold';
  font-style: bold;
  font-weight: 800;   
  src: local('Lato bold'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Bold.ttf'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Bold.eot'),
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Bold.woff') format('woff'), /* Modern Browsers */
       url('/media/templates/site/smartcup/fonts/Lato/Lato-Bold.woff2') format('woff2'), /* Super Modern Browsers */
}

.logo {
  width: 13em;
  margin-top: 10px;
  margin-bottom: 20px;
}

h1,
.h1 {
  font-size: 3.44rem;
  font-weight: 900;
  padding-top: 0.5em;
}

h2,
.h2 {
  font-size: 3.125rem;
  font-weight: bold;
}

.h2-hidden{
  position: absolute;
  left: -999px;
}

h3,
.h3 {
  font-size: 1.5;
  font-weight: bold;
}

h3:hover,
.h3:hover {
  font-size: 1.5;
  font-weight: bold;
  text-decoration: underline;
}

.breadcrumb-item {
  color: #000000;
  font-weight: bold;
}

a {
  color: #bc264b;
  font-weight: 700;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.a-titoli-card {
  color: #000000;
  text-decoration: none;
}

.a-titoli-card:hover {
  color: #000000;
  text-decoration: underline;
}


.svg-h1 {
  width: 150px;

  position: absolute;
  top: -80px;
  left: -30px;
}

.svg-h1-interne {
  width: 150px;
  margin-bottom: -30px;
}

@media only screen and (max-width: 320px) {
  .svg-h1 {
    left: 0;
  }
}

svg,
h2 {
  display: inline;
}

.svg-testo-centrato {
  text-align: center;
}

.titoli-h2 {
  padding-left: 15px;
}

.p-sottoh2 {
  margin-top: -30px;
}

h3.card-title {
  font-size: 1.5rem;
  line-height: 1.25;
}

:root {
  --bs-border-radius: 0px;
}

.row {
  --bs-gutter-x: 0rem;
}

.card-custom {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px;
  margin: 10px;
  box-shadow: 0 5px 5px 0;
  height: 250px;
  justify-content: center;
}

.card-body-custom {
  height: 250px;
  border-bottom: 6px solid#820020;
}

.contenitore-header {
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 800px;
}

.img-header {
  position: absolute;
  right: 0;
  height: 800px;
  top: 0;
}

.card-header-h1 {
  background-color: #fff;
  opacity: 0.85;
  border-radius: 15px;
  padding: 10px;
  position: absolute;
  width: 500px;
  top: 30%;
  left: 300px;
  z-index: 1;
}

@media only screen and (max-width: 1112px) and (min-width: 770px) {
  .card-header-h1 {
    left: 200px;
    width: 500px;
  }
}

@media only screen and (max-width: 820px) and (min-width: 426px) {
  .card-header-h1 {
    left: 110px;
    width: 500px;
    right: -60px;
  }
}

@media only screen and (max-width: 426px) {
  .card-header-h1 {
    left: 60px;
    width: 315px;
    right: -60px;
  }
}

@media only screen and (max-width: 376px) {
  .card-header-h1 {
    left: 35px;
    width: 300px;
    right: -60px;
  }
}

@media only screen and (max-width: 320px) {
  .card-header-h1 {
    left: 10px;
    width: 300px;
    right: -60px;
  }
}

.img-fluid {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.card-img-custom {
  background-color: #ffcbd8;
  margin: 10px;
  box-shadow: 0 5px 5px 0px;
  width: max-content;
}

.link-notizie-home {
  color: rgb(255, 255, 255);
  font-weight: bold;
  text-decoration: none;
}

.link-notizie-home:hover {
  color: rgb(255, 255, 255);
  font-weight: bold;
  text-decoration: underline;
}

.news-border {
  border-width: 0;
}

.contenitore-header {
  position: relative;
  margin-bottom: 40px;
}

.img-gallery {
  border: none;
  padding: 5px;
}

.footer-sfondo {
  padding: 0;
  height: 350px;
}

:root {
  --bs-body-color-rgb: white;
}

.nav {
  --bs-nav-link-color: black;
}

.nav-link:hover,
.nav-link:focus {
  text-decoration: underline;
  --bs-nav-link-hover-color: black;
}

.patch-slider-aziende {
  position: absolute;
  text-align: center;
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff4f 100%);
  width: 100%;
  top: 150px;
}

.carousel-item-custom {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item-custom {
    transition: none;
  }
}

.carousel-item-custom.active,
.carousel-item-custom-next,
.carousel-item-custom-prev {
  display: block;
}

.carousel-item-custom-next:not(.carousel-item-custom-start),
.active.carousel-item-custom-end {
  transform: translateX(100%);
}

.carousel-item-custom-prev:not(.carousel-item-custom-end),
.active.carousel-item-custom-start {
  transform: translateX(-100%);
}

.margin-header-testo {
  margin-top: 330px !important;
}

.cards-wrapper {
  display: flex;
}

.margin-card {
  margin: 0.5em;
  width: calc(100% / 2);
}

.footer-bg {
  background: linear-gradient(90deg,
      rgba(255, 255, 255) 35%,
      rgba(130, 0, 32) 35%);
}

.footer-left {
  margin-top: 7.813rem;
}

.footer-right {
  padding: 3.75rem;
}

@media screen and (max-width: 992px) and (min-width: 768px) {
  .footer-bg {
    background: linear-gradient(180deg,
        rgba(255, 255, 255) 30%,
        rgba(130, 0, 32) 30%) !important;
  }

  .logo-social-footer {
    margin-top: -120px !important;
  }
}

@media screen and (max-width: 767px) {
  .footer-bg {
    background: linear-gradient(180deg,
        rgba(255, 255, 255) 20%,
        rgba(130, 0, 32) 20%) !important;
  }

  .footer-right {
    padding: 0rem;
  }

  .logo-social-footer {
    margin-top: -160px !important;
  }
}

.logo-social-footer {
  margin-top: -60px;
}

.pre-footer {
  box-shadow: 10px 5px 15px #6e6e6e;
  position: relative;
}

.titoli-footer {
  font-size: 24px;
}

.card-title-custom {
  text-align: center;
}

.btn-light {
  --bs-btn-hover-bg: #bc264b;
  --bs-btn-hover-border-color: #bc264b;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #bc264b;
}

a.btn {
  width: 40px;
  height: 40px;
  border-radius: 25px;
  background: #bc264b;
  color: white;
  margin-left: 10px;
}

a.btn:hover {
  width: 40px;
  height: 40px;
  border-radius: 25px;
  background: #bc264b;
  color: white;
}

a.btn:active {
  border-radius: 20px;
  background-color: #bc264b;
}

.centrato {
  text-align: center;
}

.categoria {
  background: linear-gradient(to bottom, #b5e87700 0%, #ffcbd8 100%);
  height: 35px;
  text-align: center;
  margin: 0;
  font-weight: 600;
  font-size: 1.2em;
}

.skyp {
  position: absolute;
  left: -9999px;
}

.contenitore-aziende {
  display: flex;
}

.img-notizie {
  float: right;
}

.svg-categoria {
  padding: 10px;
}

.padding-svg {
  padding-bottom: 30px;
}

.nav-side-menu {
  /* overflow:auto; */
  font-size: 16px;
  background-color: #bc264b;
  opacity: 0.9;
  position: fixed;
  bottom: 0px;
  z-index: 2;
  height: 100%;
  width: 6%;
  color: #ffffff;
  right: 0;
  display: flex;
  justify-content: center;
}

.svg-menu {
  margin-top: 5%;
}

.menu-list {
  position: absolute;
 /*  top: 20%; */
  text-align: center;
}

.p-menu {
  font-size: 16px;
  margin-bottom: 10px;
}

.nav-side-menu ul,
.nav-side-menu li {
  list-style: none;
  padding: 0px;
  margin: 0%;
  position: relative;
}

.nav-side-menu li a {
  text-decoration: none;
  color: #ffffff;
}

.nav-side-menu li a i {
  padding-left: 10px;
  width: 20px;
  padding-right: 20px;
}

@media screen and (min-width: 1505px) {
  .nav-side-menu {
    width: 110px;
  }

  label.menu-btn {
    display: none;
  }
}

@media screen and (max-width: 1504px) and (min-width: 1268px) {
  .nav-side-menu {
    overflow: auto;
    font-size: 16px;
    background-color: #bc264b;
    opacity: 0.9;
    position: fixed;
    bottom: 0px;
    z-index: 2;
    height: 100%;
    width: 6%;
    color: #ffffff;
    right: 0;
    display: flex;
    justify-content: center;
  }

  label.menu-btn {
    display: none;
  }

  .nav-side-menu ul,
  .nav-side-menu li {
    list-style: none;
    padding: 0px;
    margin: 0%;
    
    position: relative;
    
  }

  .menu-list {
    position: absolute;
    /* top: 20%; */
    text-align: center;
  }

  .p-menu {
    font-size: 14px;
  }
}

@media screen and (max-width: 1267px) and (min-width: 1105px) {
  .nav-side-menu {
    overflow: auto;
    font-size: 16px;
    background-color: #bc264b;
    opacity: 0.9;
    position: fixed;
    bottom: 0px;
    z-index: 2;
    height: 100%;
    width: 6%;
    color: #ffffff;
    right: 0;
    display: flex;
    justify-content: center;
  }

  label.menu-btn {
    display: none;
  }

  .nav-side-menu ul,
  .nav-side-menu li {
    list-style: none;
    padding: 0px;
    margin: 0%;
    line-height: 0;
    position: relative;
  }

  .menu-list {
    position: absolute;
    /* top: 20%; */
    text-align: center;
  }

  .p-menu {
    font-size: 13px;
  }
}

@media screen and (max-width: 1104px) {

  ul.menu-list,
  .nav-side-menu {
    display: none;
  }
}

ul.menu-list {
  /* position: fixed !important; */
  display:grid;
  align-content: center;
} 

@media screen and (min-width: 1025px) {
  .background-voce-evidenza {
    background-color: white;
    border-radius: 5px;
    width: 110%;
  }

  .svg-menu {
    margin-bottom: 10%;
  }
}

.p-voce-evidenza {
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 10px;
  background-color: white;
    border-radius: 5px;
    
}


.link-voce-evidenza {
  color: #820020 !important;
  font-weight: bold;
  text-decoration: none;
}

.link-voce-evidenza:hover {
  color: #820020;
  font-weight: bold;
  text-decoration: underline;
}

/* hamburger */
.wrapper {
  position: fixed;
  top: 0;
  z-index: 2;
  right: -100%;
  height: 100%;
  width: 100%;
  background: #bc264b;
  transition: all 0.6s ease-in-out;
}

#active:checked~.wrapper {
  right: 0;
}

.menu-btn {
  position: fixed;
  z-index: 4;
  right: 15px;
  top: 20px;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  font-size: 20px;
  cursor: pointer;
  border-radius: 15px;
  border: 2px solid #820020;
  background-color: #bc264b;
  transition: all 0.3s ease-in-out;
}

.menu-btn span,
.menu-btn:before,
.menu-btn:after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 30%;
  width: 40%;
  border-bottom: 2px solid #ffffff;
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu-btn:before {
  transform: translateY(-8px);
}

.menu-btn:after {
  transform: translateY(8px);
}

.close {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: background 0.6s;
}

/* closing animation */
#active:checked+.menu-btn span {
  transform: scaleX(0);
}

#active:checked+.menu-btn:before {
  transform: rotate(45deg);
  border-color: #ffffff;
}

#active:checked+.menu-btn:after {
  transform: rotate(-45deg);
  border-color: #ffffff;
}

.wrapper ul {
  position: absolute;
  top: 60%;
  left: 50%;
  height: 90%;
  transform: translate(-50%, -50%);
  list-style: none;
  text-align: center;
}

.wrapper ul li {
  height: 10%;
  margin: 15px 0;
}

.wrapper ul li a {
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;

  color: #ffffff;
  border-radius: 50px;
  line-height: 50px;

  opacity: 0;
  transition: all 0.3s ease;
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.wrapper ul li a:hover {
  color: #ffffff;
  text-decoration: underline;
}

input#active {
  display: none;
}

.content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  text-align: center;
  width: 100%;
  color: #202020;
}

.content .title {
  font-size: 40px;
  font-weight: 700;
}

.content p {
  font-size: 35px;
  font-weight: 600;
}

#active:checked~.wrapper ul li a {
  opacity: 1;
  color: #ffffff;
}

.wrapper ul li a {
  transition: opacity 1.2s, transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(100px);
}

#active:checked~.wrapper ul li a {
  transform: none;
  transition-timing-function: ease, cubic-bezier(0.1, 1.3, 0.3, 1);
  transition-delay: 0.6s;
  transform: translateX(-100px);
}

.ham-menuitems {
  padding-left: 0rem;
}

.list {
  padding-left: 2em;
}

/* dimensione h */
@media screen and (min-width: 1200px) {
  h1 {
    font-size: 3.44rem;
  }

  h2 {
    font-size: 3.125rem;
  }

  h3,
  h3.card-title {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 1025px) and (min-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2.25rem;
  }

  h3,
  h3.card-title {
    font-size: 1.375rem;
  }
}

@media screen and (max-width: 767px) and (min-width: 480px) {
  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.75rem;
  }

  h3,
  h3.card-title {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 479px) {
  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.625rem;
  }

  h3,
  h3.card-title {
    font-size: 1.125rem;
  }

  p {
    font-size: 0.875rem;
  }
}

.portfolio-menu {
  text-align: center;
}

.portfolio-menu ul li {
  display: inline-block;
  margin: 0;
  list-style: none;
  padding: 10px 15px;
  cursor: pointer;
  -webkit-transition: all 05s ease;
  -moz-transition: all 05s ease;
  -ms-transition: all 05s ease;
  -o-transition: all 05s ease;
  transition: all 0.5s ease;
}

.portfolio-item .item {
  /*width:303px;*/
  float: left;
  margin-bottom: 10px;
}

.btn-primary {
  border-radius: 10px;
  background-color: #bc264b;
  color: white;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  font-size: larger;
  margin-top: 5px;
  margin-bottom: 5px;
  border: none;
  box-shadow: 0 5px 5px 0 black;
}

.btn-primary:hover {
  text-decoration: underline;
  box-shadow: none;
  background-color: #820020;
  color: white;
}

.button-link {
  border-radius: 10px;
  background-color: #820020;
  color: white !important;
  padding: 15px;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  font-size: larger;
  margin-top: 5px;
  margin-bottom: 5px;
  box-shadow: 0 5px 5px 0 black;
}

.button-link:hover {
  text-decoration: underline;
  box-shadow: none;
  background-color: #ffcbd8;
  color: black;
}

.button-link-position {
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}

.linea-verticale {
  background-color: #820020;
  width: 10px;
  margin-right: 20px;
}

.margin-par-h3 {
  margin-top: 30px;
}

.margin-h2 {
  margin-top: 50px;
}

.contenitore-partner {
  text-align: center;
}

.contenitore-img-partner {
  height: 200px;
  text-align: center;
}

.img-partner {
  height: max-content;
  padding: 20px;
}

.linea-orizzontale {
  height: 5px;
  background-color: #820020;
  margin-top: 30px;
  margin-bottom: 30px;
}

.titoli-h3-centrato {
  text-align: center;
  margin-top: 30px;
}

.container-loghi {
  margin-bottom: 20px;
}

.blocco-container {
  display: block;
}

.contenitore-body {
  position: relative;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 400px;
  margin-top: 80px;
  margin-bottom: 30px;
}

.img-body {
  position: absolute;
  right: 400;
  top: 0;
  height: 400px;
}

@media only screen and (max-width: 1112px) and (min-width: 770px) {
  .img-body {
    right: 0;
  }
}

@media only screen and (max-width: 820px) and (min-width: 426px) {
  .img-body {
    right: 0;
  }
}

@media only screen and (max-width: 426px) {
  .img-body {
    right: 0;
  }
}

@media only screen and (max-width: 376px) {
  .img-body {
    right: 0;
  }
}

@media only screen and (max-width: 320px) {
  .img-body {
    right: 0;
  }
}

.card-body-h2 {
  background-color: #fff;
  opacity: 0.85;
  border-radius: 15px;
  padding: 10px;
  position: absolute;
  width: 500px;
  top: 20%;
  right: 300px;
  z-index: 1;
}

@media only screen and (max-width: 1112px) and (min-width: 770px) {
  .card-body-h2 {
    right: 200px;
    width: 400px;
  }
}

@media only screen and (max-width: 820px) and (min-width: 426px) {
  .card-body-h2 {
    width: 400px;
    right: 100px;
  }
}

@media only screen and (max-width: 426px) {
  .card-body-h2 {
    width: 315px;
    right: 60px;
  }
}

@media only screen and (max-width: 376px) {
  .card-body-h2 {
    width: 300px;
    right: 60px;
  }
}

@media only screen and (max-width: 320px) {
  .card-body-h2 {
    width: 300px;
    right: 10px;
  }
}

.carousel-control-prev-custom,
.carousel-control-next-custom {
  position: relative;
}

button.carousel-control-prev-custom {
  top: 40%;
  border: none;
  background-color: #ffffff00;
}

button.carousel-control-next-custom {
  top: 40%;
  border: none;
  background-color: #ffffff00;
}


.card-body-notizie {
  padding: 20px;
  text-align: initial;
}

.col-centrato {
  text-align: center;
}

.p-bold {
  font-weight: bold;
  margin-bottom: 0;
}

.titolo-ricerca {
  font-weight: bold;
  font-size: xx-large;
  margin-top: 20px;
}

.step {
  position: relative;
}

.step-margin {
  margin-top: 1.5em;
}

.step-info {
  position: absolute;
  top: 40%;
  left: 35%;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .step-info {
    position: absolute;
    top: 40%;
    left: 43%;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .step-info {
    position: absolute;
    top: 40%;
    left: 42%;
  }
}

.step-text-dx {
  margin-top: 30px;
}

@media only screen and (min-width: 1440px) {
  .step-text-dx {
    margin-left: 40px;
    margin-top: 110px;
  }
}

.step-text-sx {
  margin-top: 30px;
}

@media only screen and (min-width: 1440px) {
  .step-text-sx {
    margin-right: 40px;
    margin-top: 110px;
  }
}

.step-resize {
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .step-resize {
    width: 40%;
    height: 100%;
    margin-left: 200px;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  .step-resize {
    width: 35%;
    height: 100%;
    margin-left: 280px;
  }
}

.schede-notizie {
  margin-bottom: 20px;
}

.box-ricerca {
  background-color: #ffcbd8;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 50px;
  box-shadow: 0 5px 5px 0 black;
}

.padding-form {
  padding: 5px;
}

.data-input {
  padding: 5px;
  border: none;
  width: -webkit-fill-available;
}

.pagination {
  --bs-pagination-color: #bc264b;
  --bs-pagination-hover-color: #820020;
  --bs-pagination-focus-color: #820020;
  --bs-pagination-active-bg: #bc264b;
  --bs-pagination-active-border-color: #bc264b;
  justify-content: center;
  --bs-pagination-focus-box-shadow: 0 0 0 0.2rem #bc264b;
  --bs-pagination-focus-bg: #ffcbd8;
}


.icon-small {
  margin: 5px;
  margin-bottom: 10px;
}

a:not(.btn):focus, a:not(.btn):hover {
  color: unset;
}