html {
	color: #4D4D4D;
	font-size: 16px;
	line-height: 1.6;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

::-ms-clear {
	display: none;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

img {
	max-width: 100%;
}

sub, sup {
    font-size: 0.6em;
}

.elementor-widget-image .elementor-image>a img[src$=".svg"], 
.elementor-widget-image .elementor-image figure>a img[src$=".svg"]{
	width: auto !important;
}

.elementor-widget-image a img[src$=".svg"] {
    width: auto !important;
}

body p,
.elementor-widget-container,
.elementor-image-box-description {
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
	font-weight: inherit;
}

.elementor-text-editor p {
	font-size: inherit;
	font-family: inherit;
	color: inherit;
	line-height: inherit;
	font-weight: inherit;
	text-transform: inherit;
}

.elementor a,
a {
	font-family: inherit;
	font-weight: inherit;
	text-decoration: underline;
	color: inherit;
	font-size: inherit;
	transition: all 0.3s;
}

.elementor ol li > a:not(.elementor-button),
.elementor ul li > a:not(.elementor-button),
.elementor p a {
  font-weight: 600;
  text-decoration: underline;
}

.elementor ol li > a:not(.elementor-button):hover,
.elementor ul li > a:not(.elementor-button):hover,
.elementor a:hover,
a:hover {
  text-decoration: none;
  color: var(--generous-blue);
}

.elementor p a {
	font-weight: 600;
	text-decoration: underline;
}
a[href*="tel"]{
    display: inline-block
}
.elementor a:hover,
a:hover {
	text-decoration: none;
	color: inherit;
}

body a,
body p a {
	color: inherit;
	text-decoration: underline;
	font-weight: 700;
}

body a,
body p a:hover {
	color: inherit;
	text-decoration: none;
}

/* / =----------------------------UL/OL---------------------------- / */

.site-main ul:not([class]) {
	font-size: inherit;
	list-style: none;
}

.site-main ol {
	list-style: decimal outside;
	font-size: inherit;
	padding-left: 16px;
	margin-bottom: 24px !important;
}

body .site-main ul:not([class]) li,
body .site-main ul:not([class]) li ol li ul:not([class]) li {
	font-size: 16px;
    line-height: 1.55;
    font-family: inherit;
    font-weight: 400;
    color: inherit;
    margin-bottom: 0px;
    padding-left: 26px;
    position: relative;	
}

body .site-main ul:not([class]) li:last-child {
	margin-bottom: 0;
}

.site-main ol li,
.site-main ul:not([class]) li ol li {
	font-size: 16px;
    line-height: 1.55;
    font-family: inherit;
    font-weight: 400;
    color: inherit;
    margin-bottom: 0;
    padding-left: 1px;
    position: relative;
}

.site-main ol ol,
.site-main ul:not([class]) ul:not([class]),
.site-main ol ul:not([class]),
.site-main ul:not([class]) ol {
	margin-bottom: 0;
	margin-left: 0px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.site-main ul:not([class]):not(.elementor-editor-element-settings):not(.elementor-select-preset-list):not(.gform_fields) {
	margin-left: 0;
	padding-left: 0;
	margin-bottom: 15px;
}

.site-main ul:not([class]):not(.elementor-editor-element-settings):not(.elementor-select-preset-list):not(.gform_fields):not(.camps_and_programs) li:before,
.site-main ul:not([class]) li ol li ul:not([class]) li:after {
    content: "";
    display: inline-block;
    background-color: #435B47;
    position: absolute;
    left: 10px;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.site-main ol li::marker, 
.site-main ul:not([class]) li ol li::marker{
    font-weight: 600;
    color:#435B47
}

.site-main ul:not([class]) ol li::before {
	display: none !important;
}

/* / =----------------------------UL/OL---------------------------- / */

h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,html form .elementor-field-group{
    align-items: flex-start !important
}
html form .elementor-field-group .elementor-message{
    font-size: 12px
}
html form > .elementor-message{
    display: none
}
table:last-child,
blockquote:last-child {
	margin-bottom: 0;	
}
/* / --------Button style------------ / */
.elementor-button:after,
[type="button"]:after {
    content: "";
    width: 120px;
    display: block;
    max-width: 100%;
}
html body .custom_cart_wrapper .button,
html body .custom_cart_wrapper .coupon-col-end .button,
.single-product .woocommerce-notices-wrapper .button,
.home-slider .swiper-slide-inner .swiper-slide-contents .elementor-button,
body .elementor-widget-button [type="button"]:not(.gm-control-active),
body .elementor-widget-button [type="submit"]:not(.adminbar-button),
body .elementor-button,
body .elementor-size-xs,
body .elementor-small-button,
body .elementor-widget-button .elementor-button,
body .elementor-widget-button [type="button"]:not(.gm-control-active):focus,
body .elementor-widget-button [type="button"]:not(.gm-control-active),
body .elementor-widget-button [type="submit"]:not(.adminbar-button):focus,
body .elementor-widget-button button:not(.gm-control-active):focus,
body .elementor-widget-button button:not(.gm-control-active),
body .elementor-widget-button .elementor-cta .elementor-cta__button.elementor-button,
body .elementor-widget-button .elementor-kit-7 .elementor-button:focus,
body .elementor-widget-button .elementor-cta--skin-classic .elementor-cta__button.elementor-button,
body.elementor-page .elementor-widget-call-to-action .elementor-cta__button-wrapper .elementor-button,
body.elementor-page .elementor-cta--skin-classic .elementor-cta__button.elementor-button{
    font-weight: 800;
}
/* / ===== Multi Color Button ===== / */
body .white-button .elementor-button,
body .elementor-widget-button.white-button .elementor-button,
body .elementor-widget-button.white-button button:not(.gm-control-active),
body .elementor-widget-button.white-button button:not(.gm-control-active):focus,
body .elementor-widget-button.white-button [class*="elementor-kit"] .elementor-button,
body .elementor-widget-button.white-button [class*="elementor-kit"] .elementor-button:focus,
body .elementor-widget-button.white-button [type="button"]:not(.gm-control-active),
body .elementor-widget-button.white-button [type="button"]:not(.gm-control-active):focus,
body .elementor-widget-button.white-button [type="submit"]:not(.adminbar-button),
body .elementor-widget-button.white-button [type="submit"]:not(.adminbar-button):focus,
body .elementor-widget-button.white-button .elementor-cta .elementor-cta__button.elementor-button,
body .elementor-widget-button.white-button .elementor-cta--skin-classic .elementor-cta__button.elementor-button{
    background-color: white !important;
    color: #435B47;
    border-color: white;
}

body .white-button .elementor-button:hover,
body .elementor-widget-button.white-button .elementor-button:hover,
body .elementor-widget-button.white-button button:not(.gm-control-active):hover,
body .elementor-widget-button.white-button button:not(.gm-control-active):focus:hover,
body .elementor-widget-button.white-button [class*="elementor-kit"] .elementor-button:hover,
body .elementor-widget-button.white-button [class*="elementor-kit"] .elementor-button:focus:hover,
body .elementor-widget-button.white-button [type="button"]:not(.gm-control-active):hover,
body .elementor-widget-button.white-button [type="button"]:not(.gm-control-active):focus:hover,
body .elementor-widget-button.white-button [type="submit"]:not(.adminbar-button):hover,
body .elementor-widget-button.white-button [type="submit"]:not(.adminbar-button):focus:hover,
body .elementor-widget-button.white-button .elementor-cta .elementor-cta__button.elementor-button:hover,
body .elementor-widget-button.white-button .elementor-cta--skin-classic .elementor-cta__button.elementor-button:hover{
	background-color: #435B47 !important;
    border-color: white;
    color: white;
}


/* / ==================== Text Link ==================== / */
body .text-link .elementor-button,
body .text-link .elementor-button:focus,
body .text-link button:not(.gm-control-active),
body .text-link button:not(.gm-control-active):focus,
body .text-link [class*="elementor-kit"] .elementor-button,
body .text-link [class*="elementor-kit"] .elementor-button:focus,
body .text-link [type="submit"]:not(.adminbar-button),
body .text-link [type="submit"]:not(.adminbar-button):focus,
body .text-link [type="button"]:not(.gm-control-active),
body .text-link [type="button"]:not(.gm-control-active):focus,
body .text-link.elementor-cta--skin-classic .elementor-cta__button.elementor-button,
body .text-link.elementor-widget-call-to-action .elementor-cta__button-wrapper .elementor-cta__button {
	color: #435B47;
    background-color: transparent;
    font-size: 18px !important;
    line-height: 1;
    padding: 0;
    font-weight: 600 !important;
    border: none;
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
    text-align: left;
    border-radius: 0;
    -webkit-appearance: none;
    transition: all 0.3s;
    box-sizing: border-box;
    font-family: "Jost", sans-serif;
    max-width: 100%;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body .text-link .elementor-button span.last,
body .text-link.elementor-widget-call-to-action .elementor-cta__button-wrapper .elementor-cta__button span.last,
body .text-link.elementor-cta--skin-classic .elementor-cta__button.elementor-button span.last,
body .arrow-btn .elementor-button span.last{
	display: inline-block;
}

body .text-link .elementor-button span.last:after,
body .text-link.elementor-widget-call-to-action .elementor-cta__button-wrapper .elementor-cta__button span.last:after,
body .text-link.elementor-cta--skin-classic .elementor-cta__button.elementor-button span.last:after,
body .arrow-btn .elementor-button span.last::after {
	content: "";
    width: 13px !important;
    height: 11px;
    display: inline-block;
    background: url("/wp-content/uploads/2025/08/icon-vector.png") center center no-repeat;
    background-size: contain;
    margin-bottom: -1px;
    margin-left: 5px;
    transition: all 0.3s;
    transform: scale(-1)
}

body .text-link .elementor-button:hover,
body .text-link .elementor-button:focus:hover,
body .text-link button:not(.gm-control-active):hover,
body .text-link button:not(.gm-control-active):focus:hover,
body .text-link [class*="elementor-kit"] .elementor-button:hover,
body .text-link [class*="elementor-kit"] .elementor-button:focus:hover,
body .text-link [type="submit"]:not(.adminbar-button):hover,
body .text-link [type="submit"]:not(.adminbar-button):focus:hover,
body .text-link [type="button"]:not(.gm-control-active):hover,
body .text-link [type="button"]:not(.gm-control-active):focus:hover,
body .text-link.elementor-cta--skin-classic .elementor-cta__button.elementor-button:hover,
body .text-link.elementor-widget-call-to-action .elementor-cta__button-wrapper .elementor-cta__button:hover {
	background-color: transparent;
	color: #435B47;
	text-decoration: none;
	border: none;
}
/*Form Basic STyling*/
.footer_menu ul li a{
    max-width: max-content;
}
html form select,
html form textarea,
html form input:not([type="radio"]):not([type="checkbox"]){
    outline: none !important;
    box-shadow: none !important;
}
html form textarea{
    resize: none !important;
}
html form input:not([type="radio"]):not([type="checkbox"]){
    height: 57px;
    padding: 5px 15px !important
}
html form textarea{
    padding: 15px !important;
}
html form select::placeholder,
html form textarea::placeholder,
html form input:not([type="radio"]):not([type="checkbox"])::placeholder{
    opacity: 1 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}
html form .elementor-field-type-acceptance label{
    font-size: 12px;
    line-height: 1.1;
    font-weight: 500 !important;
}
html form .elementor-field-type-acceptance .elementor-field-option{
    display: flex;
    align-items: flex-start;
    gap: 8px
}
html form .elementor-field-type-radio,
html form .elementor-field-type-acceptance{
    margin-top: 10px;
}
html form .elementor-field-type-submit{
    display: flex;
    justify-content: flex-end;
    margin-top: 20px
}
html form .elementor-field-type-submit button{
   max-width: max-content;
}
html form .elementor-field-type-submit button::after{
   display: none
}
html form .elementor-field-label{
    display: none !important
}
html form .elementor-form-fields-wrapper .elementor-field-group{
    margin-bottom: 10px !important;
}
html form .elementor-field-group{
    align-items: flex-start !important
}
html form .elementor-field-group .elementor-message{
    font-size: 12px
}
html form > .elementor-message{
    display: none
}
/* Basic Style Guide End */
.contact_text a{
    text-decoration: none !important;
    font-weight: inherit !important
}
.contact_text a:hover{
    text-decoration: underline !important;
}
.container_max_width{
    max-width: var(--content-width)
}
.footer_copyright ul{
    overflow: hidden;
    gap: 5px 20px
}
.footer_copyright ul li{
    position: relative
}
.footer_copyright ul li::before{
    position: absolute;
    width: 2px;
    background: black;
    height: calc(100% - 8px);
    left: -10px;
    top: 4px;
    content: '';
}
.footer_copyright ul li a:hover .elementor-icon-list-text{
    color: #435B47 !important
}
/* header */
header{
    position: sticky;
    top: 0;
    z-index: 10000
}
body.active-header-sticky header {
    background-color: #fff !important;
    box-shadow: 5px 10px 26px rgb(0 0 0 / 7%);
}
.header-language-switcher .js-wpml-ls-item-toggle {
    background-color: transparent!important;
    color: white !important;
    border: 0;
    padding: 0;
    font-size: 13px;
    padding-right: 21px!important;
    text-decoration: none!important;
    font-weight: 400!important
}

.header-language-switcher .js-wpml-ls-sub-menu .wpml-ls-display,.header-language-switcher .wpml-ls-flag {
    display: none!important
}

html body.is-scroll header .header-language-switcher .js-wpml-ls-item-toggle {
    color: #000
}

.header-language-switcher .wpml-ls-statics-shortcode_actions {
    width: auto
}

.header-language-switcher .js-wpml-ls-sub-menu a {
    font-size: 12px;
    font-weight: 400;
    text-decoration: none!important
}

.header-language-switcher .js-wpml-ls-item-toggle:after {
    background-image: url('/wp-content/uploads/2025/08/chevron-down-light.svg');
    border: 0!important;
    width: 10px;
    height: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    right: 8px!important;
    top: 4px!important
}

.wpml-ls-legacy-dropdown-click .wpml-ls-flag+span{
    margin-left: 0;
}

.hero_slider .swiper-slide-contents{
    margin: 0 auto;
    width: 100%;
}
.hero_slider .swiper-slide-contents .elementor-button{
    cursor: pointer
}
.badge_overlay::before{
    max-width: 580px;
    left: calc(50% + 150px);
    max-height: 680px;
}

html form .elementor-form-fields-wrapper .elementor-field-group .elementor-button{
    padding: 10px 50px
}
html form .elementor-form-fields-wrapper .elementor-field-group .elementor-button:hover{
    color: #435B47 !important
}
.icon_box .elementor-icon-box-description,
.icon_box .elementor-icon-box-title{
    display: inline !important;
}

.download_btn .elementor-button{
    width: 100%;
}
.download_btn .elementor-button .elementor-button-content-wrapper{
    justify-content: space-between;
    align-items: center;
}
.download_btn .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
    width: 30px;
    height: 30px;
}
.download_btn .elementor-button .elementor-button-content-wrapper .elementor-button-icon svg{
    width: 100%;
    height: 100%;
}
.download_btn .elementor-button .elementor-button-content-wrapper .elementor-button-text{
	text-align: left;
}
body.page-id-88 .footer_contatti_section{
    display: none !important;
}
.elementor-kit-10 p:last-child{
    margin-bottom: 0 !important
}

.elementor-nav-menu--layout-horizontal .elementor-nav-menu>li>a::after{
    width: calc(100% - 16px);
    left: 50%;
    transform: translatex(-50%)
}


@media screen and (max-width:1250px) {
.badge_overlay::before{
    max-width: 580px;
    left: auto;
	right: 10px;
	opacity: 0.2 !important
}
}
@media screen and (min-width:1025px) {
	header .menu_open_btn,
    .mobile_menu_dropdown{
        display: none !important   
    }
	.torni_slider .swiper-pagination {
		display: none !important
	}
}
@media only screen and (max-width: 440px) {
	.footer_info_wrapper .footer_info_col{
		width: 100%
	}
	.footer_info_wrapper .footer_info_col2{
		margin-top: 30px
	}
}
@media only screen and (max-width: 1024px) {
	header .header_left_Col{
        display: none;
    }
    header .header_logo_Col{
        width: 60px;
    }
    header .header_right_Col{
        width: calc(100% - 60px);
    }
    header .right_menu{
        display: none !important
    }

    /*mobile dropdown start*/
    header .menu_open_btn .elementor-icon-wrapper{
        display: flex;
        width: 25px;
        height: 25px;
        cursor: pointer;
    }
    header .menu_open_btn .elementor-icon-wrapper .elementor-icon svg,
    header .menu_open_btn .elementor-icon-wrapper .elementor-icon{
        width: 100%;
        height: 100%
    }
    .mobile_menu_dropdown{
        position: fixed;
        top: 110px;
        left: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        z-index: 1;
        display: none
    }
    .mobile_menu_dropdown ul{
        list-style: none;
        padding: 0;
    }
    .mobile_menu_dropdown ul.menu > li a{
        text-decoration: none;
        padding: 8px 0;
        display: block;
        border-bottom: 3px solid transparent;
        max-width: max-content
    }
    .mobile_menu_dropdown ul.menu li.current-menu-parent > a,
    .mobile_menu_dropdown ul.menu li.current_page_item > a,
    .mobile_menu_dropdown ul.menu > li a:hover{
        color: #435B47 !important; 
    }
    body.mobile-menu-open .elementor-icon-wrapper .elementor-icon svg{
        opacity: 0
    }
    body.mobile-menu-open .elementor-icon-wrapper{
        background: url('/wp-content/uploads/2025/08/general_menu_close_icon.svg') no-repeat center / 20px;
    }
    body.mobile-menu-open .elementor-icon-wrapper .elementor-icon svg{
        opacity: 0
    }
    body.mobile-menu-open .elementor-icon-wrapper{
        background: url('/wp-content/uploads/2025/08/general_menu_close_icon.svg') no-repeat center / 20px;
    }
    
    .mobile_menu_dropdown ul.menu li ul{
        display: none;
        background: white;
        padding: 15px
    }
    .mobile_menu_dropdown ul.menu li{
        position: relative
    }
    .mobile_menu_dropdown ul.menu li .open-submenu-arrow{
        width: 20px;
        height: 20px;
        position: absolute;
        background: url('/wp-content/uploads/2025/08/arrow_drop.png') no-repeat center / contain;
        right: -1px;
        top: 5px;
        cursor: pointer;
        transition: all 0.3s;
    }
    .mobile_menu_dropdown ul.menu li.is-active .open-submenu-arrow{
        transform: rotate(180deg)
    }
    body.mobile-menu-open{
        overflow: hidden !important;
    }
	.torni_slider .elementor-swiper-button{
    	display:  none !important;
	}
	.torni_slider .swiper-pagination {
	   max-width: max-content;
	   left: 50% !important;
	   transform: translatex(-50%) !important 
	}
	.badge_overlay::before{
		background-size: contain !important;
        max-width: 350px;
	}
}
@media only screen and (min-width: 768px) {
	.icon_box .elementor-icon-box-icon{
		width: 70px;
		height: 70px;
		display: flex;
	}
	.icon_box .elementor-icon-box-icon .elementor-icon{
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.icon_box .elementor-icon-box-icon .elementor-icon svg{
		width: 80%;
		height: 80%;
	}
}
@media only screen and (min-width: 389px) {
	html form .elementor-form-fields-wrapper .elementor-field-group:nth-last-child(2){
   	 max-width: calc(100% - 150px) !important;
		padding-right:10px !important
	}
	html form .elementor-form-fields-wrapper .elementor-field-group:last-child{
		max-width: 150px !important;
		margin: 8px 0 0 0 !important
	}
}