/* 

# VARIABLES
# FLUID TYPOGRAPHY
# ELEMENTOR GLOBAL STYLES
# MAIN RULES
# CUSTOM PADDINGS
# ideasfera CLASSES
# HEADER
# FOOTER
# BUTTONS
# CUSTOM ELEMENTOR ANIMATION CLASSES
# HISTORY TIMELINE
# ILOYALTY ACCORDION
# HIDE SCROLL BAR

*/





/************************************************/
/*** # VARIABLES ********************************/
/************************************************/

:root {
    --color-fff: #fff;
	--color-black: #000;
    --color-f7: #f7f7f7;

    --main-container-max-width: 1440px;

    --tablet-breakpoint: 1140px;
    --mobile-breakpoint: 767px;
	
	--header-space: 75px;	
}
/* 
@media (max-width:767px) {
	:root {--header-space:60px}
}
 */





/************************************************/
/*** # ELEMENTOR GLOBAL STYLES ******************/
/************************************************/
.color-primary {
    color: var(--e-global-color-primary) !important
}

.color-secondary {
    color: var(--e-global-color-secondary) !important
}

.color-text {
    color: var(--e-global-color-text) !important
}

.color-accent {
    color: var(--e-global-color-accent) !important
}

.color-fff {
    color: var(--color-fff) !important
}

.bg-color-primary {
    background-color: var(--e-global-color-primary) !important
}

.bg-color-secondary {
    background-color: var(--e-global-color-secondary) !important
}

.bg-color-text {
    background-color: var(--e-global-color-text) !important
}

.bg-color-accent {
    background-color: var(--e-global-color-accent) !important
}

.bg-color-fff {
    background-color: var(--color-fff) !important
}

.bg-color-f7 {
    background-color: var(--color-f7) !important
}

.text-primary {
    font-family: var(--e-global-typography-primary-font-family);
    font-size: var(--e-global-typography-primary-font-size);
    font-weight: var(--e-global-typography-primary-font-weight);
    line-height: var(--e-global-typography-primary-line-height);
    letter-spacing: var(--e-global-typography-primary-letter-spacing);
    word-spacing: var(--e-global-typography-text-word-spacing);

}

.text-secondary {
    font-family: var(--e-global-typography-secondary-font-family);
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    line-height: var(--e-global-typography-secondary-line-height);
    letter-spacing: var(--e-global-typography-secondary-letter-spacing);
    word-spacing: var(--e-global-typography-text-word-spacing);
}

.text-accent {
    font-family: var(--e-global-typography-accent-font-family);
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    line-height: var(--e-global-typography-accent-line-height);
    letter-spacing: var(--e-global-typography-accent-letter-spacing);
    word-spacing: var(--e-global-typography-text-word-spacing);
}

.text-normal {
    font-family: var(--e-global-typography-text-font-family);
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    letter-spacing: var(--e-global-typography-text-letter-spacing);
    word-spacing: var(--e-global-typography-text-word-spacing);
}


.text-tertiary {
    font-family: var(--e-global-typography-03ea8b1-font-family);
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    letter-spacing: var(--e-global-typography-text-letter-spacing);
    word-spacing: var(--e-global-typography-text-word-spacing);
}

/************************************************/
/*** # MAIN RULES *******************************/
/************************************************/
html {
	font-size: 18px; /*REM*/
}
body {
    font-family: 'Roboto', sans-serif;
	padding-top: var(--header-space);
}

e.con {overflow: hidden}

strong,
b,
.strong,
.bold {
    font-weight: bold
}

i,
em {
    font-style: italic
}

/* boostrap classes */
.d-none {
    display: none !important
}


.pt-10 {
    padding-top: 10px
}

.pt-20 {
    padding-top: 20px
}

.pb-10 {
    padding-bottom: 10px
}

.pb-20 {
    padding-bottom: 10px
}

.px-10 {
    padding: 10px
}

.px-20 {
    padding: 20px
}

.bold {
    font-weight: bold !important
}

.text-centered {
    text-align: center
}

