html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

/* variabili */
:root {
  /*sostituire in tutti i css*/
  --black_opaco: rgb(0 0 0 / 80%);
  --rosso: #e42528;
  --verde: green;
  --arancione: #ff9a24;
  --grigio: #b4b1b1;
  --grigio-scuro: #131b2a;
  /*878383*/
  --blu: #54628c;
  --blu-scuro: #2A3146;
  --text-sans: "Source Sans Pro", Helvetica, sans-serif;
  --text: "Lato", "Source Sans Pro", Helvetica, sans-serif;
}

body {
  overflow-x: hidden;
  -webkit-transition: all 300ms linear;
  transition: all 300ms linear;
}

body.home,
body.portfolio-template {
  background: url('../../images/struttura/Sfondo.webp') !important;
}

.hero {
  background: url('../../images/struttura/Hero.webp');
  background-size: cover;
  height: 100vh;
  margin-top: -50px;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

ul#menu-servizi ul.sub-menu li a:hover {
  color: var(--blu) !important;
}

/* GENERALE */
.page-id-419 article#post-92 {
  display: none;
}

.page-id-73 .header-bar {
  background-color: var(--trasparente);
}

.rossoicona .cls-1 {
  fill: #ea0029 !important;
}

.neroicona .cls-1 {
  fill: #141b2a !important;
}

.webicona .cls-1 {
  fill: #39aa35 !important;
}

.graficaicona .cls-1 {
  fill: #ffed01 !important;
}

.graficaicona .cls-2 {
  stroke: #141b2a !important;
}

.elementor-widget-shortcode .wpcf7 input:not([type="submit"]),
.elementor-widget-shortcode .wpcf7 textarea {
  background-color: transparent !important;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
  height: 1.75rem;
}

div#wpcf7-f1445-o1 p {
  margin: 0px !important;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 5rem;
}

.elementor-widget-shortcode .wpcf7-submit {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-primary);
  background-color: transparent !important;
}

.close_menu_container .close_text.open img.icon_close {
  margin-bottom: 10px !important;
}

/* FINE GENERALE */

/*bugfix elementor*/
section.elementor-section {
  left: 0px !important;
}

@media screen and (min-width: 481px) and (max-width: 769px) {
  .page-id-419 .elementor-column.elementor-col-25 {
    width: 100%;
  }

  .page-id-419 .elementor-widget-wrap.elementor-element-populated {
    padding: 16px !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .page-id-419 .elementor-column.elementor-col-25 {
    width: 50%;
  }

  .page-id-419 .elementor-widget-wrap.elementor-element-populated {
    padding: 16px !important;
  }
}

/*fine bugfix elementor*/


/* custom scroll bar */
::-webkit-scrollbar {
  width: 12px;
  background-color: #151515;
  border-radius: 15px;
}

::-webkit-scrollbar-track {
  background: #151515;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(61, 61, 61, 0.8);
  border-radius: 15px;
  border: rgba(61, 61, 61, 0.8);
  border: 3px solid #151515;
}

::-webkit-scrollbar-thumb:hover {
  background: #3d3d3d;
}

.content_page {
  margin-top: 100px;
  width: 100%;
  max-width: 1140px;
  margin: auto;
}


section#ssq-uid-404-0-25 {
  background: #d3d8e7;
}

