/** CUSTOMIZE **/
:root {  
    /*fonts*/
    --bs-font-sans-serif: 'MADE TOMMY', 'Arial', sans-serif;

    /*colors*/
    --bs-primary: #0C3061;
    --bs-primary-rgb:12, 48, 97;
    --bs-secondary: #FDB913; 
    --bs-secondary-rgb: 253, 185, 19;
    --bs-blue: var(--bs-primary);
    --bs-blue-rgb: var(--bs-primary-rgb);
    --bs-yellow: var(--bs-secondary);
    --bs-yellow-rgb: var(--bs-secondary-rgb);
    --bs-light: #EEEBE7;
    --bs-light-rgb: 238, 235, 231;
    --bs-dark: #3E3E3E;
    --bs-dark-rgb:62, 62, 62;
    --bs-dark-gray: #666;
    --bs-dark-gray-rgb: 102, 102, 102;
    --bs-gray: #757575;
    --bs-gray-rgb: 117, 117, 117;
    --bs-light-gray: #EDEBE7;
    --bs-light-gray-rgb: 237, 235, 231;
}
/** {
    letter-spacing: .05em;
}*/
/* typography  1rem = 16px */
h1, .h1 {
    font-family: 'MADE TOMMY', 'Arial', sans-serif;
    /*font-size: 4.375rem;*/    /* 70px */
    font-size: clamp(2.8125rem, 0.6597rem + 3.4722vw, 3.4375rem);    /* from 55px at 1280px to 45px at 992px */
    font-weight:500;
}
/*.home h1, .home .h1 {
    font-family: 'MADE TOMMY', 'Arial', sans-serif;
    /*font-size: clamp(2.5rem, -0.5556rem + 4.4444vw, 5rem);
    font-size: clamp(3.75rem, -2.7083rem + 10.4167vw, 5.625rem); *//* from 90px at 1280px to 60px at 992px */
/*}
.home h1 > span, .home .h1 > span {
    font-size: clamp(1.875rem, -1.4583rem + 4.1667vw, 3.75rem);*/ /* from 60px at 1280px to 30px at 992px */
/*}*/
h2, .h2 {
    /*font-size: 3rem; */  /* 55px */
    font-family: 'MADE TOMMY', 'Arial', sans-serif;
    font-size: clamp(2.8125rem, 0.6597rem + 3.4722vw, 3.4375rem); /* from 55px at 1280px to 45px at 992px */
    font-weight:500;
}
h3, .h3 {
    /*font-size: 1.875rem;*/   
    font-family: inherit;
    font-size: clamp(1.875rem, 0.7986rem + 1.7361vw, 2.1875rem); /* from 35px at 1280px to 30px at 992px */
    font-weight:500;
}
h4, .h4 {
    /*font-size: 1.375rem;*/    /* 22px */
    font-size: clamp(1.625rem, 0.7639rem + 1.3889vw, 1.875rem); /* from 30px at 1280px to 26px at 992px */
    font-weight:500;
}
h1 span, .h1 span, h2 span, .h2 span, h3 span, .h3 span, h4 span, .h4 span {
    font-weight:400;
}
body,
h5, .h5, 
h6, .h6 {
    /*font-size: 1.25rem;*/    /* 20px */
    font-size: clamp(1rem, 0.6944rem + 0.4444vw, 1.25rem);
    font-weight:500;
}

strong, b {
    font-weight: 700;    
}

a,
a:hover, 
a:visited {
    color: var(--bs-primary);
}
.elementor-widget-text-editor a,
footer .elementor-widget-text-editor a:hover {
    text-decoration: underline !important;
}

.elementor-widget-text-editor a:hover,
footer .elementor-widget-text-editor a {
    text-decoration: none !important;
}
 
@media screen and (max-width: 1200px) {
    h1, .h1 {
        font-size: 1.875rem;   /* 30px */
    }
    h2, .h2 {
        font-size: 1.5625rem;    /* 25px */
    }
    h3, .h3 {
        font-size: 1.125rem;    /* 18px */
    }
    h4, .h4 {
        font-size: 1rem;    /* 16px */
    }
    body,
    h5, .h5, 
    h6, .h6 {
        font-size: 1rem;    /* 20px */
        font-weight:500;
    }
}

@media (max-height:900px) and (orientation: landscape) {
    .hero-home-contents {
        justify-content: flex-end !important;
        padding-bottom:2rem;
    }
    .hero-home-contents h1{
        font-size: clamp(3rem, 1.5rem + 4vw, 4.5rem) !important;
    }
}
@media (max-height:600px) and (orientation: landscape) {
    .hero-home-contents h1{
        font-size: 3rem !important;
    }
}

.d-none {
    display: none !important;
}

/* HEADER 
--------------------------------------------- */

header#masthead {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background-color: rgba(var(--bs-primary-rgb), 0.85);
    padding: 1rem 3.5rem;
}
header#masthead.init {
    display:block!important;
}
header#masthead.fixed {
    position: fixed;
    background-color: var(--bs-primary);
    display:none;   
}

