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

    /*colors*/
    --bs-primary: #0C3061;
    --bs-primary-rgb: 12, 48, 97;
    --bs-secondary: #f5f4f1;
    --bs-tertiary: #BAC7CF;
    --bs-quaternary:#AA9689;
    --bs-secondary-rgb: 245, 244, 241;
    --bs-tertiary-rgb: 186, 199, 207;
    --bs-quaternary-rgb: 170, 150, 137;
    --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: #ccc;
    --bs-light-gray-rgb: 204, 204, 204;
}
/* {
    letter-spacing: .05em;
}*/
/* typography  1rem = 16px */

.hide-me {
    display: none !important;
}

h1, .h1 {
    /*font-size: 4.375rem;*/    /* 70px */
    font-size: clamp(2.8125rem, 1.7014rem + 1.3889vw, 3.4375rem); /* font-size: from 45 to 55 */
    font-weight:500;
}
.home h1, .home .h1 {
    font-family: "MADE TOMMY", Arial, sans-serif;
    font-size: clamp(2.5rem, 7vw, 6rem);
    line-height: .6em;
}
.home h1.elementor-heading-title {
    line-height: 1.2em;
}
.home h1.elementor-heading-title>span,
.home h1>span, .home .h1>span {
    font-size: .5em;
}
    
h2, .h2 {
    /*font-size: 2.5rem; */  /* 40px */
    font-size: clamp(2rem, 1.1111rem + 1.1111vw, 2.5rem);
    font-weight:500;
}
h3, .h3 {
    /*font-size: 1.875rem;*/    /* 25px */
    font-size: clamp(1rem, 0.3125rem + 1vw, 1.5625rem);
    font-weight:500;
}
h4, .h4 {
    /*font-size: 1.375rem;*/    /* 22px */
    font-size: clamp(1.25rem, 1.0278rem + 0.2778vw, 1.375rem);
    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;
}

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: 2.5rem;   /* 40px */
    }
    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:768px){
    .hero-home-contents h1{
        font-size: 2rem !important;
    }
}

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

header#masthead {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background-color: transparent;
    padding: 1rem 3.5rem;
}
header#masthead.init {
    display:block!important;
}
header#masthead.fixed {
    position: fixed;
    background-color: var(--bs-primary);
	  background-color: var(--e-global-color-9dfa715, #0C3061);
    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;
}
.site-header .menu-toggle:hover, .site-header .menu-toggle:active, .site-header .menu-toggle:focus {
    background-color:unset;
}
.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) {
    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;
	min-width: 24px;
	text-align: center;
}
.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 {
    margin-left:1.25rem;
}*/
/**************************************************/
/**************************************************/