.menu-btn {
  bottom: 30px;
  opacity: 1;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scroll-up-btn {
  position: fixed;
  height: 60px;
  width: 60px;
  background: rgb(19 27 42);
  right: 30px;
  bottom: 10px;
  text-align: center;
  line-height: 45px;
  color: #fff;
  z-index: 9999;
  font-size: 30px;
  border-radius: 50%;
  border-bottom-width: 2px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

.scroll-up-btn img {
  width: 30px;
}

.scroll-up-btn.show {
  bottom: 30px;
  opacity: 1;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scroll-up-btn:hover {
  filter: brightness(90%);
  box-shadow: 0px 0px 10px white;
}

/*--------------------
 *     PRELOADER 
 *-------------------*/
#preloader {
  background: var(--grigio-scuro) url("https://gifimage.net/wp-content/uploads/2018/11/circle-loader-gif-2.gif") no-repeat center center;
  background-size: 30%;
  height: 100vh;
  width: 100%;
  position: fixed;
  z-index: 99999999999999999999999999999999999999999999999999999999;
}

/*--------------------
 *   FINE PRELOADER 
 *-------------------*/
/*--------------------
 *      ELEMENTOR 
 *-------------------*/
.elementor section {
  left: 0;
}

/*--------------------
 *   FINE ELEMENTOR 
 *-------------------*/

/** ========================================
                  HomePage
=============================================*/
.desktop {
  height: 70vh;
  background: url('../../images/struttura/desktop.webp') center center;
  background-size: cover;
  position: relative;
}

.desktop__content {
  /* margin-top: -100px; */
}

.desktop__content p {
  font-size: 110%;
}

.relative .idea {
  position: absolute;
  top: 2%;
  right: 40%;
}

.lampadina {
  margin-left: 60px;
}

.collaborazioni {
  background-image: url('../../images/struttura/Sfondo.webp');
  background-color: #fbe3c6;
  background-blend-mode: multiply;
}

.collaborazioni .griglia .col-25 {
  height: 200px;
  width: 200px;
  /* width: calc(24% - 0.5%); */
  background-color: #ff9a24;
  margin: 3%;
  margin-top: 35px;
  padding: 0px;
  transform: rotate(0deg);
  transition: all 0.3s ease;
}

.collaborazioni .griglia .col-25:hover {
  transform: rotate(10deg);
}

.collaborazioni .griglia .col-25:hover:nth-child(2n+1) {
  transform: rotate(-10deg);
}

.card-service {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  height: 480px;
  overflow: hidden;
  margin: 5% 1%;
  width: 23%;
  padding: 0px !important;
}


.card-service h3 {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 10px 0px;
  text-align: center;
  width: 100%;
  margin-bottom: 0;
  background: white;
}

.card-service:nth-child(1) h3 {
  color: #8CC63F;
}

.card-service:nth-child(2) h3 {
  color: #54628C;
}

.card-service:nth-child(3) h3 {
  color: #F2CA30;
}

.card-service:nth-child(4) h3 {
  color: #E42528;
}

/** ========================================
                  Fine HomePage
=============================================*/

/** ========================================
                  page
=============================================*/
.page {
  background-image: url('../../images/struttura/Sfondo.webp');
 /* background-blend-mode: multiply; */
}

/** ========================================
                 fine page
=============================================*/
/** ========================================
                  PORTFOLIO PAGE
=============================================*/

.contain_filtri {
  display: flex;
  justify-content: center;
  font-family: 'Quicksand', sans-serif;
  font-weight: 300;
}

.contain_filtri .filter-button {
  font-size: 30px;
  padding: 10px;
  border: none;
	background: transparent;
}

figure.project-folio {
  color: #fff;
  position: relative;
  overflow: hidden;
  margin: 3%;
  width: calc(80% / 3) !important;
  height: auto;
  transition: transform .3s ease;
}

figure.project-folio:hover figcaption {
  background: var(--blu);
  z-index: 2;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  transition: transform .3s ease;
  left: 0;
}

figure.project-folio .hover-img {
  transition: transform .3s ease;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

figure.project-folio:hover .hover-img {
  transform: rotate(-10deg);
  transition: all .3s ease;
  opacity: 1;
  z-index: 3;
}

figure.project-folio:hover:nth-child(2n+1) .hover-img {
  transform: rotate(10deg);
  transition: all .3s ease;
  opacity: 1;
  z-index: 3;
}

figure.project-folio:hover:nth-child(2n+1) {
  transform: rotate(-10deg);
}

figure.project-folio:hover {
  transform: rotate(10deg);
}

@media (max-width: 600px) {
  figure.project-folio {
    width: 90% !important;
    margin: 5%;
  }
}

/* Inizio sezione nuova carousel css (Pashark) */

@keyframes scroll-carousel {
  0% {
    transform: translateX(0);
 }
  100% {
    transform: translateX(calc(-250px * 7));
 }
}
.slider-container-new {
  background: white;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, .125);
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 960px;
}
.slider-container-new::before, .slider-container-new::after {
  background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100px;
  position: absolute;
  width: 200px;
  z-index: 2;
}
.slider-container-new::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}
.slider-container-new::before {
  left: 0;
  top: 0;
}
.slider-container-new .slide-track-new {
  animation: scroll-carousel 40s linear infinite;
  display: flex;
  width: calc(250px * 14);
}
.slider-container-new .slide {
  height: 100px;
  width: 250px;
}

/* Fine sezione nuova carousel css (Pashark) */


.container {
  overflow: hidden;
}

.container .slider {
  animation: slidein 30s linear infinite;
  white-space: nowrap;
}

.container .slider .loghi {
  width: 100%;
  display: inline;
  margin: 0px 0;
}

.container .slider .loghi .fab {
  width: calc(100% / 5);
  animation: fade-in 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards;
}

@keyframes slidein {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*collaborazioni*/
.altre-collaborazioni {
  background-size: cover;
  background-position: top center;
  height: 40vh;
  background-repeat: no-repeat;
  padding-top: 180px;
  margin-bottom: 170px;
}


.titolo-portfolio h1 {
  font-size: 42px;
  margin-bottom: 0px;
  font-weight: 500;
  padding: 20px 0px;
  text-align: center;
}

.contain_titolo {
  margin-top: 15px;
  margin-bottom: 50px;
}

.flex-center {
  justify-content: center;
}

.page-template-template-portfolio .h3 {
  font-size: 20px;
  margin: 0px;
  margin-bottom: 8px;
  /* font-weight: 500; */
}

.page-template-template-portfolio h4 {
  font-size: 16px;
  margin-bottom: 16px;
  /* font-weight: 500; */
}

.page-template-template-portfolio .mb-4 {
  margin-bottom: 1.5rem !important;
  /* font-weight: 500; */
}

.page-template-template-portfolio .img-fluid {
  width: 100%;
  height: auto;
}

.page-template-template-portfolio p {
  font-size: 20px;
  margin-bottom: 20px;
}

.testimonial-wrap {
  padding: 50px 50px 80px 50px;
  background: #eceff2;
}

.testimonial-wrap .testimonial {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.testimonial-wrap .testimonial img {
  border-radius: 50%;
  width: 120px;
  margin: 0 auto 30px auto;
}

.testimonial-wrap .testimonial blockquote p {
  font-size: 20px;
}

.readmore {
  display: inline-block;
  border: 1px solid #000;
  padding: 10px 15px;
  font-size: 12px;
  text-transform: uppercase;
  color: #000;
  transition: 0.2s all ease;
  font-weight: 700;
}

.readmore:active,
.readmore:focus,
.readmore:hover {
  outline: none;
}

.readmore:hover {
  color: #fff;
  text-decoration: none;
  background: #000;
}

.testimonials-slider .swiper-pagination {
  margin-top: -60px;
  position: relative;
}

.testimonials-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(13, 30, 45, 0.3);
  opacity: 1;
}

.testimonials-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgba(13, 30, 45, 0.6);
}

.sticky-content {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  /* required */
}

.list-line li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 15px;
  font-size: 18px;
}