header#masthead .site-branding {
    position:relative;
    z-index:1;
}
header#masthead .site-branding .custom-logo-link {
    padding-top: .5rem;
    display:block;
    max-width: 200px;
    margin-right:1rem;
}
@media (max-width: 768px) {
    header#masthead .site-branding {
        width:200px;
    }
    header#masthead .site-branding img {
        object-fit: contain;
    }
}

/* NAVIGATION */

/*menu toggle (hamburger) */
.site-header .menu-toggle {
    background-color:unset;
    padding:0;
    position: relative;
    z-index:1;
}
.main-navigation .hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 2.25rem;
    height: 2.25rem;
    padding: .5rem;
    cursor: pointer;
}
.main-navigation .hamburger-menu .line {
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
}
.main-navigation.toggled .hamburger-menu .line-1 {
    transform: rotate(45deg);
    position: relative;
    top: .5rem;
}

.main-navigation.toggled .hamburger-menu .line-2 {
    opacity: 0;
}

.main-navigation.toggled .hamburger-menu .line-3 {
    transform: rotate(-45deg);
    position: relative;
    top: -.6rem;
}

/* main menu */
.main-navigation ul {
    display: flex;
	list-style: none;
	margin: 0 1rem;
	padding-left: 0;
    gap: 1rem;
}
.main-navigation ul li/*:not(:last-child)*/,
.menu-register-and-contact-buttons-container {
    margin-left:1.2rem;
}
.main-navigation ul .menu-item {
    display: flex;
    align-items:center;
    color: #fff;
	position: relative;
}
.main-navigation ul .menu-item-has-children .plus {
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    transition: transform .3s ease-in-out;
}
.main-navigation ul .menu-item-has-children.open-menu .plus,
.main-navigation ul .menu-item-has-children.focus .plus {
    transform: rotate(45deg);
}
/* sub-menu */
.main-navigation ul ul.sub-menu {
    display:none;
    min-width:100%;
    padding: .5rem 1.25rem;
    background-color: var(--bs-primary);
}
.main-navigation ul ul.sub-menu li {
    margin:0;
}
.main-navigation ul ul.sub-menu a {
    font-size: 1.25rem;
    text-transform:unset;
    text-align:start;
    font-weight: 300;
}

.main-navigation a {
	display: block;
	text-decoration: none !important;
    color: #fff;
    /*font-size: 1.125rem;*/
    /*font-size: clamp(1rem, 0.8472rem + 0.2222vw, 1.125rem);*/
    font-size: 1rem;
    font-weight: 400;
    padding: .3rem;
    text-transform: uppercase;
    white-space: nowrap;
}
.main-navigation a:hover,
.main-navigation ul .current-menu-parent>a,
.main-navigation ul .current-menu-item>a {
    text-decoration:underline !important;
}

/**************************************************/
/** TEMPORARY CSS BECAUSE THERE ARE NO LANGUAGES
.main-navigation .langs {
    display:none;
}
*************************************************/

/*header#masthead.fixed .main-navigation .header-widget-buttons ul .menu-item.register-btn {*/
header#masthead .main-navigation .header-widget-buttons ul .menu-item.register-btn {
    margin-left:1.25rem;
}
/**************************************************/
/**************************************************/

/* .header-widget-buttons { display: none}*/


/* header register and contact buttons */
/*.main-navigation .header-widget-buttons ul .menu-item.register-btn:first-child {
    margin-left:0;
}
.main-navigation .header-widget-buttons ul .menu-item.register-btn {
    display: none;
}*/
.main-navigation .header-widget-buttons ul .menu-item.register-btn a {
    font-size: 1rem;
    padding: .75rem 2.1875rem;
    background-color: var(--bs-secondary);
    color: var(--bs-primary);
    border: 2px solid var(--bs-secondary);
    transition: all .6s;
    font-weight: 500;
}
.main-navigation .header-widget-buttons ul .menu-item.register-btn a:hover {
    background-color: transparent;
    color: var(--bs-secondary);
    text-decoration: none;
}
header#masthead.fixed .main-navigation .header-widget-buttons ul .menu-item.register-btn {
    display:inline-flex;
}
header#masthead.fixed .main-navigation .header-widget-buttons ul .menu-item.register-btn.contacts a {
    padding: .25rem .5rem;
    line-height: 0;
}
/* email icon contacts */
header#masthead.fixed .main-navigation .header-widget-buttons ul .menu-item.register-btn.contacts a>span {
    font-size: 2.5rem;
    font-variation-settings: 'wght' 200;
    line-height: 1;
}
.social-widget {
    display:flex;
    align-items:center;
}
.social-widget .social-icon svg {
    fill:#fff;
    height: 1.5rem;
}
.site-header .menu-toggle {
    border: 0!important;
}