/* 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);
	fill: 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, .main-navigation .header-widget-buttons ul .menu-item.register-btn a:active, .main-navigation .header-widget-buttons ul .menu-item.register-btn a:focus-visible {
    background-color: transparent;
    color: var(--bs-secondary);
	fill: 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;
    }
    .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) {
        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);
	  	background-color: var(--e-global-color-9dfa715, #0C3061);
    }
    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);
		background-color: var(--e-global-color-9dfa715, #0C3061);
        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:after {
    background-image: url("../images/mountain.svg");
    background-position: 100% 104%;
    background-size: 50%;
    opacity: .7;
}
.bg-logo2:after {
    background-image: url("../images/mountain_white.svg");
    background-position: 117% 104%;
    background-size: 65%;
    opacity: .7;
    transform: scaleX(-1);
}
.bg-logo3:after {
    background-image: url("../images/mountain_white.svg");
    background-position: 140% 104%;
    background-size: 50%;
    opacity: .7;
}
.bg-logo4:after {
    background-image: url("../images/mountain.svg");
    background-position: 450% 104%;
    background-size: 90%;
    transform: scaleX(-1);
    opacity: .2;
}
.bg-logo>.e-con-inner,
.bg-logo2>.e-con-inner,
.bg-logo3>.e-con-inner ,
.bg-logo4>.e-con-inner  {
    position:relative;
    z-index:1;
}

.hero-bg-logo:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  background-repeat: no-repeat;
  background-image: url(../images/m-mark-sgambeda.svg);
  background-position: 36.2vw 286%;
  background-size: 100% 80%;
  height: 100%;
  /* max-width: 50%; */
  /* background-position: 11.2vw 286%; */
}
.hero-blue-overlay:before{
--background-overlay: '';
  background-color: transparent;
  background-image: linear-gradient(180deg, var(--e-global-color-primary) 0%, #0D306166 55%);
}
@media (max-width:992px) {
    .bg-logo2:after {
        background-size: 100%;
    }
    .bg-logo3:after,
    .bg-logo4:after {
        background-size: 120%;
        background-position: -130% 100%;
        transform: unset;
    }
}

/* ---- tables ---- */
.table {
    width:100%;
}
.table th,
.table td {
    padding:1rem 1.25rem;
}
.table:not(.rankings) th {
    background-color: var(--bs-primary);
    color:#fff;
    font-weight:400;
}
.table th strong {
    font-weight:500;
}
.table:not(.rankings) tr:nth-child(even) td {
    background-color: #C8E2E5;
}
.table tr td:first-child {
    font-weight: 500;
}
.table tr td {
    color: var(--bs-dark);
}

@media (max-width:768px) {
    .table th,
    .table td {
        padding:.5rem;
        font-size:1rem;
    }
}

/* table rankings */
.table.rankings {
    width:100%;
    border-spacing: 1.25rem;
    border-collapse: separate;
}
.table.rankings th {
    padding: 0;
    border: 0;
    font-weight:500;
}
.table.rankings td {
    background-color: #C8E2E5;
}
.table.rankings tr td:first-child {
    background-color: var(--bs-primary);
    color:#fff;
    font-weight: 500;
    font-size: clamp(1rem, 0.3125rem + 1vw, 1.5625rem);
    vertical-align: middle;
    text-align: center;
    max-width: 5rem;
}
.table.rankings tr td {
    color: var(--bs-dark);
}
.table.rankings td b,
.table.rankings td strong {
    font-weight: 500;
}


/* HOME PAGE */
.hero-overlay {
    position:relative;
}
div#hp-hero-second {
  overflow-x: clip;
}
.hero-overlay #hp-hero-second:after {
    content: '';
    position:absolute;
    right:0;
    top:0;
    width: 100%;
    height: 100%;
    background-image: url("../images/m-mark-sgambeda.svg");
    background-size: contain;
    background-position: bottom right;
    background-repeat: no-repeat;
    z-index:1;
    min-height: 30vh;
    max-width: 30vw;
    transform: translateY(-100%);
}
@media (min-width:992px){
    .hero-overlay.internal-hero:after {
        background-size: 870px;
    }
}

/* 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;
}
.hero-overlay .countdown-item {
  text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.10196);
}
/* BREADCRUMB */
.elementor-widget-custom_breadcrumb {
    z-index:9;
}
.breadcrumb {
    margin:0;
    padding:0;
}
.breadcrumb-item+.breadcrumb-item::before {
    content: '|';
}
/* BUTTONS */
.custom-button {
    display: inline-flex !important;
    align-items: center;
}

.custom-button {
    justify-content: center;
}
.button-inv a {
	color: var(--e-global-color-primary);
	fill: var(--e-global-color-primary);
	background-color: var(--e-global-color-secondary);
	border-style: solid;
	border-color: var(--e-global-color-secondary);
	padding: 0.625rem 1.875rem 0.625rem 1.875rem;
}
.button-inv a:hover {
	text-decoration: none;
	color: var(--e-global-color-secondary);
	fill: var(--e-global-color-secondary);
	background-color: var(--e-global-color-primary);
}

/* 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%;
}
.race-card__image img {
    width: 100%;
    height: 100% !important;
    display: block;
    object-fit:cover;
}
.race-card__image:before {
  background-image: linear-gradient(180deg, var(--bs-primary, #0C3061) -10%, #00000000 55%);
  content: '';
  inset: 0;
  position: absolute;
}
.race-card__content {
    padding: 2.1875rem 1rem;
    position: absolute;
    z-index: 1;
    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: "FONTSPRING DEMO - Uniwars Hv", sans-serif;
    text-align:center;
    color: var(--bs-light);
    margin-top: 4.375rem;
}*/
.race-card__content .wrapper .title {
  text-transform: uppercase;
  text-align: center;
  font-family: 'MADE TOMMY';
  FONT-WEIGHT: 500 !important;
}
.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%);
    padding: 1.25rem;
}
.race-card__content .wrapper,
.race-card__hover {
    padding-bottom:3.125rem;
}
.race-card:hover .race-card__hover {
    transform: translateY(0);
}
.race-card .race-card__info {
    width:100%;
    margin-top: 25%;
}
.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;
}