.list-line li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 10px;
  height: 1px;
  background: #000;
}

.custom-progress {
  height: 7px;
  border-radius: 0;
}

.custom-progress .progress-bar {
  background: #000;
}

/* Services */
.services i {
  font-size: 40px;
}

.services h4 {
  padding-top: 10px;
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

ul.list-unstyled.list-line.mb-5 span a {
  padding: 15px;
}

ul.list-unstyled.list-line.mb-5 span a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 10px;
  height: 1px;
  background: #000;
}

.list-line li {
  padding-left: 0px;
}

.list-line li::before {
  content: none;
}

.banner-strappo {
  height: 100vh;
  background-size: cover;
}

@media (max-width:1024px) {
  .banner-strappo {
    height: 50vh;
  }
}

@media (max-width:768px) {
  .banner-strappo {
    height: 40vh;
  }
	.altre-collaborazioni {
  margin-bottom: 100px;
}
}

@media (max-width:540px) {
  .banner-strappo {
    height: 30vh;
  }
	h2.text-red.text-right {
    margin-top: 2rem !important;
}
}

/** ========================================
                  ARCHIVE
=============================================*/
.page-header {
  margin: 0px;
  padding: 10px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: none;
}

.page-header h1 {
  margin: 0px;
}

.archive .contain .blogcontain {
  /* padding-top: 125px; */
  min-height: 100vh;
}