@media screen and (min-width: 1200px) {
	.site-header .menu-toggle {
        display: none;
    }
    header#masthead .site-branding {
        display:flex;
        align-items:center;
    }
    header#masthead .site-branding .custom-logo-link {
        padding-top:0;
    }    
    .main-navigation .menu-container {
        display:flex;
        align-items:center;
        height:100%;
    }
    .main-navigation ul {
        margin: 0;
    }
    .main-navigation ul ul.sub-menu {
        top: 2.5rem;
        position: absolute;
        z-index:99;
    }
    .main-navigation ul .menu-item:last-child ul.sub-menu {
        right:0;
    }
    /* languages menu */
    .main-navigation .langs {
        margin-left:1rem;
        margin-right:1rem;
    }
    .main-navigation .langs a {
        cursor: pointer;
    }
    .social-mobile {
        display:none;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1600px) {
    .main-navigation ul,
    .main-navigation .menu-container {
        gap:.5rem;
    }
    .main-navigation ul li/*:not(:last-child)*/,
    .menu-register-and-contact-buttons-container {
        margin-left:.5rem;
    }
    .main-navigation a {
        font-size: 1rem;
    }

}
@media screen and (max-width: 1200px) {
    header#masthead,
    header#masthead.fixed {
        position:fixed;
        background: none;
        transition: background .6s ease-in-out;
        padding: 1rem 1.25rem;
    }
    header#masthead.scrolled {
        background: var(--bs-primary);
    }
    header#masthead .site-branding .custom-logo-link {
        width:90%;
    }
    header#masthead .site-branding img {
        width:auto;
        height:3.125rem;
    }
    .site-header .menu-toggle {
        display: block;
    }

    /* menu mobile */
    .main-navigation ul {
        margin: 0;
    }
    .main-navigation ul li.menu-item > ul {
        width:100%;
        display:none;
    }    
    .main-navigation {
        display:flex;
        gap:1rem;
    }
    .main-navigation .menu-container {
        background-color: var(--bs-primary);
        color:#fff;
        width:100%;
        height:100vh;
        z-index:0;
        top:0;
        right:-100%;
        transition: all .6s;
        position: absolute;
        padding: 1.25rem;
        padding-top:9rem;
    }
    .main-navigation.toggled .menu-container {
        right:0;
    }
    .main-navigation ul {
        display:block;
    }
    .main-navigation ul li.menu-item {
        display: flex;
        flex-wrap:wrap;
        margin-left:0;
        margin-bottom: 1.5rem;
    }
    .main-navigation ul:not(.langs) .sub-menu {
        margin-left:1.25rem;
    }
    .main-navigation a {
        font-size: 1rem;
    }

    /* languages menu */
    .main-navigation .langs {
        position: absolute;
        top: 2.5rem;
        right: 3.125rem;
    }
    .main-navigation ul.langs .menu-item-has-children .plus {
        display:none;
    }
    .main-navigation .langs a {
        padding:0;
    }
    .main-navigation .langs .sub-menu {
        display:flex !important;
        background:none;
    }
    .main-navigation .langs li.menu-item {
        flex-wrap: nowrap;
    }
    .main-navigation .langs ul.sub-menu a {
        font-weight: 400;
        font-size: 1rem;
    }
    .main-navigation .langs a.current-lang {
        border: 1px solid #fff;
        padding: 2px 8px;
        display: inline-flex;
        justify-content: center;
    }
    
    #menu-register-and-contact-buttons {
        display:none;
    }
}

.bg-logo,
.bg-logo2,
.bg-logo3,
.bg-logo4 {
    position:relative;
}
/*.internal-hero:after,*/
.bg-logo:after,
.bg-logo2:after,
.bg-logo3:after ,
.bg-logo4:after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    z-index: 0;
}
.bg-logo>.e-con-inner,
.bg-logo>div,
.bg-logo2>div,
.bg-logo3>div,
.bg-logo4>div {
    position:relative;
    z-index:1;
}
/*.internal-hero:after,*/
.bg-logo:after {
    background-image: url("../images/bg-mark-v1.svg"); /* bg left */
    background-position: top left;
    background-size: contain;
    display: block;
}
.bg-logo2:after {
    background-image: url("../images/bg-mark-v2.svg"); /* bg right */
    background-position: top right;
    background-size: contain;
    /*opacity: .7;*/
}
.bg-logo3:after {
    background-image: url("../images/bg-mark-v3.svg"); 
    background-position: bottom right;
    background-size: 18vh;
    /*opacity: .7;*/
}
.bg-logo4:after {
    background-image: url("../images/bg-mark-v4.svg"); 
    background-position: bottom right;
    background-size: 12rem;
    /*opacity: .7;*/
}
@media (max-width:768px){
    .bg-logo.no-mobile:after,
    .bg-logo2.no-mobile:after,
    .bg-logo3.no-mobile:after,
    .bg-logo4.no-mobile:after {
        display:none;
    }
}

/* HOME PAGE */
.hero-overlay {
    position:relative;
}

.hero-overlay:after {
    content: '';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width: 100%;
    height: 100%;
    background-image: url("../images/alpenfest_mark_v1.svg");

    background-size: 100vh;
    background-position: bottom right;
    background-repeat: no-repeat;
    z-index:1;
    opacity:.7;
}

