/*!
Theme Name: WILDWEB
Author: Ciciliot Nicola
Version: 1.0.0
*/

/*
@font-face {
  font-family: "Raleway";
  src: url("./assets/fonts/Raleway/Raleway-VariableFont_wght.ttf") format("truetype");
} */

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&display=swap');


*{outline:0!important}
html{margin-top:0!important}
body{background-color:#fff;font-family:"Albert Sans",arial,sans-serif;font-weight:400;margin:0;overflow-x:hidden;text-rendering:optimizelegibility;-webkit-font-smoothing: subpixel-antialiased;color:#1E1E1E}
ul{list-style:disc;padding-left:1rem}
img{height:auto;max-width:100%}

a,a:visited{color:#212529;text-decoration:underline}
a:hover,a:focus,a:active{color:#000;text-decoration:none;}

h1,h2,h3,h4,h5,h6 {color:#143D69}

strong, b {font-weight:600!important;}

.albert-sans-<uniquifier> {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.fs-1 {font-size:3.1rem!important;}
.fs-2 {font-size:2.5rem!important;}
.fs-3 {font-size:2.2rem!important;}
.fs-6 {font-size:1.1rem!important;}
.fs-7{font-size:0.95rem!important}
.fs-8{font-size:0.9rem!important}
.fs-9{font-size:0.85rem!important}

.svh{height:100svh;max-height: -webkit-fill-available;}

.btn, a.btn, a.btn:visited {
    padding: 0.1rem 0.5rem;
    border: 0;
    border-radius: 0;
    color: #FF5E1F;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.08em;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: gap 0.3s ease, color 0.1s ease 0.15s;
    position: relative;
    z-index: 0;
}

.btn::after, a.btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #FF5E1F;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    z-index: -1;
}

.btn::before, a.btn::before {
    content: '→';
    display: inline-block;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 1;
}

.btn span, a.btn span {
    position: relative;
    z-index: 1;
}

.btn:hover, a.btn:hover, a.btn:visited:hover {
    color: #fff;
    background-color: transparent;
    gap: 0.9rem;
	font-weight:600;
}

.btn:hover::after, a.btn:hover::after {
    transform: scaleX(1);
}

.btn:hover::before, a.btn:hover::before {
    transform: scaleX(1.4);
    transform-origin: left;
}

.btn-white, a.btn-white, a.btn-white:visited {
    color: #fff;
}
.btn-white::after, a.btn-white::after {
    background-color: #fff;
}
.btn-white:hover, a.btn-white:hover, a.btn-white:visited:hover {
    color: #FF5E1F;
}

/* LISTE */

.acf_blocco_base ul, .services-wrap ul {
    list-style: none;
    padding-left: 0;
}
.acf_blocco_base ul li {
	font-weight:500;
	padding-left: 2rem;
    position: relative;
    margin-bottom: 0.5rem;
}
.services-wrap ul li {
	font-weight:300;
	padding-left: 2rem;
    position: relative;
    margin-bottom: 0.5rem;
}
.acf_blocco_base ul li::before, .services-wrap ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 16px;
    height: 16px;
    background-image: url('assets/images/list.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

/* COLORI */

.text-grey,.text-grey a,a.text-grey{color:#dedede}
.bg-grey{background-color:#dedede}

.text-orange,.text-orange a,a.text-orange{color:#FF5E1F}
.bg-orange{background-color:#FF5E1F}
.text-bg-orange{background-color:#FF5E1F;color:#fff}

.darkblue {color:#143D69}
.bg-darkblue {background-color:#143D69}
.lightblue {color:#759CBF}
.bg-lightblue {background-color:#759CBF}
.bluegrey {color:#EAEFF4}
.bg-bluegrey {background-color:#EAEFF4}

.black-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none; /* rende cliccabili gli elementi sotto */
	background: rgba(0,0,0, 0.4);
}
.blue-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none; /* rende cliccabili gli elementi sotto */
	background: rgba(20, 61, 105, 0.5);
}

.text-shadow{text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);}
.bg-cover{background-size:cover;background-repeat:no-repeat;background-position:center}

.video{position:relative;padding-bottom:56.25%;height:0;margin-top:3px}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%}

iframe{transition:opacity 500ms ease-in-out;transition-delay:250ms}

#header{background-color:#143D69}

.header-transparent {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color: transparent !important;
    transition: background-color 0.4s ease;
}
.header-transparent.scrolled {
	background-color:#143D69!important;
}

.header-banner {height:550px;}
.header-img {object-fit:cover; object-position:center;}

.header-banner-title h1 {max-width:600px;}
.header-banner-title p {max-width:600px;}

/* HOME HERO */

.hero-home {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hero-home__video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
    z-index: 0;
}
.hero-home__logo {
    position: relative;
    z-index: 2;
    text-align: center;
}

.hero-home__logo video {
    max-width:450px;
	max-height:70vh;  
}

.hero-home__bottom {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
	white-space: nowrap;
}

.hero-home__bottom h1 {
    font-size: 1.8rem;
    font-weight: 300;
    margin-bottom: 1rem;
	padding-bottom:0.7rem;
	border-bottom:1.5px solid #FF5E1F;
}
.hero-home__bottom a {
	color:#FF5E1F;
	text-decoration:none;
	letter-spacing: 0.05em;
    text-transform: uppercase;
	font-weight:600;
}

/* SLIDE HOME */

.slider-snap {
    height: 70vh;
    display: flex;
    align-items: stretch;
    background-color: #EEF2F5;
    overflow: hidden;
    position: relative;
}

.slider-snap__left {
    width: 45%;
    height: 100%;
    position: relative;
}

.slider-snap__img-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    border-top-right-radius: 350px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.slider-snap__img-wrap.active {
    opacity: 1;
}

.slider-snap__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.slider-snap__right {
    width: 55%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 6rem 5rem 4rem 8rem;
    position: relative;
}

.slider-snap__content {
    position: absolute;
    top: 6rem;
    left: 8rem;
    right: 5rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    pointer-events: none;
}

.slider-snap__content.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.slider-snap__number-row {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1rem;
}

.slider-snap__number {
    font-size: 7.5rem;
    font-weight: 700;
    color: #759CBF;
    line-height: 1;
    display: block;
}

.slider-snap__number-nav {
    display: flex;
    gap: 0.6rem;
}

.slider-snap-arrow {
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    border-radius: 50%;
    border: 1px solid rgba(20, 61, 105, 0.3);
    background-color: #fff;
    color: #143d69;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.slider-snap-arrow:hover:not(:disabled) {
    background-color: #EA4800;
    border-color: #EA4800;
    color: #fff;
    transform: scale(1.05);
}

.slider-snap-arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

.slider-snap__title {
    font-size: 3rem;
    color: #143D69;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.slider-snap__dots {
    position: absolute;
    bottom: 5.6rem;
    left: 26rem;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    z-index: 2;
}

.slider-snap__dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 5px solid #759CBF;
    background-color: #759CBF;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s ease, opacity 0.5s ease, transform 0.5s ease;
}

.slider-snap__dot.active {
    background-color: #EA4800;
    border-color: #EA4800;
}

.slider-snap__svg {
    position: absolute;
    top: calc(6rem - 10rem);
    left: 0;
    right: calc(5rem - 10rem);
    bottom: calc(14rem - 6rem);
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}



.slider-snap__line {
    position: absolute;
    top: calc(6rem - 10rem);
    left: calc(8rem - 8rem);
    right: calc(5rem - 10rem);
    bottom: calc(14rem - 6rem);
    border: 1px solid #759CBF;
    border-radius: 0 0 0 300px;
    pointer-events: none;
    z-index: 0;
}

.slider-snap__content > * {
    position: relative;
    z-index: 1;
}

.blocco-avanzato-1 {padding:7rem 0 3rem 0;}

.blocco-avanzato-2 {
    overflow: hidden;
}
.blocco-avanzato-2__fascia-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; /* arriva fino a bordo schermo a destra */
    height: 45%;
    z-index: 0;
}
.blocco-avanzato-2__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1; /* sopra la fascia azzurra */
}
.blocco-avanzato-2__fascia-inner {
    position: relative;
    z-index: 2; /* sopra tutto */
}

/* LINEA ANIMATA */

.animated-line {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 20px;
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    overflow: hidden;
}

.animated-line__track {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #EA4800;
    transform: translateY(-50%);
}

.animated-line__block {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) translateX(100vw);
    width: 120px;
    height: 12px;
    border-radius: 10px;
    background-color: #EA4800;
    animation: none; /* disabilita l'animazione di default */
}

.animated-line__block.ready {
    animation: slideBlock 1.8s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

.animated-line--block .animated-line__block.ready {
    animation: slideBlockSection 1.8s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes slideBlock {
    from {
        transform: translateY(-50%) translateX(100vw);
    }
    to {
        transform: translateY(-48%) translateX(var(--container-offset));
    }
}

@keyframes slideBlockSection {
    from {
        transform: translateY(-50%) translateX(100vw);
    }
    to {
        transform: translateY(-50%) translateX(var(--block-line-offset));
    }
}


/* SERVICES */

.services-outer {
    height: 100vh;
    position: sticky;
    top: 0;
}

.services-wrap {
    height: 70vh;
    overflow: hidden;
    position: relative;
}

.service-slide {
    height: 70vh;
    display: flex;
    flex-direction: row;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
}

.service-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.service-image {
    width: 55%;
    height: 100%;
    overflow: hidden;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.8s ease;
}

.service-slide:hover .service-image img {
    transform: scale(1.03);
}

.service-content {
    width: 45%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 5rem;
    background-color: #fff;
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.7s ease 0.2s, transform 0.7s ease 0.2s;
}

.service-content.visible {
    opacity: 1;
    transform: translateX(0);
}

.services-nav {
    position: absolute;
    left: 55%;
    bottom: 2rem;
    transform: translateX(-50%);
    z-index: 2;
}

.services-nav__controls {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    background-color: #EAEFF4;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
}

.services-arrow {
    width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 auto;
    border-radius: 50%;
    border: 1px solid rgba(20, 61, 105, 0.3);
    background-color: #fff;
    color: #143d69;
    font-size: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.services-arrow:hover:not(:disabled) {
    background-color: #EA4800;
    border-color: #EA4800;
    color: #fff;
    transform: scale(1.05);
}

.services-arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

.services-dots {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.services-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #759CBF;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.services-dot:hover {
    background-color: #143d69;
}

.services-dot.active {
    background-color: #EA4800;
    transform: scale(1.35);
}

.services-arrow__preview {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0.75rem;
    white-space: nowrap;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    line-height: 1.25;
    color: #143d69;
    text-align: left;
}

.services-arrow__preview:empty {
    display: none;
}

/* IMAGE BOX */

.imagebox-card {
    height: 500px;
    background-size: cover;
    background-position: center;
    cursor: pointer;
}

.imagebox-card__overlay {
    background: linear-gradient(to top, rgba(20, 61, 105, 0.85) 0%, rgba(20, 61, 105, 0.2) 100%);
    transition: background 0.4s ease;
    z-index: 1;
}

.imagebox-card:hover .imagebox-card__overlay {
    background: linear-gradient(to top, rgba(20, 61, 105, 0.95) 0%, rgba(20, 61, 105, 0.6) 100%);
}

.imagebox-card__content {
    z-index: 2;
}

.imagebox-card__title {
    font-size: 1.5rem;
    margin-bottom: 0;
    transition: margin-bottom 0.4s ease;
}

.imagebox-card__text {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.4s ease 0.1s;
}

.imagebox-card:hover .imagebox-card__title {
    margin-bottom: 1rem;
}

.imagebox-card:hover .imagebox-card__text {
    max-height: 300px;
    opacity: 1;
}

.imagebox-card__text p {
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 1rem;
}


.contact-list a:hover strong {
    color: #EA4800 !important;
}


/* MENU */

ul.menu{margin-bottom:0}
ul.menu li{display:inline-block;position:relative}
ul.menu li a{display:block;text-decoration:none;padding:0.325em 0.75em;line-height:normal;text-transform:uppercase;color:#fff}
ul.menu li a:hover,ul.menu li a:focus,ul.menu li.current_page_item a,ul.menu li.current-menu-item a,ul.menu li.current_page_parent a,ul.menu li.current-menu-parent a{color:#FF5E1F;font-weight:600;}

.main-navigation ul > li.menu-item-has-children > a:after{content:"";height:1rem;width:20px;display:inline-block;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yMy4yNDUgNGwtMTEuMjQ1IDE0LjM3NC0xMS4yMTktMTQuMzc0LS43ODEuNjE5IDEyIDE1LjM4MSAxMi0xNS4zOTEtLjc1NS0uNjA5eiIvPjwvc3ZnPg==");background-position:center;background-size:contain;background-repeat:no-repeat}

ul.sub-menu{display:none;position:absolute;top:30px;left:0;z-index:10;width:auto;background-color:#fff;box-shadow:-1px 1px 3px rgba(0,0,0,0.65);padding:0.625em 1.15em;text-align:left}
ul.sub-menu li{width:100%;min-width:200px;display:block;}
ul.sub-menu li a{display:block;position:relative;overflow:hidden;padding:0;}

.sub-menu li{margin:0;width:100%;text-align:left;}
li.menu-item-has-children:hover .sub-menu{display:block}

.footer-logo img{max-width:270px}
.site-footer a {text-decoration: none;color:#fff;font-weight:500;}
.site-footer a:hover{text-decoration:underline;color:#FF5E1F}
.site-footer ul{list-style-type:none;margin:0;padding:0}
.site-footer li{display:block}
.social-bottom a{font-size:2rem;display:inline-block;margin-right:5px;margin-bottom:5px;}
.social-bottom a svg{fill:#fff;height:30px;width:30px}
.social-bottom a:hover svg{fill:#FF5E1F}

.accordion-button{box-shadow:none!important;border-bottom:1px solid #ccc;}
.accordion-collapse{border-bottom:1px solid #ccc;}

.transition{-o-transition:.3s;-ms-transition:.3s;-moz-transition:.3s;-webkit-transition:.3s;transition:.3s}
.cursor-pointer{cursor:pointer}

.acf_facebook-image{height:250px;background-size:cover;background-position:center;background-repeat:no-repeat}

.acf_numeri .number{font-size:4.5em}

/* Estendi background dei container col a tutto schermo*/
.bg-extend-left,.bg-extend-right{position:relative;}
.bg-extend-left:before{content:"";height:100%;width:500px;left:-500px;top:0;position:absolute;background-color:inherit}
.bg-extend-right:before{content:"";height:100%;width:500px;right:-500px;top:0;position:absolute;background-color:inherit}

/* ANIMAZIONI GSAP */
.fadeIn,.fadeUp,.fadeDown,.fadeStart,.fadeEnd,.slideUp,.slideDown,.slideStart,.slideEnd{position:relative}

/** SIMPLE LIGHTBOX **/
body.hidden-scroll{overflow:hidden}.sl-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;display:none;z-index:1035}.sl-wrapper{z-index:1040;width:100%;height:100%;left:0;top:0;position:fixed}.sl-wrapper *{box-sizing:border-box}.sl-wrapper button{border:0 none;background:transparent;font-size:28px;padding:0;cursor:pointer}.sl-wrapper button:hover{opacity:0.7}.sl-wrapper .sl-close{display:none;position:fixed;right:30px;top:30px;z-index:10060;margin-top:-14px;margin-right:-14px;height:44px;width:44px;line-height:44px;font-family:Arial,Baskerville,monospace;color:#000;font-size:3rem}.sl-wrapper .sl-counter{display:none;position:fixed;top:30px;left:30px;z-index:10060;color:#000;font-size:1rem}.sl-wrapper .sl-download{display:none;position:fixed;bottom:5px;width:100%;text-align:center;z-index:10060;color:#fff;font-size:1rem}.sl-wrapper .sl-download a{color:#fff}.sl-wrapper .sl-navigation{width:100%;display:none}.sl-wrapper .sl-navigation button{position:fixed;top:50%;margin-top:-22px;height:44px;width:22px;line-height:44px;text-align:center;display:block;z-index:10060;font-family:Arial,Baskerville,monospace;color:#000}.sl-wrapper .sl-navigation button.sl-next{right:5px;font-size:2rem}.sl-wrapper .sl-navigation button.sl-prev{left:5px;font-size:2rem}@media (min-width: 35.5em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:10px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:10px;font-size:3rem}}@media (min-width: 50em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:20px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:20px;font-size:3rem}}.sl-wrapper.sl-dir-rtl .sl-navigation{direction:ltr}.sl-wrapper .sl-image{position:fixed;-ms-touch-action:none;touch-action:none;z-index:10000}.sl-wrapper .sl-image img{margin:0;padding:0;display:block;border:0 none;width:100%;height:auto}@media (min-width: 35.5em){.sl-wrapper .sl-image img{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image img{border:0 none}}.sl-wrapper .sl-image iframe{background:#000;border:0 none}@media (min-width: 35.5em){.sl-wrapper .sl-image iframe{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image iframe{border:0 none}}.sl-wrapper .sl-image .sl-caption{display:none;padding:10px;color:#fff;background:rgba(0,0,0,0.8);font-size:1rem;position:absolute;bottom:0;left:0;right:0}.sl-wrapper .sl-image .sl-caption.pos-top{bottom:auto;top:0}.sl-wrapper .sl-image .sl-caption.pos-outside{bottom:auto}.sl-spinner{display:none;border:5px solid #333;border-radius:40px;height:40px;left:50%;margin:-20px 0 0 -20px;opacity:0;position:fixed;top:50%;width:40px;z-index:1007;-webkit-animation:pulsate 1s ease-out infinite;-moz-animation:pulsate 1s ease-out infinite;-ms-animation:pulsate 1s ease-out infinite;-o-animation:pulsate 1s ease-out infinite;animation:pulsate 1s ease-out infinite}.sl-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.sl-transition{transition:-moz-transform ease 200ms;transition:-ms-transform ease 200ms;transition:-o-transform ease 200ms;transition:-webkit-transform ease 200ms;transition:transform ease 200ms}@-webkit-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-moz-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-o-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-ms-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}

/** SLICK **/
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}
.slick-list.dragging{cursor:pointer;cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}
.slick-track:before,.slick-track:after{display:table;content:''}
.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left;height:100%;min-height:1px}
[dir='rtl'] .slick-slide{float:right}
.slick-slide img{display:block}
.slick-slide.slick-loading img{display:none}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}
.slick-arrow.slick-hidden{display:none}

/** SLICK THEME **/
.slick-prev,.slick-next,.slick-prev:before,.slick-next:before{width:30px;height:30px}
.slick-prev,.slick-next{position:absolute;top:50%;display:block;padding:0;z-index:1;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent}
.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent}
.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}
.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}
.slick-prev:before,.slick-next:before{color:#fff;display:block;content:"";background-position:center;background-size:contain;background-repeat:no-repeat;}
.slick-prev{left:25px}
.slick-prev:before{background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M20 .755l-14.374 11.245 14.374 11.219-.619.781-15.381-12 15.391-12 .609.755z"/></svg>')}
.slick-next{right:25px}
.slick-next:before{background-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z"/></svg>')}

.slick-dotted.slick-slider{margin-bottom:30px}
.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}
.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}
.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}
.slick-dots li button:hover,.slick-dots li button:focus{outline:none}
.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}
.slick-dots li button:before{font-size:30px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.slick-dots li.slick-active button:before{opacity:.75;color:#000}

/* WP */
#wp-admin-bar-wp-logo,#wp-admin-bar-top-secondary,#wp-admin-bar-search{display:none!important}
#wpadminbar{width:auto;min-width:0}
#wpadminbar:after{content:"";position:absolute;right:-32px;bottom:0;width:0;height:0;border-style:solid;border-width:0 32px 32px 0;border-color: transparent transparent #1d2327 transparent;transform:rotate(90deg);}

/* Bootstrap Breakpoints */
@media (max-width: 1440px) { /* sm, md, lg   */

	.slider-snap__number {font-size: 5.5rem;}
	.slider-snap__title {font-size: 2.5rem;}
	.slider-snap__dots {bottom: 5.2rem;}
}
@media (max-width: 1199px) { /* sm, md, lg   */
	.slider-snap__title {font-size: 2rem;}
	.slider-snap__dots {bottom: 5.2rem;left: 17rem;}
}

/* Services: su schermi poco alti il testo centrato verticalmente può arrivare
   a toccare le frecce in basso. Si compattano testo e frecce in base
   all'altezza della finestra, non alla larghezza. */
@media (max-height: 820px) {
	.service-content {
		padding: 2.5rem 5rem 6.5rem;
	}
	.service-content h2 {
		font-size: 1.9rem !important;
		margin-bottom: 1rem !important;
	}
	.service-content .fs-5 {
		font-size: 0.95rem !important;
	}
	.services-nav {
		bottom: 1rem;
	}
	.services-arrow {
		width: 2.2rem;
		height: 2.2rem;
		font-size: 0.9rem;
	}
	.services-nav__controls {
		gap: 0.5rem;
		padding: 0.4rem 0.6rem;
	}
}

@media (max-height: 650px) {
	.service-content {
		padding: 1.5rem 4rem 5.5rem;
	}
	.service-content h2 {
		font-size: 1.5rem !important;
		margin-bottom: 0.5rem !important;
	}
	.service-content .fs-5 {
		font-size: 0.85rem !important;
	}
}

@media (max-width: 991px) { /* sm, md */
	.slider-snap__number {font-size: 5rem;}
	.slider-snap__title {font-size: 2rem;}
	.slider-snap__content {top: 5rem;left: 5rem;right: 2rem;}
	.slider-snap__dots {bottom: 5.2rem;left: 14rem;}
}

@media (max-width: 767px) { /* sm */
	#navigation{background-color:#143D69;height:100vh;width:0;position:fixed;z-index:999999;top:0;right:0;margin:0!important;padding:0!important;overflow-x:hidden;transition:.5s;-webkit-transition:.5s;-o-transition:.5s;-moz-transition:.5s;-ms-transition:.5s}
	
	#navigation ul{padding-right:15px}
	#navigation ul li{display:block;width:100%;padding:0.25em 0;margin-bottom:0.25em}
	#navigation ul li a{color:#fff;border-bottom:1px solid rgba(255,255,255,0.2);white-space:nowrap;text-align:right;padding:0.5em 0}
	#navigation ul li.current-menu-item a{color:#e9511c}
	
	.acf_numeri .number{font-size:2.4em}
	
	/* HERO HOME MOBILE */
	
	.hero-home__bottom {
        white-space: normal;
        width: 90vw;
        left: 50%;
        transform: translateX(-50%);
    }

    .hero-home__bottom h1 {
        font-size: 1.3rem;
    }
	
	.hero-home__logo video {
		max-width:80%;
		max-height:60vh;
	}
	
	/* service mobile: blocchi impilati, scroll di pagina normale (nessuna frecca/animazione) */

	.services-wrap {
        height: auto;
        overflow: visible;
        position: static;
    }

    .service-slide {
        position: static;
        opacity: 1;
        visibility: visible;
        flex-direction: column;
        height: auto;
    }

    .service-image,
    .service-content {
        width: 100%;
    }

    .service-image {
        height: 25vh;
    }

    .service-content {
        padding: 2.5rem 1.5rem;
    }
	
	.blocco-avanzato-1 {
        padding: 0 !important;
    }

    .blocco-avanzato-1 > .position-absolute {
        position: relative !important;
        width: 100vw!important;
        margin-left: calc(-50vw + 50%);
        height: 280px;
    }

    .blocco-avanzato-1 .container {
        padding: 0;
    }

    .blocco-avanzato-1 .row {
        margin: 0;
    }

    .blocco-avanzato-1 .col-7 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .blocco-avanzato-1 .d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .blocco-avanzato-1 .flex-shrink-0 {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .blocco-avanzato-1 .animated-line {
        display: none;
    }

    /* BLOCCO AVANZATO 2 MOBILE (fascia "OUR MISSION"): la fascia azzurra deve
       arrivare fino ai bordi reali dello schermo, e il testo avere un margine
       laterale invece di essere attaccato al bordo. */

    .blocco-avanzato-2__fascia-bg {
        left: 50%;
        right: auto;
        width: 100vw;
        margin-left: -50vw;
    }

    .blocco-avanzato-2__fascia-inner {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }


	/* SLIDE HOME MOBILE */
		
	.slider-snap {
        height: auto;
        flex-direction: column;
    }

    .slider-snap__left {
        width: 100%;
        height: 50vw;
        position: relative;
    }

    .slider-snap__img-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-top-right-radius: 0;
    }

    .slider-snap__right {
		position: relative;
        width: 100%;
        padding: 2rem;
        min-height: 500px;
    }

    .slider-snap__content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        padding: 2rem;
    }

    .slider-snap__number {
        font-size: 5rem;
    }

    .slider-snap__title {
        font-size: 2.1rem;
    }

    /* Nasconde SVG e linea desktop */
    .slider-snap__svg,
    .slider-snap__line {
        display: none;
    }

    /* Linea orizzontale con pallini */
    .slider-snap__dots {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        padding: 2rem 0;
        margin-top: 0;
    }

    .slider-snap__dots::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 2rem;
        right: 2rem;
        height: 1px;
        background-color: #759CBF;
        transform: translateY(-50%);
        z-index: 0;
    }

    .slider-snap__dot {
        position: relative;
        z-index: 1;
        background-color: #EEF2F5;
    }

    .slider-snap__dot.active {
        background-color: #EA4800;
        border-color: #EA4800;
    }

    /* Frecce nascoste su mobile: si naviga con lo swipe */
    .slider-snap__number-nav {
        display: none;
    }

    .slider-snap__swipe-hint {
        position: absolute;
        bottom: 4.4rem;
        left: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        font-size: 0.75rem;
        font-weight: 600;
        color: #759CBF;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .slider-snap__swipe-hint .icofont-simple-left,
    .slider-snap__swipe-hint .icofont-simple-right {
        font-size: 0.9rem;
    }

	.imagebox-card {height: 350px;}

	
}

@media (max-width: 575px) { /* No infix */

}