.blogcontain {
  overflow: hidden;
  cursor: initial;
}

.archive .spotlight.style1 .content {
  padding: 2rem 2rem 1rem 2rem;
}

/* header search form ================== */
.search-form-container {
  display: none;
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.35);
  padding: 20px;
  z-index: 2;
}

.open-search a {
  font-size: 0;
  width: 30px;
  position: relative;
}

.open-search a:after {
  display: block;
  position: absolute;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  content: "\e003";
  font-size: 20px;
  left: 0;
  top: 50%;
  line-height: 1em;
  margin-top: -0.5em;
}

/** ========================================
                  sidebar
=============================================*/

/* * menusidebar BUTTON */
#btn_side {
  padding-left: 40px;
  font-weight: 600;
}

.menusidebar__toggler {
  position: absolute;
  right: 80px;
  z-index: 999;
  height: 28px;
  width: 250px;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  top: 170px;
  color: white;
}

.menusidebar__toggler span,
.menusidebar__toggler span::before,
.menusidebar__toggler span::after {
  position: absolute;
  content: "";
  width: 28px;
  height: 2.5px;
  background: white;
  border-radius: 20px;
  transition: 500ms cubic-bezier(0.77, 0, 0.175, 1);
}

.menusidebar__toggler span::before {
  top: -8px;
}

.menusidebar__toggler span::after {
  top: 8px;
}

.menusidebar__toggler.active>span {
  background: transparent;
}

.menusidebar__toggler.active>span::before,
.menusidebar__toggler.active>span::after {
  background: var(--rosso);
  top: 0px;
}

.menusidebar__toggler.active>span::before {
  transform: rotate(-225deg);
}

.menusidebar__toggler.active>span::after {
  transform: rotate(225deg);
}

/* * SLIDING menusidebar PANEL */
.menusidebar {
  position: absolute;
  right: -50%;
  z-index: 99;
  color: var(--rosso);
  background: var(--grigio-scuro);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  width: 30%;
  padding: 100px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: 300ms right cubic-bezier(0.77, 0, 0.175, 1);
  color: white;
  height: 150vh;
  top: 170px;
  padding-top: 200px;
}

.menusidebar h3,
.menusidebar label {
  color: inherit;
}

.changecolor {
  color: white;
  transition: all 0.3s ease;
}

.menusidebar input[type="search"] {
  border-color: rgba(255, 255, 255, 0.2);
}

.menusidebar.active div#btn_side {
  color: white !important;
  transition: all 0.3s ease;
}

@media only screen and (max-width: 600px) {
  .menusidebar {
    width: 250px;
    right: -250px;
    padding: 50px;
  }
}

.menusidebar.active {
  right: 0;
  top: 170px;
}

.menusidebar p {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.blogsection {
  transition: all 0.3s ease;
  margin: 130px auto 0px !important;
  padding: 0px;
}

.translate_active {
  transform: translateX(-300px);
  transition: all 0.3s ease;
}

.widget {
  margin: 0px !important;
}

.menusidebar.active *,
.menusidebar * {
  margin-bottom: 15px;
}

.menusidebar button {
  width: 190px;
  padding: 0px;
  height: 63px;
  font-size: 20px;
}

.blogsection .row {
  justify-content: center;
}

.wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
}

button.wp-block-search__button {
  height: 50px;
  font-size: 16px;
}




/** ========================================
                  footer
=============================================*/

.site-footer {
  background: var(--blu);

}

.footer-links a,
.contatti {
  font-family: 'Quicksand', sans-serif;
}

.footer-links a:hover {
  color: var(--arancione);
}

.social-icons {
  justify-content: flex-end;
}

.social-icons li {
  padding: 0 20px;
}

/** ========================================
                  fine footer
=============================================*/
/** ========================================
                  media query
=============================================*/
/*            MOBILE
----------------------------------------------*/
@media screen and (min-width: 320px) {
  .hero {
    height: 30vh;
  }

  .page-header {
    justify-content: space-between !important;
  }

  .page-header h1 {
    margin-left: 20px !important;
    transition: all 0.3s ease;
  }

  .menusidebar__toggler {
    width: 150px !important;
    right: 20px;
    top: 200px;
  }
}