/* for accessibility (stop and hide video in home) */
/*.hero-fallback {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.reduced-motion .elementor-background-video {
    display: none !important;
}

.reduced-motion .hero-fallback {
    display: block;
}*/
.hero-fallback {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
  
.reduced-motion .hero-fallback {
    display: block;
}

  

@media (max-width:1200px){
    .hero-overlay:after {
        background-size: 80%;
    }
}
@media (max-width:768px){
    /*.internal-hero:after {
        background-size: 80%;
    }*/
    .hero-overlay:after {
        background-size: contain;
    }
}


@media (max-width:768px){
    .under-hero-home {
        background-color: var(--bs-light) !important;
    }
    .under-hero-home .elementor-icon svg {
        width: 2.5rem;
        fill: var(--bs-primary) !important;
    }
    .under-hero-home .elementor-heading-title {
        color: var(--bs-primary) !important;
        font-size: .875rem;
        line-height:1.2em;
        display:inline-flex;
    }
    .video-mobile .elementor-video {
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 180vw !important;
        max-width: unset !important;
    }
}


/* elementor widgets */
.elementor-widget-text-editor ul {
    padding-left:0;
    margin-left: 1.25rem;
}
.elementor-widget-text-editor ul li {
    margin-bottom: 1.25rem;
}
/* COUNTDOWN */
.countdown-wrapper {
    display: flex;
    gap: 1rem;
}
/* BREADCRUMB */
.elementor-widget-custom_breadcrumb {
    z-index:9;
}
.breadcrumb {
    margin:0;
    padding:0;
}
.breadcrumb-item+.breadcrumb-item::before {
    content: '|';
}
.custom-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
.custom-button.hide-me {
    opacity: 0;
    position: absolute;
    inset: 0; /* copre tutta la card */
    z-index: 1;
}
.elementor-kit-6 .custom-button:hover {
    text-decoration: none;
}


/* RACE CARDS */
.elementor-widget-race_card {
    height:100%;
}
.race-card {
    position: relative;
    overflow: hidden;
    height:100%;
    width:100%;
    transition: all 0.3s ease-in-out;
}
.race-card__image {
    height: 100%;
    position:relative;
}
.race-card__image:after {
    content: '';
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    width:100%;
    height:100%;
    background: #000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.52) 0%, rgba(0, 0, 0, 0) 70%);
}
.race-card__image img {
    width: 100%;
    height: 100% !important;
    display: block;
    object-fit:cover;
}
.race-card__content {
    padding: 2.1875rem 1rem;
    position: absolute;
    z-index:2;
    bottom: 0;
    left: 0;
    width: 100%;
    height:100%;
}
.race-card__content.btn-content {
    z-index:3;
}

.race-card__content .wrapper {
    text-align: center;
    /*max-width: 12.5rem;*/
    display:flex;
    flex-direction:column;
    justify-content: space-between;
    margin: 0 auto;
    gap: 1rem;
    position:relative;
    height: 100%;
}
.race-card__content .wrapper .title {
    /*font-family: 'MADE TOMMY', 'Arial', sans-serif;*/
    text-align:center;
    color: var(--bs-light);
}
.race-card__button {
    position:absolute;
    bottom:0;
    left:0;
    z-index:2;
    width:100%;
}
.race-card__hover {
    position: absolute;
    top: 0;
    left: 0;
    z-index:2;
    width: 100%;
    height: 100%;
    /*background: rgba(0, 0, 0, 0.7);*/
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    /*transition: transform 0.3s ease-in-out;
    transform: translateY(101%);*/
    transition: opacity .3s ease-in-out;
    padding: 1.25rem;
    opacity:0;
}
.race-card__content .wrapper,
.race-card__hover {
    padding-bottom:3.125rem;
}
.race-card .race-card__info-item {
    width:50%;
}
.race-card .race-card__info-item .inner {
    display:flex;
    flex-direction:column;
    align-items: center;
    padding: .5rem;
}
.race-card .race-card__info-item .inner .icon {
    padding-bottom:.5rem;
}
.race-card .race-card__info-item .inner .contents {
    text-align:center;
}

.race-card:hover .race-card__hover {
    /*transform: translateY(0);*/
    opacity:1;
}
.race-card:hover .race-card__content.btn-content .custom-button {
    background-color: var(--bs-light) !important;
    color: var(--bs-secondary) !important;
}

@media(max-width: 1200px){
    .race-card {
        display:flex;
        flex-direction:column;
    }
    .race-card__image {
        order:1;
    }
    .race-card__image img {
        aspect-ratio:16/10;
    }
    .race-card__content {
        position: relative;
        order: 2;
        padding: 1.25rem 0;
    }
    .race-card__content.btn-content {
        order: 4;
    }
    .race-card__content,
    .race-card__content .wrapper {
        padding-bottom: 1rem;
    }
    .race-card__content .wrapper {
        position:unset;
        text-align:left;
    }
    .race-card__content:not(.btn-content),
    .race-card__content:not(.btn-content) .wrapper {
        padding-bottom:0;
        padding-top: 0.625rem
    }
    .race-card__content .wrapper .title {
        font-family: unset ;
        color: var(--bs-primary);
        text-align:left;
    }
    .race-card__content .race-card__button {
        position:relative;
        /*position:absolute;
        bottom:1.875rem;
        left:0;
        display:inline-block;
        width: auto;
        margin-left: 50%;
        transform: translateX(-50%);*/
    }
    body:not(.home) .race-card__content .wrapper .title {
        color: var(--bs-light) !important;
        padding: .5rem 0;
    }
    body:not(.home) .race-card__content .race-card__button .custom-button {
        background-color: var(--bs-light) !important;
        color: var(--bs-primary) !important;
    }
    .race-card__hover {
        order: 3;
        position: relative;
        height: auto;
        transform: unset;
        background: none !important;
        padding:0;
        opacity: 1;
        text-align:center;
    }
    .race-card__hover .text {
        color: var(--bs-light) !important;
    }
    .home .race-card__hover .text {
        color: var(--bs-primary) !important;
    }
    .race-card .race-card__info-item .inner {
        flex-direction: row;
        gap: .5rem;
    }
    .race-card .race-card__info-item .inner .icon {
        padding-bottom: 0;
    }
    .race-card .race-card__info-item .inner .contents {
        text-align:left;
    }
    .race-card .race-card__info-item .inner .label {
        font-size: 0.8125rem !important;
    }
    .race-card .race-card__info-item .inner .text {
        font-size: 1.125rem !important;
    }
    .race-card__hover .icon svg {
        fill: var(--bs-primary) !important;
    }
}

/* CAROUSEL CARDS */
.carousel-cards .swiper {
    padding-bottom: 2.5rem;
}
.carousel-cards .swiper .swiper-slide {
    background:#fff;
    height: unset;
}
.carousel-cards .swiper .carousel-cards__image {
    display:block;
    width:100%; 
    height:auto; 
    object-fit:cover;
}
.carousel-cards .swiper .swiper-slide .contents{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem;
}
/* navigation */
.carousel-cards .swiper .swiper-button-next, 
.carousel-cards .swiper .swiper-button-prev {
    width: 4.5rem; /* 72px */
    height: 4.5rem; /* 72px */
}
.carousel-cards .swiper .swiper-button-next:after, 
.carousel-cards .swiper .swiper-rtl .swiper-button-prev:after,
.carousel-cards .swiper .swiper-button-prev:after, 
.carousel-cards .swiper .swiper-rtl .swiper-button-next:after {
    display:none !important;
}
.carousel-cards .swiper .elementor-button-icon svg {
    width:100%;    
}
/* pagination */
.carousel-cards .swiper>.swiper-pagination {
    position:relative;
    margin-top:1.25rem;
}
.carousel-cards .swiper>.swiper-pagination-bullets {
    bottom: 0;
}
.carousel-cards .swiper>.swiper-pagination-bullets .swiper-pagination-bullet {
    width: .8125rem;
    height: .8125rem;
    border: 1px solid #000;
    opacity: 1;
}
.carousel-cards .swiper>.swiper-pagination-bullets .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background-color: transparent !important;
}
@media (max-width:768px) {
    .carousel-cards .swiper {
        padding-bottom: 1.25rem;
    }
    .carousel-cards .swiper .swiper-button-next, 
    .carousel-cards .swiper .swiper-button-prev {
        width: 2.5rem; /* 72px */
        height: 2.5rem; /* 72px */
    }
}


