/*

┏━━━┓ ┏┓ ┏┓ ┏━━━┓ ┏━━━━┓ ┏━━━┓ ┏━┓┏━┓   ┏━━━┓ ┏━━━┓ ┏━━━┓
┃┏━┓┃ ┃┃ ┃┃ ┃┏━┓┃ ┃┏┓┏┓┃ ┃┏━┓┃ ┃ ┗┛ ┃   ┃┏━┓┃ ┃┏━┓┃ ┃┏━┓┃
┃┃ ┗┛ ┃┃ ┃┃ ┃┗━━┓ ┗┛┃┃┗┛ ┃┃ ┃┃ ┃┏┓┏┓┃   ┃┃ ┗┛ ┃┗━━┓ ┃┗━━┓
┃┃ ┏┓ ┃┃ ┃┃ ┗━━┓┃   ┃┃   ┃┃ ┃┃ ┃┃┃┃┃┃   ┃┃ ┏┓ ┗━━┓┃ ┗━━┓┃
┃┗━┛┃ ┃┗━┛┃ ┃┗━┛┃   ┃┃   ┃┗━┛┃ ┃┃┃┃┃┃   ┃┗━┛┃ ┃┗━┛┃ ┃┗━┛┃
┗━━━┛ ┗━━━┛ ┗━━━┛   ┗┛   ┗━━━┛ ┗┛┗┛┗┛ ▀ ┗━━━┛ ┗━━━┛ ┗━━━┛ - "CUSTOM STYLESHEET"

DESIGN BY © LO STUDIO

CUSTOM.CSS STYLESHEET FOR => " Permax "

BASE (MOBILE) SIZE


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/


main { overflow: hidden; padding: 0 1rem; }

section { max-width: 1920px; width: 100%; margin: 0 auto; }

.filter_mesh { position: fixed; background-color: #e6ecf5; }
.filter_mesh div:not(.filter_overlay) {
    position: absolute; width: 68vw; height: 68vw;
    border-radius: 50%; filter: blur(2.5rem); opacity: .9; 
    background-color: #7a9ac9; background: radial-gradient(ellipse at center, rgba(122,154,201,1) 0%,rgba(242,245,250,0) 60%, rgba(255,255,255,0) 100%);
    animation: anim_1 8s cubic-bezier(0.42, 0, 0, 1) infinite alternate;
    will-change: transform;
}

.filter_mesh div:nth-of-type(1) { top: -10%; left: 35%; }
.filter_mesh div:nth-of-type(2) { top: 40%; left: -20%; animation-delay: 2s; }
.filter_mesh div:nth-of-type(3) { top: 50%; left: 70%; animation-delay: 5s; }
.filter_mesh .filter_overlay { background-color: rgb(var(--white-rgb) / 10%); }

@keyframes anim_1 {
    from { transform: scale(1); filter: blur(2.5rem); opacity: .9; }
    to { transform: scale(1.5); filter: blur(.5rem); opacity: 1; }
}






/* PARTICLES */
#particles-js { position: fixed; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 100%; height: 100%; overflow: hidden; z-index: 0; }
section .container, footer .container { z-index: 2; }





/**
 *
 *  ▐▌ ▐▌  ▄▀▀▄  █▀▀▄  ▄▀▀
 *   ▀▄▀   █▀▀█  █▐█▀   ▀▄
 *    ▀    ▀  ▀  ▀ ▀▀  ▀▀  - VARS
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */

.sec_white :where(h1, h2, h3, h4, p, p a, li, li a) { color: var(--white); }


.color_blue { color: var(--blue); }
.color_white { color: var(--white); }