@media screen and (min-width: 375px) {
  .hero {
    height: 40vh;
  }
}

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


  .menusidebar__toggler {
    width: 150px !important;
  }

  .page-header {
    justify-content: normal !important;
  }

  .menusidebar__toggler {
    right: 0px !important;
  }

  .menusidebar__toggler.active {
    right: 50px !important;
  }


  .segno .col-30 {
    width: 100%;
  }

  .segno .col-70 {
    width: 100%;
  }

}

@media (max-width: 414px) {}

@media (max-width: 425px) {
  .hero {
    height: 48vh;
    margin-top: 10px;
  }

  .hero .uppercase {
    margin-bottom: -60px;
    text-align: center;
  }

  .relative .idea {
    position: absolute;
    top: -8% !important;
    right: 20%;
    left: 20%;
  }

  .lampadina {
    margin-left: 0px;
  }


  .segno p,
  .segno h2 {
    text-align: center !important;
    margin: auto;
  }

  .segno h2 {
    width: 55%;
  }

  .card-service {
    width: 48% !important;
    height: 370px !important;
  }

  .card-service h2 {
    font-size: 1.5rem;
  }

  .collaborazioni .griglia .col-25 {
    height: 100% !important;
    width: calc(94% / 2 - 3%) !important;
  }

  .desktop__content {
    margin-top: 20px;
    transform: scale(0.8);
  }

  .desktop .px-3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
	font-size: 14px;
  }

  .desktop {
    background: url(../../images/struttura/desktop.webp) -380px -67px no-repeat;
    left: 0;
    right: 0;
    margin-top: 90px;
    margin-bottom: 50px;
  }

  .desktop.v-center {
    justify-content: space-between;
  }

}

@media (max-width: 768px) {
	
	h1.uppercase2 {
    text-transform: uppercase;
    font-size: 1.9rem;
    margin-bottom: -95px;
    margin-left: 20px;
}

  .card-service {
    width: 48%;
    height: 456px;
  }
	
  .segno {
    margin-top: 30px;
  }

  .relative .idea {
    position: absolute;
    top: -12%;
    right: 20%;
    left: 20%;
  }

  .lampadina {
    margin-left: 0px;
  }
}

@media (min-width: 768px) {
	
	h1.uppercase2 {
    text-transform: uppercase;
}
	
  .card-service {
    width: calc((100% / 2) - 2%);
    height: 636px;
  }

  .segno .col-30 {
    width: 30%;
  }

  .segno .col-70 {
    width: 70%;
  }
}

@media (min-width: 1024px) {
  .card-service {
    width: calc((100% / 4) - 2%);
    height: 430px;
  }
}

@media (max-width: 1024px) {
  .hero {
    height: 48vh;
    margin-top: 10px;
  }


  .collaborazioni .griglia .col-25 {
    height: 100%;
    width: calc(88% / 4 - 3%);
  }

  .segno p,
  .segno h2 {
    text-align: center !important;
    margin: auto;
  }
}

@media screen and (min-width: 768px) {
  .hero {
    height: 100vh;
  }

  .page-header h1 {
    margin-left: 0px !important;
  }

  .page-header {
    display: flex;
    justify-content: center !important;
  }

  .page-title {
    transition: all 0.3s ease;
    margin-left: 50px !important;
  }

  .menusidebar {
    width: 60% !important;
    right: -60% !important;
  }

  .menusidebar.active {
    right: 0px !important;
  }

  .menusidebar__toggler {
    right: 5% !important;
    transition: all 0.3s ease;
  }

  .menusidebar__toggler.active {
    transition: all 0.3s ease;
    right: 210px !important;
  }

  #portfolio .row:nth-child(2) {
    margin: 0px;
  }
}

@media screen and (min-width: 1024px) {
  .menusidebar {
    width: 40% !important;
  }
}

@media screen and (min-width: 1300px) {
  .menusidebar__toggler.active {
    right: 130px !important;
  }

  .menusidebar__toggler {
    width: 300px !important;
    right: -30px !important;
  }
}

@media screen and (min-width: 1440px) {
  .menusidebar__toggler.active {
    right: 180px !important;
  }

  .menusidebar__toggler {
    right: -30px !important;
  }
}

@media screen and (min-width: 1600px) {
  .menusidebar__toggler.active {
    right: 300px !important;
  }
}