/* GRID OF BOXES */
.grid-of-boxes {
    display:grid;
}

.grid-of-boxes .grid-box {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="139.097" height="124.511" fill="%2378151a" viewBox="0 0 139.097 124.511"><g><path d="M180.391,148.825q30.432,6.217,50.156,25.923,19.724,19.742,20.288,50.72.546,25.923-10.426,44.239a88.108,88.108,0,0,1-29.587,29.868q-18.6,11.553-43.112,17.188a226.959,226.959,0,0,1-51,5.636,195.984,195.984,0,0,1-45.366-3.945q-21.133-4.526-36.913-14.089a72.651,72.651,0,0,1-24.8-24.233Q.6,265.48.055,246.319q-.581-18.034,5.072-31.277a67.142,67.142,0,0,1,14.934-22.26,58.2,58.2,0,0,1,21.133-13.243,69.972,69.972,0,0,1,23.669-4.227,65.514,65.514,0,0,1,20.851,3.381,56.39,56.39,0,0,1,18.034,9.862,48.007,48.007,0,0,1,12.68,16.343,51.8,51.8,0,0,1,4.79,22.824q0,10.708-5.354,23.106-5.371,12.4-12.68,18.6-14.089-3.945-21.7.845c-5.072,3.193-7.808,7.232-8.172,12.116s1.691,9.58,6.2,14.089,11.459,6.763,20.851,6.763q19.724,0,32.968-10.989A62.637,62.637,0,0,0,152.5,264.917a85.1,85.1,0,0,0,4.508-35.5,77.277,77.277,0,0,0-11.271-35.222q-9.862-16.061-28.741-26.769-18.9-10.69-47.62-10.144l-.564-13.525a59.1,59.1,0,0,0,28.741-7.044A77.035,77.035,0,0,0,133.9,93.878a84.586,84.586,0,0,0,4.79-27.9q-.564-23.669-12.4-38.885T89.1,16.39c-6.023,1.127-10.426,3.569-13.243,7.326s-3.769,7.326-2.818,10.708,3.945,5.823,9.017,7.326,12.292.751,21.7-2.254a52.794,52.794,0,0,1,9.017,29.868,51.991,51.991,0,0,1-4.227,21.7,43.6,43.6,0,0,1-11.553,15.5,54.29,54.29,0,0,1-16.625,9.58,54.866,54.866,0,0,1-18.879,3.381A52.908,52.908,0,0,1,27.669,107.4Q12.453,95.287,12.453,70.491a69.814,69.814,0,0,1,4.79-25.36q4.773-12.4,17.188-22.542Q46.812,12.445,67.4,6.246q20.552-6.2,51.565-6.2,29.851-.564,50.72,5.636,20.834,6.217,34.377,16.625,13.525,10.426,19.724,23.951a65.825,65.825,0,0,1,6.2,27.614q0,28.741-14.089,47.9a75.975,75.975,0,0,1-35.5,27.051" transform="translate(12.123 -173.709)"/></g></svg>');
    background-position: 101% 101%;
    background-repeat: no-repeat;
    background-size: 33%;
    fill: var(--bs-primary);
    transition: background-image 0.3s ease;
}
.grid-of-boxes .grid-box:hover {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="139.097" height="124.511" fill="%23EEEBE7" viewBox="0 0 139.097 124.511"><g><path d="M180.391,148.825q30.432,6.217,50.156,25.923,19.724,19.742,20.288,50.72.546,25.923-10.426,44.239a88.108,88.108,0,0,1-29.587,29.868q-18.6,11.553-43.112,17.188a226.959,226.959,0,0,1-51,5.636,195.984,195.984,0,0,1-45.366-3.945q-21.133-4.526-36.913-14.089a72.651,72.651,0,0,1-24.8-24.233Q.6,265.48.055,246.319q-.581-18.034,5.072-31.277a67.142,67.142,0,0,1,14.934-22.26,58.2,58.2,0,0,1,21.133-13.243,69.972,69.972,0,0,1,23.669-4.227,65.514,65.514,0,0,1,20.851,3.381,56.39,56.39,0,0,1,18.034,9.862,48.007,48.007,0,0,1,12.68,16.343,51.8,51.8,0,0,1,4.79,22.824q0,10.708-5.354,23.106-5.371,12.4-12.68,18.6-14.089-3.945-21.7.845c-5.072,3.193-7.808,7.232-8.172,12.116s1.691,9.58,6.2,14.089,11.459,6.763,20.851,6.763q19.724,0,32.968-10.989A62.637,62.637,0,0,0,152.5,264.917a85.1,85.1,0,0,0,4.508-35.5,77.277,77.277,0,0,0-11.271-35.222q-9.862-16.061-28.741-26.769-18.9-10.69-47.62-10.144l-.564-13.525a59.1,59.1,0,0,0,28.741-7.044A77.035,77.035,0,0,0,133.9,93.878a84.586,84.586,0,0,0,4.79-27.9q-.564-23.669-12.4-38.885T89.1,16.39c-6.023,1.127-10.426,3.569-13.243,7.326s-3.769,7.326-2.818,10.708,3.945,5.823,9.017,7.326,12.292.751,21.7-2.254a52.794,52.794,0,0,1,9.017,29.868,51.991,51.991,0,0,1-4.227,21.7,43.6,43.6,0,0,1-11.553,15.5,54.29,54.29,0,0,1-16.625,9.58,54.866,54.866,0,0,1-18.879,3.381A52.908,52.908,0,0,1,27.669,107.4Q12.453,95.287,12.453,70.491a69.814,69.814,0,0,1,4.79-25.36q4.773-12.4,17.188-22.542Q46.812,12.445,67.4,6.246q20.552-6.2,51.565-6.2,29.851-.564,50.72,5.636,20.834,6.217,34.377,16.625,13.525,10.426,19.724,23.951a65.825,65.825,0,0,1,6.2,27.614q0,28.741-14.089,47.9a75.975,75.975,0,0,1-35.5,27.051" transform="translate(12.123 -173.709)"/></g></svg>');
    text-decoration:none;
}