.text-transform-none,
.text-transform-none * {
    text-transform: none !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.w-50 {
    width: 50%
}

.mw-200 {max-width: 200px !important}
.mw-320 {max-width: 320px !important}
.mw-440 {max-width: 440px !important}
.mw-600 {max-width: 600px !important}

.line_height_xl {line-height: 1.3em !important}

.boxed_section {
    max-width: var(--main-container-max-width);
    margin: 0 auto
}

.hide-overflow {
    overflow: hidden;
}

.boxed-col-left {
    padding-left: calc((100% - var(--main-container-max-width))/2) !important
}

.boxed-col-right {
    padding-right: calc((100% - var(--main-container-max-width))/2) !important
}


@media (max-width:767px) {
    .no-mobile {
        display: none
    }
}

.low-opacity {
    opacity: 0.16
}

/* POLICIES E COOKIE BANNER */
.policies ol {list-style:decimal}
.policies ul {list-style:disc}
.policies ol, .policies ul {margin-left: 40px}
.policies p { margin-bottom: 10px}
.policies a { color: var(—e-global-color-accent) }
.cky-consent-container *,
.cky-preference-center * {
font-family: var(--e-global-typography-text-font-family) !important;
}

.cookielawinfo-column-2 {display:none}


#content {overflow: hidden}

.hero_section {
	min-height: calc(100vh - var(--header-space)) !important
}

#back_to_top {display:none}
/****************************************************************************************/
/* # ideasfera CLASSES *******************************************************************/
/****************************************************************************************/

.ideasfera_list ul {list-style:disc; margin-left: 20px; margin-top: 10px}
.ideasfera_list ol {list-style:num; margin-left: 20px; margin-top: 10px}
.ideasfera_list ul li, .ideasfera_list ol li{margin-top: .3em}


.ideasfera_low_opacity .elementor-widget-container{opacity: .2}

/****************************************************************************************/
/* # CUSTOM PADDINGS ********************************************************************/
/* classi impostate tramite controllo iniettato nel widget 'container' di elementor     */
/****************************************************************************************/

/* default -> non inserisco regole */
.e-con.h_padding_default {}

.e-con.v_padding_default {}

.e-con.h_padding_medium {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-left: 5dvw;
    padding-right: 5dvw;
}

.e-con.h_padding_big {
    padding-left: 10vw;
    padding-right: 10vw;
    padding-left: 10dvw;
    padding-right: 10dvw;
}

.e-con.v_padding_medium {
    padding-top: 5vh;
    padding-bottom: 5vh;
    padding-top: 5dvh;
    padding-bottom: 5dvh;
}

.e-con.v_padding_big {
    padding-top: 10vh;
    padding-bottom: 10vh;
    padding-top: 10dvh;
    padding-bottom: 10dvh;
}

/* se non default, reset elementor padding */
.e-con.h_padding_none,
.e-con.h_padding_medium .e-con-inner,
.e-con.h_padding_big .e-con-inner,
.e-con.h_padding_none .e-con-inner {
    padding-left: 0px;
    padding-right: 0px;
}

.e-con.v_padding_none,
.e-con.v_padding_medium .e-con-inner,
.e-con.v_padding_big .e-con-inner,
.e-con.v_padding_none .e-con-inner {
    padding-top: 0px;
    padding-bottom: 0px;
}

@media (max-width:1140px) {
    .e-con.h_padding_medium {}

    .e-con.v_padding_big {
		padding-top: 6vh;
		padding-bottom: 6vh;
		padding-top: 6dvh;
		padding-bottom: 6dvh;
	}

    .e-con.v_padding_medium {}

    .e-con.v_padding_big {}
}


/************************************************/
/*** # HEADER ***********************************/
/************************************************/

#header {
	background-color: var(--color-black);
    position: fixed;
	top: 0px;
	width: 100%;
    padding: 5px 50px;
	transition: padding .3s ease;
	z-index: 10;
}

#header.scrolled {
	padding: 0px 20px;
}

#header a.elementor-item-active {font-weight:bold}

#header .menu-item:last-child a{color: var(--e-global-color-primary)}

@media (max-width: 767px) {
	#header { padding: 5px 20px}
	#header.scrolled { padding: 0px 10px}
}

#header .elementor-nav-menu--dropdown {
    box-shadow: 0px 0px 7px #0000001f
}

/* RIGHT ALIGN MOBILE MENU*/
@media (max-width: 1140px) {
.elementor-nav-menu a { justify-content: flex-end !important; text-align: right}
}


/************************************************/
/*** # FOOTER ***********************************/
/************************************************/








/************************************************/
/*** # CUSTOM ELEMENTOR ANIMATION CLASSES *******/
/************************************************/

.custom_fadeUp_anim {
    animation-name: custom_fadeUp_anim;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --delta-y: clamp(20px, 20%, 40px)
}

@keyframes custom_fadeUp_anim {
    0% {
        transform: translateY(var(--delta-y));
        opacity: 0
    }

    80% {
        opacity: 1
    }

    100% {
        transform: translateY(0%);
    }
}


.custom_slideUp_anim {
    overflow: hidden
}

.custom_slideUp_anim .elementor-widget-container {
    animation-name: custom_slideUp_anim;
    animation-duration: inherit;
    animation-delay: inherit;
}

@keyframes custom_slideUp_anim {
    0% {
        transform: translateY(100%);
    }

    100% {
        transform: translateY(0%)
    }
}


.custom_slideDown_anim {
    overflow: hidden
}

.custom_slideDown_anim .elementor-widget-container {
    animation-name: custom_slideDown_anim;
    animation-duration: inherit;
    animation-delay: inherit;
}

@keyframes custom_slideDown_anim {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0%)
    }
}

.custom_clipUp_anim {
    animation-name: custom_clipUp_anim
}

.custom_clipDown_anim {
    animation-name: custom_clipDown_anim
}

.custom_clipLeft_anim {
    animation-name: custom_clipLeft_anim
}

.custom_clipRight_anim {
    animation-name: custom_clipRight_anim
}

@keyframes custom_clipUp_anim {
    0% {
        clip-path: inset(100% 0 0 0);
    }

    100% {
        clip-path: inset(0 0 0 0);
    }
}