@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__image:before{
		display: none;
	}
    .race-card__content {
        position: relative;
        order: 2;
    }
    .race-card__content.btn-content {
        order: 4;
    }
    .race-card__content,
    .race-card__content .wrapper {
        padding-bottom: 1rem;
    }
    .race-card__content .wrapper {
        position:unset;
    }
    .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);
    }*/
    .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%);*/
    }
    .race-card__hover {
        order: 3;
        position: relative;
        height: auto;
        transform: unset;
        color: var(--bs-primary);
        background: none !important;
        padding-top: 0;
        padding-bottom:0;
    }
    /*.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__content .wrapper .title,
    .race-card .race-card__info {
        margin-top: 1rem;
    }
    /*.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;
    display: flex;
    flex-direction: column;
    /*height: 100%; */
}
.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;
    flex:1;
}
/* 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;
    }
}

/* default hide pagination */
.carousel-cards .swiper-pagination { display: none; }

/* desktop enabled */
.carousel-cards[data-navigation-desktop="true"] .swiper-button-next,
.carousel-cards[data-navigation-desktop="true"] .swiper-button-prev { display: none; }
.carousel-cards[data-pagination-desktop="true"] .swiper-pagination { display: none; }
@media (min-width: 1025px) {
.carousel-cards[data-navigation-desktop="true"] .swiper-button-next,
.carousel-cards[data-navigation-desktop="true"] .swiper-button-prev { display: block; }
  .carousel-cards[data-pagination-desktop="true"] .swiper-pagination { display: block; }
}

/* tablet enabled */
.carousel-cards[data-navigation-tablet="true"] .swiper-button-next,
.carousel-cards[data-navigation-tablet="true"] .swiper-button-prev { display: none; }
.carousel-cards[data-pagination-tablet="true"] .swiper-pagination { display: none; }
@media (min-width: 768px) and (max-width: 1024px) {
.carousel-cards[data-navigation-tablet="true"] .swiper-button-next,
.carousel-cards[data-navigation-tablet="true"] .swiper-button-prev { display: block; }
  .carousel-cards[data-pagination-tablet="true"] .swiper-pagination { display: block; }
}

/* mobile enabled */
.carousel-cards[data-navigation-mobile="true"] .swiper-button-next,
.carousel-cards[data-navigation-mobile="true"] .swiper-button-prev { display: none; }
.carousel-cards[data-pagination-mobile="true"] .swiper-pagination { display: none; }
@media (max-width: 767px) {
  .carousel-cards[data-navigation-mobile="true"] .swiper-button-next,
  .carousel-cards[data-navigation-mobile="true"] .swiper-button-prev { display: block; }
  .carousel-cards[data-pagination-mobile="true"] .swiper-pagination { display: block; }
}

.carousel-cards .swiper-button-next:after, .swiper-button-prev:after { content:'' !important;}
.carousel-cards .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {opacity:1;}


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