/*.grid-of-boxes .grid-box .title {
    font-family: "Malibu v2", sans-serif !important;
    font-weight: 900 !important;
}*/

.grid-of-boxes .grid-box .content.show-on-hover {
    transform: translateY(0);
    transition: transform 0.3s ease;
}
.grid-of-boxes .grid-box:hover .content.show-on-hover {
    transform: translateY(-20px);
}
.grid-of-boxes .grid-box .content.show-on-hover .description {
    opacity:0;
    transition: opacity 0.3s ease;
}
/* if is a link add the arrow */
.grid-of-boxes a.grid-box .content.show-on-hover .description:after {
    content: '';
    width: 2.4rem;
    height: 2.4rem;
    display:block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path fill="%2378151A" d="m600-200-57-56 184-184H80v-80h647L544-704l56-56 280 280-280 280Z"/></svg>');
    background-repeat: no-repeat;
    background-size: contain;
}
.grid-of-boxes .grid-box:hover .content.show-on-hover .description {
    opacity:1;
}

@media (max-width:1335px) {
    .grid-of-boxes .grid-box {
        aspect-ratio: unset !important;
    }
}
@media (max-width:1200px) {
    .grid-of-boxes .grid-box .content.show-on-hover .description {
        opacity: 1;
    }
}


/* Elementor Widget Hotspot */
.elementor-widget-custom_hotspot .elementor-widget-container > img {
    object-fit:cover;
}
.elementor-widget-custom_hotspot .e-hotspot__tooltip {
    white-space: normal;;
}
.elementor-widget-custom_hotspot .e-hotspot__tooltip img {
    height: auto !important;
}
.elementor-widget-custom_hotspot .e-hotspot__tooltip.e-hotspot--tooltip-position.e-hotspot--fade-in-out:focus {
    opacity:1;
    visibility:visible;
}