.bkg_white { background-color: var(--white); }
.bkg_grey { background: linear-gradient(128deg, #F0F0F0, #e1e1e1); }
.bkg_blue { background: linear-gradient(#6C7A85, #363D43); }



.s1 .h40 { min-height: 40vh; height: auto; }




/**
 *
 *  █  █  █▀▀  ▄▀▀▄  █▀▀▄  █▀▀  █▀▀▄
 *  █▀▀█  █▀▀  █▀▀█  █  █  █▀▀  █▐█▀
 *  ▀  ▀  ▀▀▀  ▀  ▀  ▀▀▀   ▀▀▀  ▀ ▀▀ - HEADER
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


header { z-index: 4; }
.head_wrapper { padding: 1.25em 2.5%; z-index: 2; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ LOGO ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.head_logo { 
	display: inline-block; 
	--head-logo-width: 210px; /* <- in 'px' */
	--head-logo-min: 210;
	--head-logo-max: 350;
	max-width: 350px;
}
.head_logo img, .foot_logo img, .head_logo svg, .foot_logo svg { width: 100%; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ HEAD CONTENT ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.menu_ex_desk { display: none; }


/*.search_btn { width: 2.5rem; height: 2.5rem; border: 1px solid var(--blue); border-radius: 50%; margin-right: 0.5rem; transition: .1s ease; }
.search_btn span { display: none; }
.search_btn:active { background-color: rgb(var(--white-rgb) / 50%); transform: scale(.95); }*/

.search_btn { border: 1px solid var(--white); background-color: var(--white); padding: 0.5rem 1rem; border-radius: 3rem; display: flex; align-items: center; justify-content: flex-start; }
.search_btn span { display: inline-block; color: var(--blue); font-weight: 450; font-size: 1.125rem; margin-left: .5rem; }
.search_btn img { width: 1.125rem; height: auto; }





.search_poppup { display: none; position: fixed; top: 0; left: 0; z-index: 4; backdrop-filter: blur(10px); }
.search_poppup .filter { background-color: rgb(var(--blue-rgb) / 10%); }
.search_poppup .close {
    position: absolute; top: 1rem; right: 1.5rem;
    color: var(--blue); font-size: 2rem; font-family: var(--main-font); line-height: 1;
    background-color: var(--white); border-radius: 50%; width: 3rem; height: 3rem;
}
.search_poppup .close:active { transform: scale(.95); }



#search_form { position: absolute; left: calc(50% - 15rem); top: 6rem; max-width: 90%; width: 30rem; }
#search_form .searchInput { border-radius: 2rem; overflow: hidden; }

#search_form input { height: auto; width: 100%; border: none; padding: 1rem; font-size: 1rem; box-shadow: 0px 1px 5px rgb(0 0 0 / 10%); }
#search_form .icon { position: absolute; right: 0.5rem; top: 50%; transform: translateY(-50%); height: 1.25rem; width: 1.25rem; cursor: pointer; }

#search_form .resultBox { max-height: 60vh; overflow-y: scroll; margin-top: .125rem; background-color: var(--white); }
#search_form .resultBox li { list-style: none; width: 100%; border-bottom: 1px solid #f0f0f0; }
#search_form .resultBox li a { display: flex; align-items: center; justify-content: flex-start; }

#search_form .img_wrp { display: block; width: 40%; height: 10rem; }
#search_form .img_wrp img { width: 100%; height: 100%; object-fit: cover; }

#search_form .text_wrp { padding-left: .5rem; padding-right: .5rem; display: block; width: 60%; font-size: .85rem; line-height: 1.3; font-weight: 500; }


#search_form .resultBox li a:hover { color: var(--blue); }






/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ HAMBURGER / MENU ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.hamburger_btn { 
	display: inline-block;
	font-size: var(--rem); line-height: 0;
	padding: .75em .5em; margin-right: -.5em;
}

/* Included style from "hamburger.css" */
.hamburger { display: inline-block; width: 3.5em; height: 1em; transition: .15s linear; }
.top_bun, .bottom_bun {
	display: block; position: absolute;
	width: 3.5em; height: 3px;
	background-color: var(--blue);
	transition: .15s ease;
}
.top_bun { top: 0; }
.bottom_bun { bottom: 0; }

.hamburger span { transition-duration: 0s; }

/* Tapped / Clicked */
.tapped .hamburger span { transition-property: none; transform-origin: center; width: 2.5em; background-color: var(--white); box-shadow: 0 0 0.5rem rgb(var(--black-rgb) / 40%); }
.tapped .hamburger .burger { opacity: 0; }
.tapped .hamburger .top_bun { top: 50%; left: 50%; transform-origin: center; transform: translate(-50%,-50%) rotate(45deg); }
.tapped .hamburger .bottom_bun { top: 50%; left: 50%; transform-origin: center; transform: translate(-50%,-50%) rotate(-45deg); }



 
/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ NAV MENU ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.main_nav { display: none;  position: absolute; top: 0; left: 0; z-index: 1; }
.menu_wrapper { background-color: var(--mesh); padding-top: calc( 80px + ( 145 - 80 ) * ( (100vw - 320px) / 1600 ) ); }
.molecole_menu { position: absolute; top: 0; right: 0; height: 100%; transform: translate(27%, -37%); }


.head_menu a { display: inline-block; font-size: 1.75em; line-height: 1; padding: 0.25em; color: var(--blue); font-weight: 450; }
.head_menu li:hover a, .head_menu li:active a, .head_menu li:focus a { font-weight: 600; }


.box_menu { padding: .25rem .5rem; }
.box_menu a { border-radius: 1rem; padding: 1.5rem 1rem; height: 100%; }
.box_menu p { font-size: 1.85rem; line-height: 1.1; font-weight: 450; }
.box_menu img { height: 70%; width: auto; position: absolute; right: 0; bottom: 0; }
.box_menu button { font-size: .9rem; margin-top: 1.5rem; }

.box_stru { margin-top: 1rem; }
.box_stru a { background-color: var(--white); }
.box_stru p { color: var(--blue); }

.box_cons a { background-color: var(--blue); }
.box_cons p { color: var(--white); }



.box_menu a:hover { transform: scale(.95); }





/**
 *
 *  ▄▀▀▄  ▄▀▀  ▄▀▀  █▀▀  ▀▀█▀▀  ▄▀▀
 *  █▀▀█   ▀▄   ▀▄  █▀▀    █     ▀▄
 *  ▀  ▀  ▀▀   ▀▀   ▀▀▀    ▀    ▀▀  - ASSETS
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */



.double_link { margin-right: 0.75rem; }
.double_link .link:nth-of-type(2), .double_link .btn:nth-of-type(2) { margin-top: 1rem; }

.double_link span { display: none; }

.card_anteprima .btn { margin-top: 1rem; }


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ BUTTONS STYLE ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.btn {
    display: inline-block; position: relative;
    padding: 0.75em 1.5em; border: 1px solid var(--blue); border-radius: 5rem; background-color: transparent;
    color: var(--blue); font-weight: 550; font-size: var(--rem); text-transform: uppercase;
}
.btn:hover { background-color: rgb(var(--blue-rgb) / 100%); color: var(--white); box-shadow: -.25rem .5rem 1rem rgb(var(--black-rgb) / 40%); }

.btn_gradient { background: linear-gradient(to right, var(--blue), var(--purple)); background-size: 100%; color: var(--white); border: 0; padding: calc(0.75em + 2px) 1.5em; }
.btn_gradient:hover { background-size: 200%; }

.btn_white { border-color: var(--white); color: var(--white); }
.btn_white:hover { background-color: var(--white); color: var(--blue); }


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ LINKS STYLE ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

a.link {
    display: inline-block; position: relative;
    padding: 0.75em 1.5em; border: 1px solid var(--blue); border-radius: 5rem; background-color: transparent;
    color: var(--blue); font-weight: 550; font-size: var(--rem); text-transform: uppercase;
}
a.link:hover { background-color: rgb(var(--blue-rgb) / 100%); color: var(--white); box-shadow: -.25rem .5rem 1rem rgb(var(--black-rgb) / 40%); }

a.link_gradient { background: linear-gradient(to right, var(--blue), var(--purple)); background-size: 100%; color: var(--white); border: 0; padding: calc(0.75em + 2px) 1.5em; }
a.link_gradient:hover { background-size: 200%; }

a.link_white { border-color: var(--white); color: var(--white); }
a.link_white:hover { background-color: var(--white); color: var(--blue); }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ FILTERS STYLE ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.filter_gray { background: linear-gradient(#F0F0F0, #C9C9C9); }

.filter_tb_white { background: linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(255,255,255,0) 100%); width: 140%; left: -20%; }
.filter_bt_white { background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 100%); }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ CONTENT FORMAT ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.text li { list-style-position: outside; margin: .15rem 0; margin-left: 1.5rem; }
.text li a { display: inline-block; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SWIPER NAV ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.nav_btn { width: 3em; top: 50%; transform: translateY(-50%); z-index: 1; }
.nav_prev { left: 2.5%; }
.nav_next { right: 2.5%; }
.nav_btn :where(img, svg) { width: 100%; }

.nav_btn.swiper-button-disabled { display: none; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ BREADCRUMBS ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.breadcrumb { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5em; }
.breadcrumb, .breadcrumb a, .breadcrumb span { color: var(--white); }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SCROLL BUTTON ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.scroll {
	display: inline-block;
	position: absolute; left: 50%; bottom: 0; 
	--scroll-px: 40px;
	--scroll-min: 40;
	--scroll-max: 60;
	max-width: 60px;
	transform: translateX(-50%);
	cursor: pointer; z-index: 1;
}
.scroll svg { 
	width: 100%; 
	animation: hang_scroll 1.5s ease-in-out infinite forwards alternate;
	animation-play-state: running;
}
@keyframes hang_scroll {
	0% { transform: translateY(.5em); }
	50% { transform: translateY(0); }
	100% { transform: translateY(.5em); }
}
.scroll:hover svg, .scroll:focus svg, .scroll:active svg { animation-play-state: paused; }
.scroll svg .scroll-path { fill: var(--black); }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ COMPONENTS ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ CARD ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.card a { padding: 1rem; transition: .25s ease; }

.card .sized { border: 1px solid #D6D6D6; }
.card .sized img { object-fit: contain; }

.card .promo { position: absolute; top: 0; left: 0; background-color: var(--blue); padding: .25rem .5rem; text-transform: uppercase; color: var(--white); font-weight: 550; }

/*.card .term { text-transform: uppercase; font-size: .9rem; padding: 0.25rem 1rem; border: 1px solid var(--grey); border-radius: 10rem; display: inline-block; margin-top: 1.5rem; }*/
.card .term { text-transform: uppercase; font-size: .9rem; color: var(--white); padding: 0.25rem 1rem; background: linear-gradient(to right, var(--blue), var(--purple)); background-size: 100%; border-radius: 10rem; display: inline-block; margin-top: 1.5rem; }
.card h2 { font-size: 1.5rem; color: var(--blue); font-weight: 600; line-height: 1.2; margin-top: 1.5rem; }


.card a:hover { transform: scale(1.025); box-shadow: 0 0 1rem rgb(var(--black-rgb) / 15%); border-radius: 0 0 1rem 1rem; }
.card a:focus { outline: none; }


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ CARD EMPTY ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SIDEBAR ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.sticky { top: 1.5rem; /* Il valore Top è indispensabile ed è l'Offset dal top dello schermo se impostato */ }



.toggle_accordion { width: 1rem; height: auto; }
.active .toggle_accordion { transform: scaleY(-1); }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ [...] ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/


/* Stile delle righe */ 
.text_anim h1 { opacity: 0; }

.sec_white .active .split-parent::after { background-color: var(--white); }
.sec_white .text_anim .split-parent:nth-of-type(2)::after, .sec_white .text_anim .split-parent:nth-of-type(4)::after { background-color: var(--white); }


.text_anim .split-parent { width: fit-content; }
.text_anim.tac .split-parent { margin: 0 auto; }

.text_anim .split-child { opacity: 0; }
.text_anim .split-child { position: relative; will-change: clip-path; }


.active.text_anim .split-child { 
    animation: text_opacity .95s forwards; animation-delay: var(--td);
    opacity: 0; 
}
.active .split-parent::after {
    content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 90%; background-color: var(--blue); 
    animation: text_revealer 1s; animation-delay: var(--td); transform: scaleX(0); transform-origin: 0 50%; will-change: transform;
}



/* Esempio di cambio colore della terza e quarta riga */
.text_anim .split-parent:nth-of-type(2)::after, .text_anim .split-parent:nth-of-type(4)::after { background-color: var(--purple); }




@keyframes text_opacity {
    0% { opacity: 0; }
    55% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes text_revealer {
    0%, 54% { transform-origin: 0 50%; }
    55%, 100% { transform-origin: 100% 50%; }
    55% { transform: scaleX(1); }
    100% { transform: scaleX(0); }
}



/**
 *
 *  █▀▀  ▄▀▀▄  ▄▀▀▄  ▀▀█▀▀  █▀▀  █▀▀▄
 *  █▀▀  █  █  █  █    █    █▀▀  █▐█▀
 *  ▀     ▀▀    ▀▀     ▀    ▀▀▀  ▀ ▀▀ - FOOTER
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ FOOTER CONTENT ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.foot_logo { display: block; width: 100%; }

.foot_block_wrapper { margin-top: 10%; }
.foot_block p { color: var(--blue); margin: .25rem 0; font-weight: 450; }
.foot_block p a { display: inline-block; }
.foot_block p a:hover { opacity: .5; transform: scale(.95); }


.wrapper_foot { margin-top: 10%; }
.foot_newsletter h3 { font-size: 2rem; }
.foot_newsletter p { font-weight: 450; margin: 1rem 0 1rem 0; color: var(--blue); }

/*
#form_newsletter .wpforms-field-email input { padding: 1em; height: auto; background-color: transparent; border: 1px solid var(--blue); border-radius: 5rem; font-size: 1rem; line-height: 1.3; }
#form_newsletter .wpforms-field-email input::placeholder { font-size: 1rem; }
#form_newsletter .wpforms-field-checkbox li { display: flex; align-items: center; justify-content: flex-start; }
#form_newsletter .wpforms-field-checkbox label a { display: inline-block; }
#form_newsletter .wpforms-field-checkbox input { -webkit-appearance: none; border: 1px solid var(--grey); width: 1.25em; height: 1.25em; background-color: transparent; }
#form_newsletter .wpforms-field-checkbox input:checked { background: url(../../../../../../../../../themes/foundation/library/images/svg/checked.svg) no-repeat center; background-size: 1em; }
#form_newsletter .wpforms-submit {
    display: inline-block; position: relative;
    padding: 0.75em 1.5em; background: linear-gradient(to right, var(--blue), var(--purple)); border: 0; background-size: 100%; border-radius: 5rem; background-color: transparent;
    color: var(--white); font-weight: 550; font-size: var(--rem); text-transform: uppercase; 
}
#form_newsletter .wpforms-submit:hover { background-size: 200%; box-shadow: -.25rem .5rem 1rem rgb(var(--black-rgb) / 40%); }
*/


#form_newsletter form.mailpoet_form { padding: 0 !important; }
#form_newsletter .input_email input { padding: 1em !important; height: auto; background-color: transparent; border: 1px solid var(--blue); border-radius: 5rem; font-size: 1rem; line-height: 1.3; }
#form_newsletter .input_email input::placeholder { font-size: 1rem; }

#form_newsletter .input_privacy .mailpoet_checkbox_label { display: flex; align-items: center; justify-content: flex-start; }
#form_newsletter .input_privacy .mailpoet_checkbox_label a { display: inline-block; }
#form_newsletter .input_privacy input { -webkit-appearance: none; border: 1px solid var(--grey); width: 1.5em; height: 1.5em; background-color: transparent; margin-right: .5rem; }
#form_newsletter .input_privacy input:checked { background: var(--wpr-bg-4e69b697-a286-4cd0-8143-2118ed051046) no-repeat center; background-size: 1em; }

#form_newsletter .mailpoet_submit {
    display: inline-block; position: relative;
    padding: 0.75em 1.5em !important; background: linear-gradient(to right, var(--blue), var(--purple)); border: 0; background-size: 100%; border-radius: 5rem; background-color: transparent;
    color: var(--white); font-weight: 550; font-size: var(--rem); text-transform: uppercase; 
}
#form_newsletter .mailpoet_submit:hover { background-size: 200%; box-shadow: -.25rem .5rem 1rem rgb(var(--black-rgb) / 40%); }








/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ CREDITS ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.credits {
	font-size: .825em; line-height: 1.5;
	margin: 0 auto; text-align: center;
	color: var(--blue); z-index: 1;
}
.credits .resp_sep { display: none; }
.credits a { display: inline-block; color: inherit; font-size: 1em; }
.credits a:active, .credits a:focus { opacity: 1; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ BACK TO TOP ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.back_top {
	display: none; 
	position: fixed; bottom: .5em; right: .5em;
	padding: .25em;
	--back-top-px: 40px;
	--back-top-min: 40;
	--back-top-max: 60;
	max-width: 60px;
	z-index: 2;
}
.back_top img { width: 100%; }








/**
 *
 *  █  █  ▄▀▀▄  █▄ ▄█  █▀▀
 *  █▀▀█  █  █  █ █ █  █▀▀
 *  ▀  ▀   ▀▀   ▀   ▀  ▀▀▀ - HOMEPAGE
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */

.sec_radius { border-radius: 2rem 2rem 0 0; box-shadow: 0 -0.8rem 0.9rem rgb(var(--black-rgb) / 5%); padding-bottom: 2.5rem; margin-bottom: -3.5rem; }
.sec_radius:last-of-type { padding-bottom: 0; margin-bottom: 0; border-radius: 2rem; }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 1 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.s1_title p { margin-top: 1rem; font-size: 1rem; line-height: 1.2; color: var(--blue); }


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 2 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.card_anteprima { background: linear-gradient(var(--grey_gradient)); border-radius: 1rem; }
.card_anteprima_i { padding: 1.5rem; min-height: 21rem; }
.card_anteprima h3 { color: var(--blue); }
.card_anteprima .text p { margin-top: .75rem; }

.card_anteprima .img_slider { height: 15rem; }
.card_anteprima .img_slider img { width: 100%; height: 100%; object-fit: contain; max-width: unset; }



.main_slider .swiper_dots { position: relative; bottom: 0; margin-top: 1.5rem; }
.main_slider .swiper_dots span { width: 12px; height: 12px; background-color: transparent; border: 1px solid var(--grey); opacity: 1; }
.main_slider .swiper_dots span.swiper-pagination-bullet-active { background: linear-gradient(to right, var(--blue), var(--purple)); }




.main_slider { padding: 0 1rem; }






/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 3 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.box_pdf { padding: .25rem; }
.box_pdf a { border-radius: 1.5rem; height: 100%; overflow: clip; }
.box_pdf:nth-of-type(1) a { background: linear-gradient(#366287, #103657); }
.box_pdf:nth-of-type(2) a { background-color: #284053; }
.box_pdf:nth-of-type(3) a { background: linear-gradient(#6C7A85, #283540); }
.box_pdf:nth-of-type(4) a { background: linear-gradient(#A1B3BF, #748691); }

.box_pdf p { text-transform: uppercase; font-size: 2rem; color: var(--white); font-weight: 600; line-height: 1.1; padding: 1.25rem 1.25rem 0 1.25rem; }
.box_pdf img { width: 4rem; height: 4rem; object-position: bottom; object-fit: contain; margin: 1rem 0; }
.box_pdf hr { background-color: rgb(var(--white-rgb) / 25%); }
.box_pdf button { text-transform: uppercase; font-size: 1.2rem; color: var(--white); font-family: var(--main-font); font-weight: 400; padding: 1rem; width: 100%; }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 4 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.swiper-ev .card a { background-color: var(--white); border-radius: 2rem; padding: 1.5rem; }
.swiper-ev .card .term { display: none; }
.swiper-ev .card h2 { font-size: 1rem; margin-top: 1rem; line-height: 1.3; }



#s4_home .nav_dots { transform: translateX(0); }
#s4_home .swiper-pagination-bullet { background-color: var(--white); width: 10px; height: 10px; margin: 5px; }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 5 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/





/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 6 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/


.play_video { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 8rem; border-radius: 50%; transition: .125s ease-in; }
.play_video:hover { background-color: rgb(var(--blue-rgb) / 75%); transform: translate(-50%,-50%) scale(.9); }








/**
 *
 *  █▀▀▄  ▄▀▀▄  ▄▀▀▀   █▀▀  ▄▀▀
 *  █  █  █▀▀█  █  ▀▌  █▀▀   ▀▄
 *  █▀▀   ▀  ▀   ▀▀▀   ▀▀▀  ▀▀  - TEMPLATES _ PAGINE
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


.s1 .container { padding-top: calc( 80px + ( 145 - 80 ) * ( (100vw - 320px) / 1600 ) ); }
.s1_bb .s1_title { border-bottom: 1px solid var(--blue); margin-bottom: 2.5%; padding-bottom: 2.5%; }


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ TEMPLATE AZIENDA ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.settori_icon { max-width: 50%; padding: 1rem; }
.settori_icon img { height: 3.5rem; margin-bottom: 1rem; }
.settori_icon p { color: var(--grey); font-weight: 450; line-height: 1.2; font-size: .9rem; }





/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ TEMPLATE CONTATTI ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.text_cont p { color: var(--blue); margin: .25rem 0; font-weight: 450; font-size: 1.2rem; }
.text_cont p a { display: inline-block; font-size: 100%; }
.text_cont p a:hover { opacity: .5; transform: scale(.95); }


.sec_form .text h2 { font-size: calc(var(--h2-size) * .9); }
.sec_form .text p { font-size: 1.4rem; line-height: 1.2; }
.sec_form .text p a { font-size: 100%; }
.sec_form .text p a:hover { color: var(--white); opacity: .5; }




/**
 *
 *  ▄▀▀▄  █▀▀▄  ▄▀▀▀  █  █  ▀  ▐▌ ▐▌  █▀▀
 *  █▀▀█  █▐█▀  █     █▀▀█  █   ▀▄▀   █▀▀
 *  ▀  ▀  ▀ ▀▀   ▀▀▀  ▀  ▀  ▀    ▀    ▀▀▀ - TEMPLATES _ ARCHIVIO
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ TAX ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/
 
.product_wrapper_tax { display: grid; grid-template-columns: 1fr 1fr; grid-gap: .5rem; }


.s1_title ol { margin-bottom: 1.5rem; }

a.tag_bc { text-transform: uppercase; font-size: .9rem; padding: 0.25rem 1rem; border: 1px solid var(--blue); border-radius: 10rem; display: inline-block; color: var(--blue); font-weight: 600; }
a.tag_bc:hover { background-color: rgb(var(--blue-rgb) / 15%); }


.desc_cat h2 { font-size: 2rem; }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 2 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

/*.card_tax { width: 50%; }*/
/*.card_tax a { padding: .5rem; }*/
.card_tax .term { font-size: .7rem; margin-bottom: .5rem; }









.pagination { position: relative; }
.pagination ul { padding: 0 1rem; position: relative; }
.pagination li .next, .pagination .prev { display: none; }
.pagination li { border: 0; }

.pagination a, .pagination span {
    width: 2.5rem; height: 2.5rem; padding: 0; display: flex; align-items: center; justify-content: center;
    color: var(--grey); border: 1px solid var(--grey); border-radius: 50%; transition: .2s ease; margin-right: .5rem; 
}
.pagination .current { cursor: default; color: var(--white); font-weight: 700; background: linear-gradient(var(--gradient)); border-color: transparent; }

.pagination .current:hover { background: linear-gradient(var(--gradient)); color: var(--white); opacity: .5; }
.pagination a:hover, .pagination .dots:hover,
.pagination a:focus, .pagination .dots:focus { background-color: transparent; color: var(--black); }


.pagination .nav-links { display: flex; align-items: center; justify-content: flex-start; padding: 0 1rem; position: relative; margin: 0; }
.pagination .next.page-numbers { display: none; }












/* Filtro */
.sidebar_archive { padding: 2.5%; margin-bottom: 2rem; background-color: #FCFCFC; }


/*.filtro_tipologia { position: sticky; bottom: 2.5vh; border-radius: 2rem; box-shadow: 0 0 1rem rgb(var(--black-rgb) / 25%); background-color: var(--white); cursor: pointer; }*/
.filtro_tipologia p { font-size: 1.25rem; text-transform: uppercase; font-weight: 500; padding: .5rem 0; padding-left: 2rem; }
.filtro_tipologia li a { padding: .5rem; font-weight: 500; color: var(--grey); }
.filtro_tipologia li a:hover { color: var(--blue); transform: translateX(.5rem); }

.lista_tipologie li { position: relative; list-style: none; /*border-top: 1px solid #ccc;*/ }


.lista_tipologie li::after {
	content: ""; width: 100vw; height: 1px; background-color: #ccc;
	position: absolute; top: 0; right: 0;
}
.lista_tipologie .parent_term:first-of-type::after { display: none; }


.lista_tipologie li a::before { content: "- "; }
.lista_tipologie > ul > li > a::before { content: ""; }
.lista_tipologie li > ul { margin-left: 1em }






.lista_tipologie .parent_term a { padding: 1rem; min-width: calc(100% - 2rem); }
.lista_tipologie .parent_term:first-of-type { border-top: 0; }
.lista_tipologie .parent_term button { width: 1.5rem; cursor: pointer; }
.lista_tipologie .parent_term svg path { fill: var(--grey); transition: .2s ease; }
.lista_tipologie .parent_term button:hover path { fill: var(--blue); }
.lista_tipologie .parent_term path.minus { display: none; }
.lista_tipologie .parent_term .active path.plus { display: none; }
.lista_tipologie .parent_term .active path.minus { display: block; }

.sub_tipologie { display: none; }
.sub_tipologie .child_term { padding: 0.5rem 3rem; border-top: 1px solid #f0f0f0; }


/*
.lista_tipologie .accordion_text { padding-bottom: 1rem; display: block; }
.lista_tipologie li.child_term { border: 0; }
.lista_tipologie li.child_term a { padding: .25rem; padding-left: 1.25rem; }
*/



.box_contattaci { background-color: var(--blue); padding: 1.5rem; border-radius: 2rem; display: none; }
.box_contattaci h3 { font-size: 1.8rem; line-height: 1.2; }
.box_contattaci button { width: 100%; }



.scroll_filter {
    position: fixed; bottom: 1rem; left: 1rem; width: 3.5rem; height: 3.5rem; border: 1px solid var(--grey);
    padding: .75rem; border-radius: 50%; background-color: var(--white); box-shadow: 0 0 0.5rem rgb(var(--black-rgb) / 20%); transition: .4s ease-out;
}
.scroll_filter img { width: 100%; height: 100%; }
.sidebar_archive.active .scroll_filter { transform: translateX(-7rem); }







/**
 *
 *  ▄▀▀  ▀  █▄ █  ▄▀▀▀   █     █▀▀
 *   ▀▄  █  █ ▀█  █  ▀▌  █  ▄  █▀▀
 *  ▀▀   ▀  ▀  ▀   ▀▀▀   ▀▀▀▀  ▀▀▀ - SINGLE
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 1 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.s1_single h1 { font-size: calc(var(--h1-size) * .75); }

.s1_single .codice_prodotto { 
    display: inline-block; margin-top: 1.5rem;
    text-transform: uppercase; font-size: 1.25rem; color: var(--white); font-weight: 600;
    padding: .75rem 2rem; border-radius: 5rem; background: linear-gradient(165deg, #00588B 50%, #9A7AD8); 
}

.info_promo { margin-top: 1.75rem; }
.s1_title .info_promo p { font-size: 1.25rem; font-weight: 500; color: var(--blue); line-height: 1.2; margin: 0; }

.info_promo hr { width: 100%; margin: 1.5rem 0; background-color: var(--blue); }

.s1_title .info_promo p span.price { font-size: 200%; }
.s1_title .info_promo p span:not(.price) { font-size: 90%; }












/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 2 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.s2_single .bkg_thumb img { max-height: 60vh; object-fit: contain; }
.s2_single .text h3 { text-transform: uppercase; color: var(--blue); font-size: 1.5rem; font-weight: 600; line-height: 1.1; }



/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 3 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

.s3_single h3 { text-transform: uppercase; color: var(--blue); font-size: 1.5rem; font-weight: 600; line-height: 1.1; }


.table { border-radius: 2rem; margin-top: 2rem; margin-bottom: 1rem; overflow: hidden; box-shadow: 0 0 0.5rem rgb(var(--black-rgb) / 15%); }
.table_row { display: grid; grid-template-columns: 2fr 3fr; }
.table_row:not(.table_row:last-of-type) { border-bottom: 1px solid #ccc; }
.table_row p { padding: .75rem 1rem; }

.table_row:last-of-type p { padding-bottom: 1.25rem; } 
.table_row:first-of-type p { padding-top: 1.25rem; } 

.etichetta_car { background-color: #f0f0f0; font-weight: 500; }
.valore_car { background-color: var(--white); border-left: 1px solid #ccc; font-weight: 400; }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ SECTION 5 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

#s5_single .nav_dots { transform: translateX(0); }
#s5_single .swiper-pagination-bullet { background-color: var(--blue); width: 10px; height: 10px; margin: 5px; }











/**
 *
 *  █▀▀  ▄▀▀▄  █▀▀▄  █▄ ▄█
 *  █▀▀  █  █  █▐█▀  █ █ █
 *  ▀     ▀▀   ▀ ▀▀  ▀   ▀ - FORM
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


#form .form-field input, #form .form-field textarea { padding: 1em; height: auto; background-color: transparent; border: 0; border-radius: 0; border-bottom: 1px solid rgb(var(--white-rgb) / 25%); font-size: 1rem; line-height: 1.3; color: var(--white); }
#form .form-field input::placeholder, #form .form-field textarea::placeholder { font-size: 1rem; color: var(--white); opacity: .75; }

#form .wpforms-field-checkbox li { display: flex; align-items: center; justify-content: flex-start; }
#form .wpforms-field-checkbox label { color: var(--white); }
#form .wpforms-field-checkbox label a { display: inline-block; }
#form .wpforms-field-checkbox input { -webkit-appearance: none; border: 1px solid var(--grey); width: 1.25em; height: 1.25em; background-color: transparent; }
#form .wpforms-field-checkbox input:checked { background: var(--wpr-bg-f28abe76-4724-4c86-a6d3-be029a65bce5) no-repeat center #fff; background-size: 1em; }
#form .wpforms-submit {
    display: block; position: relative; width: 90%; margin: 0 auto; margin-top: 2rem;
    padding: 1em 1.5em; background: linear-gradient(to right, var(--blue), var(--purple)); border: 0; background-size: 100%; border-radius: 5rem; background-color: transparent;
    color: var(--white); font-weight: 550; font-size: var(--rem); text-transform: uppercase; 
}
#form .wpforms-submit:hover { background-size: 200%; box-shadow: -.25rem .5rem 1rem rgb(var(--black-rgb) / 40%); }



#form.form_side { background-color: var(--blue); padding: 1.5rem; border-radius: 2rem; }
.form_side h3 { color: var(--white); font-size: 2.125rem; line-height: 1.1; text-align: center; }
.form_side p { color: var(--white); text-align: center; margin-top: 1rem; }
.form_side p a:hover { opacity: .5; color: var(--white); }

#form.form_side .form-field input, #form.form_side .form-field textarea { padding: 0 0 0.5rem 0; }
#form.form_side .wpforms-field-checkbox input { border-color: var(--white); }





.sec_white #form .form-field input::placeholder, .sec_white #form .form-field textarea::placeholder { font-size: 1rem; color: var(--white); opacity: .75; }


/*
#form .wpforms-field-checkbox label { color: var(--blue); }


#form.form_side { background-color: var(--white); box-shadow: 0 0 1.5rem rgb(30 30 30 / 20%); }
.form_side h3, .form_side p { color: var(--blue); }

#form .form-field input::placeholder, #form .form-field textarea::placeholder { color: var(--blue); opacity: 1; }
#form.form_side .form-field input, #form.form_side .form-field textarea { color: var(--blue); border: 1px solid var(--blue); padding: 0.75rem; }
*/

#form .form-field input::placeholder, #form .form-field textarea::placeholder { opacity: 1; color: var(--blue); }
#form.form_side .form-field input, #form.form_side .form-field textarea { color: var(--blue); font-weight: 500; border: 1px solid var(--white); background-color: rgb(var(--white-rgb) / 100%); padding: 0.75rem; border-radius: 2rem; }

#form.form_side .wpforms-submit { margin-top: 0; background: rgb(255 255 255 / 10%); border: 2px solid #fff; }




/**
 *
 *  █▀▀  █  █  ▀▀█▀▀  █▀▀▄  ▄▀▀▄
 *  █▀▀  ▄▀▀▄    █    █▐█▀  █▀▀█
 *  ▀▀▀  ▀  ▀    ▀    ▀ ▀▀  ▀  ▀ - EXTRA
 *
 * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
 */


/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ PAGE GRAZIE ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/

#s1_grazie { text-align: center;  }




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ PAGE 404 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/




/*∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ CSS EXTRA O MOD ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞*/












/**
 * ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
 *
 * RESPONSIVE
 *
 * Settare se necessario regole fluid per minmax di elemtni specifici basandosi sulle seguenti regole:
 *	=>	ORIGINAL CALC			->	calc( 12px + (24 - 12) * ( (100vw - 360px) / (1920 - 360) ) )
 *	=>	CALC 1920px -> 360px	->	calc( 12px + (24 - 12) * ( (100vw - 360px) / 1560 ) )
 *	=>	CALC 1280px -> 360px	->	calc( 12px + (24 - 12) * ( (100vw - 360px) / 920 ) )
 *	=>	CALC 1024px -> 360px	->	calc( 12px + (24 - 12) * ( (100vw - 360px) / 664 ) )
 *
 * Da creare fluid dinamico con 2 step per i calc iniziali =   1920 -> 1024   1024 -> 360
 *
 * __________________________________________________________________________________________________________________________________________________________________________
 */




.head_logo { width: calc( var(--head-logo-width) + ( var(--head-logo-max) - var(--head-logo-min) ) * ( (100vw - 360px) / 1560 ) ); }

.scroll { width: calc( var(--scroll-px) + ( var(--scroll-max) - var(--scroll-min) ) * ( (100vw - 360px) / 1560 ) ); }

.back_top { width: calc( var(--back-top-px) + ( var(--back-top-max) - var(--back-top-min) ) * ( (100vw - 360px) / 1560 ) ); }




/**
 *
 *  █▄ ▄█  ▄▀▀▄  █▀▀▄  ▀  █     █▀▀
 *  █ █ █  █  █  █▀▀█  █  █  ▄  █▀▀
 *  ▀   ▀   ▀▀   ▀▀▀   ▀  ▀▀▀▀  ▀▀▀ - MOBILE PORT | 601 -> 767
 *
 * Stylesheet: 601px and Up Stylesheet
 * This stylesheet is loaded for larger devices. 
 * It's set to 601px because at 480px it would load on a landscaped iPhone.
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 601px) {

}






/**
 *
 *  ▀▀█▀▀  ▄▀▀▄  █▀▀▄  █     █▀▀  ▀▀█▀▀
 *    █    █▀▀█  █▀▀█  █  ▄  █▀▀    █
 *    ▀    ▀  ▀  ▀▀▀   ▀▀▀▀  ▀▀▀    ▀   - TABLET |  768 x 1024  ->  1023 x 1280
 *
 * Stylesheet: Tablet & Big Tablet Stylesheet
 * Here's where you can start getting into the good stuff.
 * This size will work on iPads, other tablets, and desktops.
 * So you can start working with more styles, background images, and other resources. 
 * You'll also notice the grid starts to come into play.
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 768px) {


    /*∞∞∞∞∞∞ HEADER ∞∞∞∞∞∞*/
    /*.search_btn { width: auto; height: auto; padding: 0.5rem 1rem; border-radius: 3rem; display: flex; align-items: center; justify-content: center; }
    .search_btn span { display: inline-block; color: var(--blue); font-weight: 450; font-size: .85rem; margin-left: .5rem; }
    .search_btn img { width: 1rem; height: auto; }*/

    .search_btn:hover { background-color: rgb(var(--white-rgb) / 75%); }


    .double_link span { display: block; }


    .tapped .hamburger span { background-color: var(--blue); }


    .menu_wrapper { padding-top: 0; }
    .molecole_menu { left: 0; right: unset; transform: translate(30%, 5%) rotate(110deg); height: 150%; }

    .menu_left { padding: 5%; width: 40%; display: flex; align-items: center; justify-content: center; }
    .menu_right { width: 60%; }

    .head_menu a { font-size: 2em; }

    .box_stru { margin-top: 0; }
    .box_menu a { padding: 2rem 1rem; }






	/*∞∞∞∞∞∞ FOOTER ∞∞∞∞∞∞*/
	.credits br { display: none; }
	.credits .resp_sep { display: inline-block; }






    /*∞∞∞∞∞∞ HOME ∞∞∞∞∞∞*/
    .card_anteprima_i { padding: 5%; min-height: 18rem; }
    .card_anteprima h3 { font-size: 3rem; }


    .main_slider { padding: 0; }
    .main_slider .swiper.swiper-prodotti { /*padding: 0 10%; width: calc(100% + 2rem); transform: translateX(-1rem);*/ /*padding: 0 10% 1.5rem 10%;*/ }



    .pdf_box_wrapper { display: grid; grid-template-columns: 1fr 1fr; }
    .pdf_box_wrapper a { display: flex; align-items: center; justify-content: space-between; flex-direction: column; }
    .box_pdf p { font-size: 1.7rem; }
    .box_pdf img { height: 4.5rem; width: 4.5rem; margin-top: 2rem; }

    





    /*∞∞∞∞∞∞ ARCHIVIO / TAX ∞∞∞∞∞∞*/
    .product_wrapper { display: grid; grid-template-columns: 1fr 1fr; }

    .product_wrapper_tax { grid-template-columns: 1fr 1fr 1fr; }



    /*.card_tax { width: calc(100% / 3); }*/





    .info_promo { margin-top: 2.25rem; }
    .info_promo hr { display: none; }
    .info_promo .w50m:nth-of-type(1) { width: max-content; padding-right: 2rem; }
    .info_promo .w50m:nth-of-type(2) { border-left: 1px solid var(--blue); padding-left: 2rem; }

    #s2_single .container { margin-top: 0; }


}



/**
 *
 *  █▀▀▄  █▀▀  ▄▀▀  █ ▄▀  ▀▀█▀▀  ▄▀▀▄  █▀▀▄      ▄▀▀  █▄ ▄█  ▄▀▀▄  █    █ 
 *  █  █  █▀▀   ▀▄  █▀▄     █    █  █  █  █       ▀▄  █ █ █  █▀▀█  █ ▄  █ ▄ 
 *  ▀▀▀   ▀▀▀  ▀▀   ▀ ▀▀    ▀     ▀▀   █▀▀       ▀▀   ▀   ▀  ▀  ▀  ▀▀▀  ▀▀▀  - LAPTOP |  1024 x 768  ->  1280 x 720
 * 
 * Stylesheet: Small Desktop Stylsheet
 * This is the SWITCH breakpoints between vertical layout and horizontal layout 
 * due to the change in screen size orientations.
 * It's larger than an iPad so it will only be seen on the Desktop.
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 1024px) {

    main { overflow: hidden; padding: 0 2rem; }



	/*∞∞∞∞∞∞ HEADER ∞∞∞∞∞∞*/

    .menu_ex_desk { display: flex; }
    .menu_ex_desk a { margin-right: .75rem; padding: calc(0.5em + 2px) 1.5em; font-size: .85rem; }
    .menu_ex_desk a:hover { opacity: .75; transform: scale(.95); }

	

	/*∞∞∞∞∞∞ FOOTER ∞∞∞∞∞∞*/

    .foot_logo { width: 20rem; }

    .wrapper_foot { display: flex; align-items: flex-start; justify-content: space-between; }
    .foot_newsletter { width: 60%; }
    .foot_newsletter h3 { font-size: 2.3rem; }
        
    /*
    #form_newsletter .wpforms-field { padding: 0; }
    #form_newsletter .wpforms-field-email input { width: 50%; border-radius: 4rem 0 0 4rem; font-size: .9rem; }

    #form_newsletter .wpforms-field-checkbox { position: absolute; left: 0; bottom: 0; transform: translateY(calc(100% + 1rem)); }

    #form_newsletter .wpforms-submit-container { position: absolute; top: 0; right: 0; padding: 0; height: 100%; width: 51%; }
    #form_newsletter .wpforms-submit { height: 100%; border-radius: 0 3rem 3rem 0; font-size: .8rem; }
    */


    #form_newsletter .input_email input { width: 55% !important; border-radius: 4rem 0 0 4rem; font-size: .9rem; }

    #form_newsletter .input_privacy { position: absolute; left: 0; bottom: 0; transform: translateY(calc(100% + 1rem)); }

    #form_newsletter .input_btn { position: absolute; top: 0; right: 0; padding: 0; height: 100%; width: 45%; }
    #form_newsletter .mailpoet_submit { height: 100%; border-radius: 0 3rem 3rem 0; font-size: .8rem; }



    .foot_block_wrapper { width: 30%; margin-top: 0; }




	/* Credits */
	.credits a:hover, .credits a:active, .credits a:focus { opacity: 1; color: var(--color); }
	#credits_studio:hover { color: #e74e0f; }

	/* Back Top */
	.back_top { opacity: 1; }




    /*∞∞∞∞∞∞ HOME ∞∞∞∞∞∞*/
    .s1_title p { font-size: 1.2rem; }



    .card_anteprima.swiper-slide { display: flex; align-items: center; justify-content: space-between; }
    .card_anteprima .card_anteprima_i { min-height: unset; width: 60%; }
    .card_anteprima .img_slider { width: 40%; margin-left: auto; height: 25rem; }
    .card_anteprima .img_slider img { object-position: bottom; }
    .card_anteprima .img_slider.img_over img { transform: translateY(1rem); }




    .pdf_box_wrapper { width: 80%; margin-left: auto; margin-right: auto; }
    .box_pdf a:hover { transform: scale(.975); }
    .box_pdf a:hover button { font-weight: 600; background-color: rgb(var(--white-rgb) / 15%); }



    .swiper.swiper-ev { padding: 0 5%; }



    #s5_home .ratio-1-1 { aspect-ratio: 3 / 4; }




    /*∞∞∞∞∞∞ ARCHIVIO / TAX ∞∞∞∞∞∞*/
    /*.card_tax { width: 25%; }*/
    /*.card_tax a { padding: .75rem; }*/


    .product_wrapper { grid-template-columns: 1fr 1fr 1fr; grid-gap: 1rem; }
    .card .term { margin-top: 1rem; font-size: 0.7rem; }
    .card h2 { font-size: .9rem; margin-top: 1rem; }


    /*∞∞∞∞∞∞ SINGLE ∞∞∞∞∞∞*/
    .s2_single .bkg_thumb { margin-bottom: 0; }
    /*.s2_single .s1_single { padding-left: 7.5%; }*/


    .table_row p { padding: 0.75rem 1.5rem; }



}






/**
 *
 *  █     ▄▀▀▄  █▀▀▄  ▀█▀  ▄▀▀▄  █▀▀▄
 *  █  ▄  █▀▀█  █  █   █   █  █  █  █
 *  ▀▀▀▀  ▀  ▀  █▀▀    ▀    ▀▀   █▀▀  - LAPTOP |  1281 x 720  ->  1366 x 768
 *
 * Stylesheet: Super Large Monitor Stylesheet
 * You can add some advanced styles here if you like. 
 * This kicks in on larger screens.
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 1281px) {


    #form { padding-left: 5%; }
    .sec_form .text p { font-size: 1.8rem; }



    /*∞∞∞∞∞∞ HEADER ∞∞∞∞∞∞*/
    .box_menu { padding: 0.25rem 0.5rem; width: 80%; margin-left: 5%; }
    .box_menu a { padding: 3rem 1rem 3rem 2rem; }
    .box_menu p { font-size: 2.5rem; }

    .menu_left > div { width: 85%; }
    .head_menu a { font-size: 2.6em; }





    /*∞∞∞∞∞∞ FOOTER ∞∞∞∞∞∞*/
    .foot_newsletter { width: 50%; }
    .foot_block_wrapper { width: 35%; }





    /*∞∞∞∞∞∞ HOME ∞∞∞∞∞∞*/
   /* .s1::after {
        content: ""; position: absolute; bottom: 0; right: 0; width: 70%; height: 100vh;
        background: url(../../../../../../../../../themes/foundation/library/images/png/molecole.png) center no-repeat; background-size: contain; transform: translate(35%, 10%) rotate(-5deg);
    }*/



    #s6_home .ratio-4-3 { aspect-ratio: 16 / 9; }




    /*∞∞∞∞∞∞ PAGE ∞∞∞∞∞∞*/
    .s1.s1_page::after, .s1.s1_single::after { transform: translate(35%, 50%) rotate(-15deg); }


    #s2_azienda .ratio-3-4 { aspect-ratio: 1 / 1; }


    #soffieria .text { column-count: 2; column-gap: 7.5%; }




    #s2_promo .container { display: flex; align-items: flex-start; justify-content: space-between; flex-direction: row-reverse; padding-left: 0; }
    #s2_promo .product_content { width: 65%; }
    #s2_promo .sidebar_archive { width: 30%; }


    .text_cont p { font-size: 1.4rem; line-height: 1.6; }



    /*∞∞∞∞∞∞ ARCHIVE / TAX ∞∞∞∞∞∞*/
    .product_wrapper_tax { grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 1rem; }

    /*.card_tax { width: 20%; }*/


    #s2_tax { overflow: hidden; }
    #s2_tax .container { display: flex; align-items: flex-start; justify-content: space-between; flex-direction: row-reverse; flex-wrap: wrap; padding-left: 0; }
    #s2_tax .product_content { width: 65%; }
    #s2_tax .sidebar_archive { width: 30%; }


    .scroll_filter { display: none; }
    .box_contattaci { display: block; }




    /*∞∞∞∞∞∞ SINGLE ∞∞∞∞∞∞*/
    .s1_single .container { justify-content: flex-start; }
    .s1_single h1 { font-size: 2rem; }



    .sec_form .text h2 { font-size: calc(var(--h2-size) * 1); }





}






/**
 *
 *  █▀▀▄  █▀▀  ▄▀▀  █ ▄▀  ▀█▀  ▄▀▀▄  █▀▀▄
 *  █  █  █▀▀   ▀▄  █▀▄    █   █  █  █  █
 *  ▀▀▀   ▀▀▀  ▀▀   ▀ ▀▀   ▀    ▀▀   █▀▀  - LAPTOP |  1367 x 768  ->  1919 x 1080
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 1440px) {

    main { padding: 0 4rem }




    /*#s1_home .s1_title { width: 50%; }*/
    .s1_title p { font-size: 1.5rem; }





    .card_anteprima .card_anteprima_i { width: 55%; padding: 5%; }
    .card_anteprima .img_slider { width: 45%; height: 35rem; }
    .card_anteprima .img_slider img { padding-top: 2rem; }

    .card_anteprima h3 { font-size: 4rem; }




    #s5_home .ratio-1-1 { aspect-ratio: 1 / 1; }





    /*.product_wrapper_tax { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; grid-gap: 1rem 0; }*/





    .sec_form .text h2 { font-size: calc(var(--h2-size) * 0.9); }
    .box_contattaci h3 { font-size: 2.1rem; }

}






/**
 *
 *  █  █  █▀▀▄  █▀▀  █▀▀▄
 *  █  █  █▀▀█  █▀▀  █▐█▀
 *   ▀▀   ▀▀▀   ▀▀▀  ▀ ▀▀ - ÜBER | 1921 -> ...
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and (min-width: 1921px) {}






/**
 *
 *   ▄▀█   █ ▄▀
 *  █▄▄█▄  █▀▄
 *     █   ▀ ▀▀ - DESKTOP 4K & UP | 2561px -> ...
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media screen and ( min-width: 2561px ) {}






/**
 *
 *  █▀▀▄  █▀▀  ▀▀█▀▀  ▀  █▄ █  ▄▀▀▄
 *  █▐█▀  █▀▀    █    █  █ ▀█  █▀▀█
 *  ▀ ▀▀  ▀▀▀    ▀    ▀  ▀  ▀  ▀  ▀ - RETINA (2x RESOLUTION DEVICES)
 *
 * This applies to the retina iPhone (4s) and iPad (2,3) along with other displays with a 2x resolution. 
 * You can also create a media query for retina AND a certain size if you want. 
 * Go Nuts.
 * __________________________________________________________________________________________________________________________________________________________________________
 */

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {

}






/**
 *
 *  █▀▀▄  █▀▀  ▐▌ ▐▌  ▀  ▄▀▀  █▀▀  ▄▀▀
 *  █  █  █▀▀   ▀▄▀   █  █    █▀▀   ▀▄
 *  ▀▀▀   ▀▀▀    ▀    ▀   ▀▀  ▀▀▀  ▀▀  - SPECIFIC DEVICES
 * __________________________________________________________________________________________________________________________________________________________________________
 */


/* If is Device */
@media screen and (max-device-width: 1280px){}
@media screen and (max-device-width: 768px){}
@media screen and (max-device-width: 480px){}