@keyframes custom_clipDown_anim {
    0% {
        clip-path: inset(0 0 100% 0);
    }

    100% {
        clip-path: inset(0 0 0 0);
    }
}

@keyframes custom_clipLeft_anim {
    0% {
        clip-path: inset(0 0 0 100%);
    }

    100% {
        clip-path: inset(0 0 0 0);
    }
}

@keyframes custom_clipRight_anim {
    0% {
        clip-path: inset(0 100% 0 0);
    }

    100% {
        clip-path: inset(0 0 0 0);
    }
}



.custom_blurIn_anim {
    animation-name: custom_blurIn_anim
}

@keyframes custom_blurIn_anim {
    0% {
        filter: blur(100px);
    }

    100% {
        filter: blur(0px);
    }
}

.custom_scaleIn_anim {
    animation-name: custom_scaleIn_anim;
	animation-timing-function: cubic-bezier(0.33,1.35,0.54,1.23)
}

@keyframes custom_scaleIn_anim {
    0% {
        transform:scale(0);
    }

    100% {
        transform:scale(1);
    }
}



/************************************/
/*** # HISTORY TIMELINE *************/
/************************************/
#history_timeline .twae-wrapper{
--tw-line-width: 2px !important;
--tw-ibx-size: 26px 
}

.twae-vertical.twae-wrapper .twae-end, .twae-vertical.twae-wrapper .twae-start {
    width: calc(var(--tw-line-width) * 5);
    height:calc(var(--tw-line-width) * 5);
    left: calc(50% - var(--tw-line-width) * 2.5);
}
#history_timeline .twae-wrapper .twae-icondot {
    border: 0px;

}
#history_timeline .twae-vertical.twae-wrapper .twae-timeline:before,
#history_timeline .twae-vertical.twae-wrapper .twae-start:after{
    opacity: .3
}

#history_timeline .twae-content {
    padding:40px;
}

#history_timeline .twae-title {
    font-weight: bold
}
#history_timeline .twae-description {
    font-weight: 300
}


#history_timeline .twae-wrapper .twae-content,
#history_timeline .twae-arrow{
    border-radius:0px !important;
    box-shadow: none
}


#history_timeline .twae-story-left .twae-arrow,
#history_timeline .twae-story-left .twae-content {
    margin-right:80px;
}
#history_timeline .twae-story-right .twae-arrow,
#history_timeline .twae-story-right .twae-content {
    margin-left:80px;
}

#history_timeline .twae-story-left .twae-icondot::before,
#history_timeline .twae-story-right .twae-icondot::before{
    content: "";
    width: 300px;
    height: 1px;
    background: var(--e-global-color-primary);
    position: absolute;
    top: 6px;
    left: -300px;
    opacity: 1;
}
#history_timeline .twae-story-right .twae-icondot::before{
    left: 0px;
}

#history_timeline .twae-media {
    order:10; padding-top:20px;
}


@media (max-width:1140px) {
	#history_timeline .twae-story-left .twae-arrow,
	#history_timeline .twae-story-left .twae-content {
		margin-right:20px;
	}
	#history_timeline .twae-story-right .twae-arrow,
	#history_timeline .twae-story-right .twae-content {
		margin-left:20px;
	}
	#history_timeline .twae-content {
		padding:20px;
	}
}

@media (max-width:767px) {
	#history_timeline .twae-story-left .twae-arrow,
	#history_timeline .twae-story-left .twae-content {
		margin-right:0px;
	}
	#history_timeline .twae-story-right .twae-arrow,
	#history_timeline .twae-story-right .twae-content {
		margin-left:0px;
	}
	#history_timeline .twae-content {
		padding:20px;
	}
	#history_timeline .twae-story-left .twae-icondot::before{
		left: 0px;
	}

	#history_timeline .twae-start,
	#history_timeline .twae-end{
		left:8px;
	}
}


/************************************/
/*** # ILOYALTY ACCORDION ***********/
/************************************/
#iLoyalty_accordion .elementor-toggle-title {
    font-size: var(--e-global-typography-text-font-size) !important
}
#iLoyalty_accordion .accordion_subtitle {
    font-weight: normal;
}

#iLoyalty_accordion ul {
    list-style: disk;
	margin-left: 20px;
}


/************************************/
/*** # HIDE SCROLL BAR **************/
/************************************/

/* Hide scrollbar */
body::-webkit-scrollbar {
    display: none
}

/* Hide scrollbar for IE, Edge and Firefox */
body {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

body {
    overscroll-behavior-y: none
}





/* COOKIE BANNER */
#cookie-notice {
	background: #fff !important;
	box-shadow: 0px 0px 3px 0px #a2a2a2;
}
#cookie-notice .cookie-notice-container {
	color: #000 !important;
}
#cookie-notice #cn-notice-text a{
	color: var(--e-global-color-primary) !important;
	text-decoration: underline !important;
}
#cookie-notice .cookie-notice-container a#cn-accept-cookie {
	color: #fff !important;
	background-color: var(--e-global-color-primary) !important;
}
#cn-close-notice { display: none !important}