/*
 * Theme Name: ACeS
 * Description: Starter Theme to use with Timber
 * Author: MonkeySpace3
*/

html{scroll-behavior: smooth;}

body {
    font-family: "Poppins", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: #2E4753;
    background-color:#FFF9F2;
}

.absolute{position: absolute;}
.fixed{position: fixed;}
.relative {position: relative;}

.lato{font-family: "Lato", sans-serif;}
.poppins{font-family: "Poppins", sans-serif;}

h1{font-family: "Lato", sans-serif; font-size: 32px; line-height: 34px;}
h2{font-family: "Lato", sans-serif; font-size: 28px; line-height: 30px;}
h3{font-family: "Lato", sans-serif; font-size: 22px; line-height: 24px;}
h4{font-family: "Lato", sans-serif; font-size: 18px; line-height: 20px;}

.titolo{font-size: 50px; line-height: 52px; font-weight: 700; font-family: "Lato", sans-serif;}
.titolo_mid{font-size: 40px; line-height: 42px; font-weight: 700; font-family: "Lato", sans-serif;}
.sottotitolo{font-size:22px; line-height: 26px;}

a, a:hover, a:visited{text-decoration: none; color: #004AAD;}

.testo_bianco{color:#fff;}
.testo_dark{color:#2E4753;}
.testo_blu_scuro{color:#003060;}
.testo_blu{color:#004AAD;}
.testo_tiffany{color:#56BCBC;}
.testo_azzurro{color:#85ABCC;}
.testo_giallo{color:#E0BD2E;}
.testo_rosa{color:#E2CEBA;}

.mini_text{font-size:10px;}

.bg{background-size: cover; background-repeat: no-repeat; background-position: center;}

.bg_bianco{background-color: #fff;}
.bg_dark{background-color:#2E4753; color:#fff;}
.bg_blu_scuro{background-color:#003060; color:#fff;}
.bg_blu{background-color:#004AAD; color:#fff;}
.bg_tiffany{background-color:#56BCBC;}
.bg_azzurro{background-color:#85ABCC;}
.bg_giallo{background-color:#E0BD2E;}
.bg_rosa{background-color:#E2CEBA; color:#2E4753;}
.bg_light{background-color:#FFF9F2; color:#2E4753;}

.dark_filter{position: absolute; width: 100%; height: 100%; top:0; left:0; z-index: 0; background: linear-gradient(0deg,rgba(0, 48, 96, 0.8) 10%, rgba(133, 171, 204, 0.1) 50%);}

.waves_pattern{background-image: url("/wp-content/themes/aces/static/img/geometric_blue_pattern.svg"); background-repeat: repeat; background-size: 800px 450px;}

.circle{border-radius: 50%;}
.bordered{border: 5px solid #fff;}

.btn {
    border-radius: 20px;
    border: 1px solid #56BCBC;
    font-size: 18px;
    line-height: 18px;
    padding: 12px 30px;
    background-color: #56BCBC;
    color:#fff;
    font-family: "Lato", sans-serif;
    font-weight: 700;
}
.btn:hover{background-color: #E2CEBA;}
.btn:active, .btn:focus{outline: none;box-shadow: none;}
.btn-blu{background-color: #004AAD; color: #ffffff;}
.btn-blu a{color:#fff;}
.btn-bianco{background-color: #ffffff; color: #56BCBC;}
.btn-bianco:hover{background-color: #004AAD; color: #fff;}
.btn-azzurro{background-color: #85ABCC; color: #ffffff;}

.uppercase {text-transform: uppercase;}
.italic {font-style: italic;}

.light {font-weight: 300;}
.regular {font-weight: 400;}
.medium {font-weight: 500;}
.semibold {font-weight: 600;}
.bold {font-weight: 700;}
.extrabold {font-weight: 800;}
.black {font-weight: 900;}

.overflow-h{overflow: hidden;}

header{width: 100%; top:0; background-color: transparent; background-image: url("/wp-content/themes/aces/static/img/menu_white_wave.svg"); background-size: cover; background-position: center bottom; z-index:101;}
.header_bg{background-color: transparent; background-image: url("/wp-content/themes/aces/static/img/menu_wave.svg"); background-size: cover; background-position: center bottom;}
header .logo{transition: width 0.3s ease-out; width: 80%;}
header.sticky{transition: max-height 0.3s ease-out;}
header.sticky .logo{transition: width 0.3s ease-out; width: 60%;}
header.sticky .logo_bg_scroll{position: absolute; left: 10%; top: 0; background: #fff; height: 110%; width: 80%; z-index: -1; border-radius: 0 0 30px 30px;}
header ul{list-style: none; padding-left: 0; margin-bottom: 0;}
header li{display: inline-block; margin-right: 15px;}
header li:last-child{margin-right: 0;}
header a{color:#fff !important;}

header.sticky{
    position:fixed;
    left:0;
    transform: translateY(0);
}
header:not(.sticky){
    position: absolute;
    transform: translateY(0);
}

.icone_menu img{height: 24px; cursor: pointer;}

.bg_menu{height: 100vh; width: 100%; right: 0; z-index: -1;}
.mega-menu ul{list-style: none; font-size: 1.3rem; line-height: 2.3rem;}
.mega-menu a{color:#fff;}
.mega-menu nav{margin-top: 100px;}
.mega-menu {
    transition: .3s ease-in-out;
    position: fixed;
    padding-bottom: 78px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    opacity: 0;
    display: none;
    overflow-y: auto;
    text-align: right;
}
.mega-menu nav {
    padding-top: 70px;
}
.mega-menu.reveal {
    opacity: 1;
    background:#2E4753;
}

.footer{font-size:12px;}
.footer .social_footer{list-style: none;}
.footer .social_footer li{display: inline-block; margin-right: 5px;}
.footer .social_footer li:last-child{margin-right: 0;}
.footer p{margin-bottom: 0;}
.footer{background-image: url("/wp-content/themes/aces/static/img/geometric_blue_pattern.svg"); background-repeat: repeat; background-size: 800px 450px;}
.social_footer .ico{width: 22px;}

.header_bg{height: 80px;}
.header .header_logo{top:-20px; left:0;}

.blocco_titolo{text-shadow: 2px 2px #2E4753;}
.home .blocco_titolo{text-shadow: none;}

.hero_hp{background-position: center bottom 30%; height: 100vh;}
.hero_hp .blocco_titolo{padding-top: 10%;}
.hero_hp .h_nome{font-size: 20px; line-height: 22px;}
.blocco_hero{height: 100%; display: flex; flex-direction: column;}

.aces_card{border-radius: 30px; font-size: 18px; line-height: 24px;}

.cards_carousel{background-color:#2E4753; background-image: url("/wp-content/themes/aces/static/img/cards_bg.svg"); background-position: bottom; background-size: cover;}
.cards_carousel .card_carousel{background-color: rgba(255, 255, 255, 0.85); border-radius: 30px;}
.c_titolo{font-size: 20px; line-height: 22px;}

.swiper {
    width: 100%;
}
.swiper-slide {
    align-items: center;
}
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cardsSwiper {
    height: auto;
}

.cardsSwiper .swiper-wrapper {
    align-items: stretch;
}

.cardsSwiper .swiper-slide {
    display: flex;
    align-items: stretch;
    height: auto;
}

.cardsSwiper .card_carousel {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.eventi_ultimi{background: linear-gradient(to bottom, #2E4753 70%, #FFF9F2 70%);}
.ce_img{height: 240px;}
.ce_dati{background-color: #F4F7F9;}
.ce_titolo{font-size: 26px; line-height: 28px;}

.images_carousel .img_carousel{height: 250px;}
.images_carousel .swiper-wrapper {
    transition-timing-function: linear !important;
}

.partnerSwiper{width: 100%;}
.partnerSwiper .swiper-wrapper{align-items: center; /*justify-content: center;*/}
.partnerSwiper .swiper-slide {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.partnerSwiper .swiper-slide img {
    display: block;
    height: 120px;
    width: auto;
    object-fit: contain;
}

.card_loghi{background: #fff; border-radius: 30px;}

.titolo_pagina{height: 400px;}
.titolo_pagina .container{position:relative; z-index: 1;}

.img_80{max-width: 60%;}

.card{border-radius: 30px; color:#fff;}

.come_lavora .immagine_top{height: 400px; width: 100%;}
.onda_tiffany{position:absolute; left:0; bottom:0; width:100%;}
.onda_tiffany img{display:block; width:100%; height:auto; transform: translateY(5px);}

.partners .logo_partner{background: #fff; border-radius:30px;}
.partners .card_partner{border-radius: 30px; color:#fff;}
body.page-id-138 .footer .partner{display:none;}
body.page-id-138 .footer{background-image: none;}

.card_evento {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.ce_img {
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}
.ce_dati {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    height: 100%;
}

.single-eventi .sidebar .ce_abstract{display: none;}
.single-eventi .inner_banner{border-radius: 30px; background-color: rgba(255, 255, 255, 0.8);}

.eventi_pagination_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    background-color: transparent;
    color: #2E4753;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}
.eventi_pagination_arrow:hover:not(:disabled) {
    background-color: rgba(0, 0, 0, 0.05);
}
.eventi_pagination_arrow:disabled {
    opacity: 0.3;
    cursor: default;
}
.eventi_pagination_status {
    min-width: 48px;
    text-align: center;
}

.card_contatto{border-radius: 30px;}
.card_contatto .riferimento_nome{font-size: 26px; line-height: 28px;}

.aces_form input, .aces_form textarea{border-radius: 30px; border: 1px solid #56BCBC; width: 100%; padding:4px 20px;}
.aces_form .wpcf7-acceptance input{width: auto;}
.aces_form .wpcf7-acceptance .wpcf7-list-item{margin-left:0;}
.aces_form .wpcf7-submit{background-color: #56BCBC; color:#fff; border-radius: 20px; border: 1px solid #56BCBC; font-size: 18px; line-height: 18px; padding: 12px 30px; font-family: "Lato", sans-serif; font-weight: 700;}
.aces_form .wpcf7-submit:hover{background-color: #004AAD; color:#fff;}

.lightbox .carousel-item .ratio{background-color:#56BCBC !important;}


/* START images_carousel */
.images_carousel .imgSwiper {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.images_carousel .imgSwiper .swiper-wrapper {
    display: flex;
    gap: 16px;              /* <-- gap tra le foto, regola a piacere */
    transition: none;
}
.images_carousel .imgSwiper .swiper-slide {
    flex-shrink: 0;
    width: 280px;   /* larghezza fissa della singola slide, adatta ai tuoi gusti */
}
.images_carousel .imgSwiper .img_carousel {
    width: 100%;
    height: 200px;  /* adatta all'altezza che vuoi */
    background-size: cover;
    background-position: center;
}
.images_carousel .imgSwiper .swiper-button-next,
.images_carousel .imgSwiper .swiper-button-prev {
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    z-index: 10;
    width: 27px;
    height: 44px;
    cursor: pointer;
    margin-top: -22px;
}
.images_carousel .imgSwiper .swiper-button-next::after,
.images_carousel .imgSwiper .swiper-button-prev::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
.images_carousel .imgSwiper .swiper-button-prev::after {
    left: 8px;
    transform: translateY(-50%) rotate(-135deg);
}

.images_carousel .imgSwiper .swiper-button-next::after {
    right: 8px;
    transform: translateY(-50%) rotate(45deg);
}
.images_carousel .imgSwiper .swiper-button-prev { left: 10px; }
.images_carousel .imgSwiper .swiper-button-next { right: 10px; }
/* END images_carousel */

.gtranslate_wrapper {
    zoom: 0.6;
}





@media screen and (min-width: 768px) {
    .logo_partner {
        width: 100%;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }
    .logo_partner img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
    }
}

@media screen and (min-width: 1700px) {
    .hero_hp {background-position: center bottom 70%;}
}

@media screen and (min-width: 768px) {
    .hero_icon img{max-width: 50%;}
}

@media screen and (max-width: 991px) {
    .blocco_hero{padding-bottom: 20%;}
    .img_80{max-width: 100%;}
    .come_lavora .immagine_top{height: 200px;}
}

@media screen and (max-width: 767px) {
    .titolo{font-size: 36px; line-height: 38px; font-weight: 700; font-family: "Lato", sans-serif;}
    .titolo_mid{font-size: 30px; line-height: 32px; font-weight: 700; font-family: "Lato", sans-serif;}
    header.sticky .logo_bg_scroll{display: none;}
}

@media screen and (max-width: 480px) {
    .hero_hp .h_nome{font-size: 14px; line-height: 16px;}
    .come_lavora .immagine_top{height: 100px;}
    .hero_hp .blocco_titolo{padding-top:20%;}
}