.grid-of-boxes .grid-box {
   /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='399' height='238' viewBox='0 0 399 238'%3E%3Cg transform='translate(-312 -3938)'%3E%3Cpath d='M1266.278,164.17a100.759,100.759,0,0,1-1.961,13.925,3.659,3.659,0,0,1-3.269,2.723H315.759l-61.277-36.63-31.748,17.018-29.963-21.9-.5-.37-23.4-17.106-4.576,2.615-14.927,8.564-10.329,5.928-.653.37L100.16,161.228l-40.619-12.4-37,21.66-19.59.458c-4.031-.676-3.835-6.646,0-7.5l18.347-.48,34.758-23.664.544-.37,2.942-2.005,8.107,2.005,1.5.37,31.008,7.67,11.811-7.67.566-.37,40.421-26.258,15.907-10.329,9.3,6.472,43.342,30.115.523.37.7.48.914-.48.7-.37,30.137-15.907s5.971,3.508,14.36,8.411c3.225,1.873,6.8,3.966,10.525,6.145,12.6,7.321,26.977,15.6,35.476,20.243,1.961,1.068,3.748,2.288,5.97,2.506,10.787,1.089,22.227-.327,33.013-.393,72.31-.482,328.75-.245,554.166-.007,160.428.168,305.141.337,356.586.247,1.59,1.241,1.764,1.961,1.7,3.988' transform='translate(297.615 3943.444)' fill='%230f666c'/%3E%3C/g%3E%3C/svg%3E");*/
   background-image: url('data:image/svg+xml,<svg id="Livello_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 399 86"><path d="M1251.9,66.1c-.3,4.7-1,9.3-2,13.9-.4,1.5-1.7,2.6-3.3,2.7H301.4l-61.3-36.6-31.7,17-30-21.9-.5-.4-23.4-17.1-4.6,2.6-14.9,8.6-10.3,5.9-.7.4-38.2,21.9-40.6-12.4-37,21.7-19.6.5c-4-.7-3.8-6.6,0-7.5l18.3-.5,34.8-23.7.5-.4,2.9-2,8.1,2,1.5.4,31,7.7,11.8-7.7.6-.4,40.4-26.3,15.9-10.3,9.3,6.5,43.3,30.1.5.4.7.5.9-.5.7-.4,30.1-15.9s6,3.5,14.4,8.4c3.2,1.9,6.8,4,10.5,6.1,12.6,7.3,27,15.6,35.5,20.2,2,1.1,3.7,2.3,6,2.5,10.8,1.1,22.2-.3,33-.4,72.3-.5,328.8-.2,554.2,0,160.4.2,305.1.3,356.6.2,1.6,1.2,1.8,2,1.7,4" fill="%230f666c" /></svg>');
    background-position: 50% 65%;
    background-repeat: no-repeat;
    background-size: 100%;
    fill: var(--bs-primary);
    transition: background 0.3s ease;
}
.grid-of-boxes .grid-box:hover {
   background-position: 50% 90%;
    text-decoration:none;
}

.grid-of-boxes .grid-box .title {
    font-family: "FONTSPRING DEMO - Uniwars Hv", sans-serif !important;
    font-style: italic !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;
}
.grid-of-boxes .grid-box .inner {
    padding: 3.625rem 1.25rem 3.625rem 1.25rem;
}
/* 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 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;
    }
}
@media (max-width:768px) {
    .grid-of-boxes .grid-box,
    .grid-of-boxes .grid-box:hover {
        background-position: 100% 2% !important;
        background-size: 140% 30%;    
    }
}

/**********************/
/* 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 VOLUNTEERS */
.contact-form.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-required-label, .wp-core-ui div.wpforms-container .wpforms-required-label,
.wpforms-field.custom-field input::placeholder {
    color: var(--bs-dark) !important;
}
.contact-form.wpforms-container .wpforms-field-label {
    font-size: clamp(1rem, 0.5556rem + 0.5556vw, 1.25rem);
}
div.wpforms-container-full input[type=checkbox]+label, div.wpforms-container-full input[type=radio]+label {
    font-size: 1rem;
}
.wpforms-field.custom-field input,
.wpforms-field.custom-field select,
.wpforms-field.custom-field textarea,
div.wpforms-container-full input[type=checkbox]:before, 
div.wpforms-container-full input[type=radio]:before {
    border-radius: 0 !important;
    border: 1px solid var(--bs-gray) !important;
}

@media (min-width:992px){
    .wpforms-field.custom-field {
        display: flex;
        justify-content: flex-end;
        gap:1rem;
    }
    .wpforms-field.custom-field label {
        width:30%;
        text-align: end;
    }
    .wpforms-field.wpforms-field-checkbox,
    .wpforms-submit-container {
        width:75.7% !important;
        float:right !important;
    }
}


/* 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);
	background-color: var(--e-global-color-9dfa715, #0C3061);
    border-top: 1px solid #fff;
}
.footer-mobile span {
    font-size:1.875rem;
}
.footer-mobile .footer-widget-mobile {
    min-width:4.375rem;
    width:15%;
}
.footer-mobile .footer-widget-mobile:last-child {
    width:70%;
}
.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;
}
.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;
	display: none;
}
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;
}


/* 404 */
.error404 header#masthead {
    background-color: var(--bs-primary);
}
.error404 main#primary {
    padding-top:10rem;
}
.error404 section.error-404 {
    gap: var(--row-gap) var(--column-gap);
    height: 100%;
    margin: 0 auto;
    max-width: 1200px;
    padding-inline-end: 0;
    padding-inline-start: 0;
    padding-block-end: 20rem;
    padding-block-start: 20rem;
    width: 100%;
    text-align: center;
}
