/* GENERAL */

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body > div[data-elementor-type] {
    flex: 1 0 auto;
}

body > footer[data-elementor-type="footer"] {
    flex-shrink: 0;
}

.hero-home{
    min-height: calc(100vh - 90px);
}
.btn-partner, .btn-exihibitor, .btn-pass, .btn-startup {
  background-color: transparent !important;
  border: 4px solid transparent !important;
  border-radius: 8px;
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.btn-partner .elementor-button-text>span, 
.btn-exihibitor .elementor-button-text>span, 
.btn-pass .elementor-button-text>span, 
.btn-startup .elementor-button-text>span{
    font-size:200%;
}
.btn-partner .elementor-button-text,
.btn-exihibitor .elementor-button-text,
.btn-pass .elementor-button-text,
.btn-startup .elementor-button-text {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.btn-partner {
  background-image: linear-gradient(#1a1a1a, #1a1a1a),
    linear-gradient(170deg, #8B56BC 0%, #FC67FC 100%);
}
.btn-partner .elementor-button-text {
  background-image: linear-gradient(170deg, #8B56BC 0%, #FC67FC 100%);
}

.btn-exihibitor {
  background-image: linear-gradient(#1a1a1a, #1a1a1a), linear-gradient(170deg, #007bc2 0%, #00fff6 100%)
}
.btn-exihibitor .elementor-button-text {
  background-image: linear-gradient(170deg, #007bc2 0%, #00fff6 100%);
}

.btn-pass {
  background-image: linear-gradient(#1a1a1a, #1a1a1a), linear-gradient(170deg, #ffa363 0%, #ffca00 100%);
}
.btn-pass .elementor-button-text {
  background-image: linear-gradient(170deg, #ffa363 0%, #ffca00 100%);
}

.btn-startup {
  background-image: linear-gradient(#1a1a1a, #1a1a1a), linear-gradient(170deg, #8a77f4 0%, #2b26ff 100%)
}
.btn-startup .elementor-button-text {
  background-image: linear-gradient(170deg, #8a77f4 0%, #2b26ff 100%);
}


.HighlighPop,
.HighlighPopAs {
  opacity: 0; /* stato iniziale, nascosto finché non visibile */
}

.HighlighPop.is-visible {
  animation: HighlightPop 0.8s cubic-bezier(.175, .885, .32, 1.3) forwards;
}

.HighlighPopAs.is-visible {
  animation: HighlightPop_as 0.8s cubic-bezier(.175, .885, .32, 1.3) forwards;
}


@keyframes HighlightPop_as {

    0% {
        opacity: 0;
        transform: rotate(-18deg) scale(0.2) translateY(-60px);
        filter: blur(8px);
    }

    45% {
        opacity: 1;
        transform: rotate(6deg) scale(1.18) translateY(8px);
        filter: blur(0);
    }

    70% {
        transform: rotate(-6deg) scale(.95) translateY(-4px);
    }

    100% {
        opacity: 1;
        transform: rotate(-4deg) scale(1);
        filter: blur(0);
    }
}

@keyframes HighlightPop {

    0% {
        opacity: 0;
        transform: rotate(-18deg) scale(0.2) translateY(-60px);
        filter: blur(8px);
    }

    45% {
        opacity: 1;
        transform: rotate(6deg) scale(1.18) translateY(8px);
        filter: blur(0);
    }

    70% {
        transform: rotate(-6deg) scale(.95) translateY(-4px);
    }

    100% {
        opacity: 1;
        transform: rotate(-0deg) scale(1);
        filter: blur(0);
    }
}

ul.wtc-bullet {
  list-style: none;
  padding-left: 0;
}

ul.wtc-bullet li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
}

ul.wtc-bullet li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 18px;
  height: 14px;
  background-image: url('/wp-content/uploads/2026/09/bullet.png');
  background-size: contain;
  background-repeat: no-repeat;
}
.img-button img{
    filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, 0.6));
}
.wtc-numbers .elementor-counter-number-wrapper {
  align-items: flex-end;
}
.wtc-numbers .elementor-counter-number-suffix{
    font-size: 25px;
    margin-bottom: 5px;
}
.wtc-numbers .elementor-counter-number, .wtc-numbers .elementor-counter-number-suffix{
    background: linear-gradient(170deg, #007bc2 0%, #00fff6 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.wtc-numbers .elementor-counter-title{
    text-align:center;
}


/* HEADER */

.mdw-mi-menu-item img{
    max-height:40px;
} 

#sticky-header{
    position: fixed!important;
    width: 100%;
    top:0px!important;
}
.sticky {
    background-color:#000;    
    transition: all 0.6s ease;	
}
.hamburger-menu .elementor-icon-wrapper{
    line-height:0px;
}
.popup-nav-menu ul li ul li{
    margin-bottom:8px;
}
.popup-nav-menu ul li ul li ul li{
    margin-top:8px;
}
.popup-nav-menu .elementor-nav-menu--layout-vertical .sub-menu.elementor-nav-menu--dropdown {
    position: static !important;
    margin-top: 0px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none;
    text-align: center;
    background: transparent;
}
.popup-nav-menu .elementor-nav-menu--layout-vertical .sub-menu.elementor-nav-menu--dropdown .menu-item-has-children{
    margin-bottom: 10px;
}
.popup-nav-menu .elementor-nav-menu .sub-arrow{
    padding:10px 0px;
}
.popup-nav-menu .elementor-nav-menu--dropdown .sub-arrow .e-font-icon-svg{
    transform:none;
}
.popup-nav-menu .elementor-nav-menu--main .elementor-nav-menu a {
    justify-content: center;
    align-items: center;
    margin:0px;
    border:0px!important;
}
/*.popup-nav-menu .elementor-nav-menu--main .elementor-nav-menu a.has-submenu{
    margin-left:26px!important;
}*/
.popup-nav-menu .elementor-nav-menu ul ul a{
    border:0px!important;
    justify-content: center;
    align-items: center;
}
/* SLIDER ELEMENTOR */
.elementor-element .swiper .elementor-swiper-button:hover svg{
    fill:#fff!important;
}
.swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom:25px!important;
}
.swiper-pagination-bullet {
  width: 30px!important;
  height: 3px!important;
  border-radius: 0;
}

/* MEDIA LIST */
.press-review-list{
    list-style-type: none;
    padding-inline-start: 0px;
}
.press-review-list li, .newsletter-list li{
    margin-block-end: .9rem;
}
.newsletter-list li::marker{
    color: #fff;
}


/* RESOURCES LIST */
.resources-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.resource-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.resource-icon {
    width: 60px;
    flex-shrink: 0;
}
.resource-content a {
    text-decoration: underline;
    text-transform: uppercase;
    font-family: "Handel Gothic Regular", Sans-serif;
}
.resource-content p {
    color: #fff;
    margin-top: 8px;
}
/* PARTNER GRID */
.loghi-partner-header-wrapper {
    overflow-x: hidden;
}
.loghi-partner-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 50px 15px;
}
.loghi-partner-header {
    background: #252850;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    padding: 20px;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
.loghi-partner-grid {
    --base: 80; /* dimensione di riferimento (px) per un logo 1:1 — regola per scalare tutta la griglia */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}
.loghi-partner-grid:last-child {
    margin-bottom: 0;
}
.loghi-partner-grid .logo-item {
    flex: 0 1 calc((100% - 4 * 10px) / 5);
    aspect-ratio: 2 / 1;
    height: auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /*padding: 15px 40px;*/
    box-sizing: border-box;
    overflow: hidden;
}
.loghi-partner-grid .logo-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.loghi-partner-grid .logo-item img {
    --scale: sqrt( (var(--base) * var(--base)) / (var(--w) * var(--h)) );
    height: calc(var(--h) * var(--scale) * 1px);
    width: calc(var(--w) * var(--scale) * 1px);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* TAXONOMY PERSON */

.person-card{
    height:100%;
}

/* CONTACT FORM */

.cf7-row {
    display: flex;
    gap: 24px;
}

.cf7-col {
    flex: 1;
}

.cf7-col input[type="email"],
.cf7-col input[type="text"] {
    width: 100%;
    border-radius:15px;
    min-height: 55px;
    background: #212529;
    border: 2px solid #fff;
    color:#fff;
}
.cf7-col label {
    margin-bottom: 10px;
    font-size: 16px;
}

.wpcf7 label,
.wpcf7 .wpcf7-acceptance,
.wpcf7-form p {
    color: #fff;
}

.wpcf7-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #2b4bf2;
}

.wpcf7-form input[type="submit"] {
    background: #212529;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 15px 30px;
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    font-size:15px;
    border: 2px solid #fff;
    transition-duration: .3s;
    transition-property: transform;
    transition-timing-function: ease-out;
}

.wpcf7-form input[type="submit"]:hover {
    background: #000;
    border: 2px solid #fff;
    transform: translateY(-8px);

}

.wpcf7-form .wpcf7-list-item{
    margin: 20px 0px !important;
}

.wpcf7 form .wpcf7-response-output{
    color:#fff!important;
    border-radius: 10px;
    border-width: 1px;
}

/* MOBILE */
@media (max-width: 1024px){
    

}


@media (max-width: 767px){

    .loghi-partner-grid .logo-item {
        flex: 0 1 calc((100% - 1 * 16px) / 2); /* 2 colonne */
    }
    .loghi-partner-grid {
        gap: 16px;
    }

    .btn-partner .elementor-button-text>span, 
    .btn-exihibitor .elementor-button-text>span, 
    .btn-pass .elementor-button-text>span, 
    .btn-startup .elementor-button-text>span{
        font-size:150%;
    }

}

@media (max-width: 600px) {
    .cf7-row {
        flex-direction: column;
    }

}