/* GOOGLE MAP WIDGET */
.gmap.elementor-widget-google_maps .elementor-custom-embed {
    display:flex;
    height: 100%;
}

.gmap.elementor-widget-google_maps .elementor-custom-embed iframe {
    height: 100% !important;    
    flex:1;
}

/**********************/
/* EXHIBITORS FILTERS */
/**********************/

.exhibitors-filters {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #757575;
    font-weight:400;
    font-size: 1rem;
}
.exhibitors-filters .custom-select {
    position: relative;
    width: 200px;
    font-family: Arial, sans-serif;
    user-select: none;
}  
.exhibitors-filters .select-selected {
    background-color: white;
    border: 1px solid #afafaf;
    height: 35px;
    line-height: 35px;
    padding: 0 30px 0 8px;
    font-size: 14px;
    color: #000;
    cursor: pointer;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
}  
.exhibitors-filters .select-items {
    position: absolute;
    background-color: white;
    border: 1px solid #afafaf;
    border-top: none;
    width: 100%;
    z-index: 99;
    max-height: 200px;
    overflow-y: auto;
}  
.exhibitors-filters .select-items div {
    padding: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #000;
}  
.exhibitors-filters .select-items div:hover {
    background-color: #f0f0f0;
}
  
.exhibitors-filters .select-hide {
    display: none;
}
  
.exhibitors-filters .select-show {
    display: block;
}
.exhibitors-filters input[type="checkbox"] {
    border: 1px solid #afafaf;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    position: relative;
    transition: all .3s ease;
    margin-left:1.25rem;
    color:#757575;
}
.exhibitors-filters .filter-checkboxes,
.exhibitors-filters .filter-checkboxes label {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.exhibitors-filters .filter-checkboxes {
    flex-wrap: wrap;
}
.exhibitors-filters .filter-checkboxes input[type="checkbox"] {
    height: 2.3rem;
    width: 2.3rem;
}
.exhibitors-filters .filter-checkboxes input[type="checkbox"]:checked {
    background-color: var(--bs-primary);
    border: 1px solid var(--bs-primary);
}
.exhibitors-filters .filter-checkboxes input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 12px;
    width: 8px;
    height: 16px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.exhibitors-filters .filter-checkboxes .filter.disabled {
    opacity:0.4;
}
.exhibitors-filters .filter-checkboxes .filter.disabled input[type="checkbox"] {
    cursor:default;
}
.exhibitors-filters .filter-checkboxes .btn-reset {
    background-color: var(--bs-primary);
    color: #fff;
    border: 2px solid var(--bs-primary);
    padding: 0.4rem 1rem;
    font-size: .8rem;
    display: none;
    margin-left:1rem;
    transition: all .6s;
}
.btn-reset:hover,
.btn-reset:focus,
.btn-reset:active,
.btn-reset:focus-visible {
    background-color: transparent;
    color: var(--bs-primary);
    text-decoration: none;
}

.exhibitors-grid {
    gap:1.25rem;
    margin-top: 3rem;
}
.exhibitors-grid .item-content {
    border: 1px solid var(--bs-primary);
    padding: .625rem .625rem 2rem;
    font-weight: 400;
    font-size: 1rem;
    min-height: 27rem;
    overflow:hidden;
}
.exhibitors-grid .item-content>img {
    width: 280px;
    height: 130px;
    object-fit: contain;
    margin: 0 auto 2rem;
    display: block;
}
.exhibitors-grid .item-content .title {
    color: var(--bs-primary);
}
.exhibitors-grid .item-content .company {
    text-transform: uppercase;
    border-bottom: 1px solid var(--bs-gray);
    padding-bottom:1rem;
}
.exhibitors-grid .item-content .company,
.exhibitors-grid .item-content .stand,
.exhibitors-grid .item-content .category {
    margin-bottom: 1.25rem; 
    color: var(--bs-dark);   
}

.exhibitors-grid .item-content .description {
    color: var(--bs-gray);
}
@media (max-width: 768px) {
    .exhibitors-filters {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 1rem;
    }
    .exhibitors-filters .custom-select {
        width:100%;
    }
    .exhibitors-filters input[type="checkbox"] {
        margin-left:0;
    }
    .exhibitors-filters .filter-checkboxes .btn-reset {
        margin-left:0;
    }
}

/* FORM EXHIBITORS */
.exhibitors-form .contact-form {
    margin: 0 auto;
    max-width: 50rem;
}
.exhibitors-form .custom-field {
    display:flex;
    justify-content: flex-end;
}
.wpforms-container .wpforms-field {
    padding:0.5rem 0;
}
.exhibitors-form .custom-field label {
    width:25%;
    text-align: end;
}
.exhibitors-form .custom-field input[type="text"],
.exhibitors-form .custom-field input[type="email"],
.exhibitors-form .custom-field textarea {
    width:75%;
    margin-left:1.25rem;
}
.exhibitors-form .wpforms-field-checkbox,
.exhibitors-form .wpforms-submit-container {
    display:flex;
    justify-content:flex-end;
}
.exhibitors-form .wpforms-field-checkbox fieldset {
    width:75%;
}




/* parallax */
.parallax {
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
    transition: background-position 0.3s ease-in-out;
}
@media (max-width:768px) {
    .parallax {
        background-attachment: unset;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        height: unset;
        transition: unset;
    }
}
/* parallax */
.parallax.v2 {
    height: unset;
    background-attachment: unset;
}

/* CONTACT FORM */
.contact-form.wpforms-container .wpforms-field-label {
    font-weight: 400;
}
.contact-form.wpforms-container .wpforms-field-medium {
    width:100%;
}
.contact-form.wpforms-container .btn {
    padding: .75rem 2.1875rem;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--bs-primary);
    background-color: var(--bs-primary);
}


/* FOOTER */
footer a, 
footer a:hover, 
footer a:visited {
    color:var(--bs-light);
}
footer a:hover {
    text-decoration: underline;
}
/* hide admin footer "edit" */
.entry-footer {
    display:none !important;
}

.footer-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    gap: 0;
    justify-content: center;
    align-items: center;
    z-index: 999;
    background: var(--bs-primary);
    border-top: 1px solid #fff;
}
.footer-mobile span {
    font-size:1.875rem;
}
.footer-mobile .footer-widget-mobile {
    min-width:4.375rem;
    width:15%;
    /*width: 50%;*/
}
.footer-mobile .footer-widget-mobile:last-child {
    width:70%;
    /*display:none;*/
}
.footer-mobile p {
    margin:0 !important;
    padding: 0 !important;
}
.footer-mobile a {
    text-decoration: none;
    min-height:4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer-mobile a:hover {
    text-decoration: underline;
}
.footer-mobile .phone-btn/*,
.footer-mobile .email-btn*/ {
    padding: 1rem .625rem;
    border-right: 1px solid #fff;
}
.footer-mobile .phone-btn{
    border-right: 1px solid #fff;
}
.footer-mobile .register-btn {
    padding: 1.25rem !important;
    width: 100%;
}
@media (min-width:768px) {
    .footer-mobile {
        display:none;
    }
}

/**************************/
/* NEWS BLOG AND CAROUSEL */
/**************************/

/* listing */
.swiper-slide .carousel-cards__image .img-wrapper,
.elementor-widget-blog_post_grid .blog-grid .post-thumbnail .img-wrapper {
    width:100%; 
    height:100%; 
    overflow:hidden;
    position:relative;
}
.swiper-slide .carousel-cards__image .img-wrapper .image,
.elementor-widget-blog_post_grid .blog-grid .post-thumbnail .featured-image {
    position:absolute;
    display:block;
    width:100%; 
    height:100%; 
    object-fit:cover;
    transition: transform .3s ease-in-out;
}
.swiper-slide:hover .carousel-cards__image.animated .img-wrapper .image,
.elementor-widget-blog_post_grid .blog-post:hover .post-thumbnail.animated .featured-image {
    transform: scale(1.05);
}
/*.swiper-slide .contents,
.elementor-widget-blog_post_grid .blog-post .contents {
    transition: opacity .6s;
}
.swiper-slide:hover .contents,
.elementor-widget-blog_post_grid .blog-post:hover .contents {
    opacity:.7;
}*/

.elementor-widget-blog_post_grid .pagination .page-item.disabled >.page-link,
.elementor-widget-blog_post_grid .pagination .page-item.disabled >.page-link svg {
    color: var(--bs-gray);
    fill: var(--bs-gray);
}
.elementor-widget-blog_post_grid .pagination .page-item >.page-link,
.elementor-widget-blog_post_grid .pagination .page-item >.page-link svg {
    color: var(--bs-primary);
    fill: var(--bs-primary); 
}
.elementor-widget-blog_post_grid .pagination .page-item.active >.page-link {
    color: var(--bs-white);
    background-color: var(--bs-primary);
}

body.single .post-thumbnail {
    margin-bottom: 2.5rem;
}
body.single .post-thumbnail img {
    max-height:50rem;
    width:100%;
    object-fit:cover;
}
body.single .link-primary:hover {
    color: var(--bs-primary) !important;
    text-decoration-color: var(--bs-primary) !important;
}

body.single .experiences .post-thumbnail,
body.single.post-template-news .post-thumbnail {
    display:none;
}

.error404 header#masthead {
    background-color:var(--bs-primary);
}
.error404 .error-404-section {
    padding: 200px 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    justify-content: center;
}