/*
    Theme Name:  Space Oddity Child
    Author:  Alfredo D'Amico
    Template:  space_oddity
    Version:  1.0
*/

.ak-body-lock{
	height:100%;
	overflow:hidden;
}
.ak-nav-mobile-scroll{
    max-height: 100vh;
    overflow-y: scroll;
    padding-bottom: 200px;
}

@media (max-width: 1024px){
    .mobile_menu_open .contact_icons.mobile_dev {
        background: #fff; /* nascondi il menu sotto ai bottoni che sta male*/
    	gap: 20px;
    }
	.contact_icons.mobile_dev > a{
		padding: 0px;
		width: 40px;
		height: 40px;
		justify-content: center;
	}
	.contact_icons.mobile_dev{
		justify-content: center;
		width: 100%;
	}
}
/*
.page.page-id-861 .top_header_single.image{
    background-position-y: 15%;
}
*/



.site-main {
    margin: 0!important;
}
.page-wrapper {
    padding-bottom: 0!important;
    padding-top: 0px!important;
}
.page-wrapper.sidebar_ready {
    margin-bottom: 110px;
}
body .site-main p, 
body .site-main .composer_cols_wrapper ul {
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
    line-height: 1.8rem;
}
p strong {
    font-weight: 900;
}
h1 {
    font-size: 50px;
    line-height: 60px;
}
h1 strong, 
h2 strong, 
h3 strong, 
h4 strong, 
h5 strong, 
h6 strong {
    color: #32bcda;
    font-weight: 900;
}
iframe {
    display: block;
}
.composer_cols_container .tit-txt-tit-bkg_text {
    font-size: 22px;
    line-height: 30px;
    max-width: 800px;
    margin: auto;
}
.composer_cols_wrapper ul {
    padding: 0;
    margin: 0;
    padding-left: 10px;
    list-style: none;
}
.composer_cols_wrapper ul li {
    position: relative;
    padding-left: 24px;
}
.composer_cols_wrapper ul li:before {
    width: 8px;
    height: 8px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: #41bdd1;
    position: absolute;
    left: 0;
    top: 7px;
}
/*
    HEADER
*/
.site-header:not(.sticky_header) img.custom-logo {
    height: 65px!important;
}
#header_wrapper {
    padding: 0px!important;
    height: 100%;
}
.site-header.sticky_header {
    background: white!important;
}
.main-navigation ul li:hover > ul, 
.main-navigation ul li.focus > ul {
    left: 0;
}
.site-header ul.nav-menu > li > a {
    position: relative;
    text-transform: none;
    font-weight: 600;
}
.site-header.sticky_header ul.nav-menu > li > a {
    line-height: 50px;
}
.site-header:not(.sticky_header) ul.nav-menu > li > a {
    padding-top: 40px!important;
    padding-bottom: 40px!important;
}
ul.nav-menu ul.sub-menu li a {
    font-size: 14px;
    text-transform: none;
    width: 100%;
    padding: 6px 0px!important;
}
ul.nav-menu ul.sub-menu li a:hover {
    font-weight: 600;
}
ul.nav-menu ul.sub-menu li a:hover::before {
    margin-right: 5px;
    vertical-align: baseline;
    width: 8px;
    height: 8px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: #41bdd1;
}
.main-navigation ul ul {
    white-space: nowrap;
    background-color: white!important;
}
.main-navigation li.mega_menu {
    position: unset;
}
.main-navigation li.mega_menu ul ul {
    box-shadow: unset;
}
.main-navigation li.mega_menu > ul.sub-menu {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: center;
    padding: 0;
    box-shadow: unset;
    border-top: 1px solid #f2f2f2;
    padding-top: 50px;
    padding-bottom: 90px;
    background: white;
}
.main-navigation li.mega_menu > ul.sub-menu li {
    width: auto;
    flex-basis: calc(1200px/3);
}
.main-navigation li.mega_menu > ul.sub-menu > li > a {
    text-transform: uppercase;
    color: #2d7f8f;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 15px;
}
.main-navigation ul.sub-menu > li.menu-item-has-children > a:after {
    display: none;
}
.main-navigation li.mega_menu > ul.sub-menu li > ul.sub-menu {
    position: relative;
    left:unset;
    display: block;
    width: 100%;
    padding: 0;
}
.site-header:not(.sticky_header) ul.nav-menu > li.menu_bordered > a {
    border: 2px solid;
    padding: 7px 16px!important;
    color: #2d7f8f;
}
.site-header:not(.sticky_header) ul.nav-menu > li.menu_bordered > a:hover {
    background: #2d7f8f;
    color: white;
    border-color: #2d7f8f;
}
#src_opener:before {
    background: white!important;
    margin: auto!important;
    width: 14px!important;
    height: 14px!important;
}
#src_opener{
    color: #fff;
    background: #2d7f8f;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    animation: pulse-btn-ricerca 2s infinite;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px!important;
    margin-left: 25px;
}
.sticky_header #src_opener {
    width: 30px;
    height: 30px;
}
@keyframes pulse-btn-ricerca {
    0% {box-shadow: 0 0 0 0 rgb(45 127 143 / 0.7);}
    70% {box-shadow: 0 0 0 10px rgba(255, 102, 0, 0);}
    100% {box-shadow: 0 0 0 0 rgba(255, 102, 0, 0);}
}

.site-header:not(.sticky_header) ul.nav-menu > li:not(.menu_bordered) > a:hover::before {
    content: '';
    background: #2d7f8f;
    position: absolute;
    bottom: 1px;
    width: 100%;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
}

.top_header_single.image {
    height: 350px;
}
.top_header_single:after, .top_header_single.slider .slick-track:before {
    background: -moz-linear-gradient(left, #22345c 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(left, #22345c 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to right, #22345c 0%,rgba(0,0,0,0) 100%);
}
.header_claim {
    max-width: 40%;
}
.header_claim > span.pre_title, 
.header_claim > h2.pre_title {
    font-size: 26px;
    color: #00c9e7;
    text-transform: none;
    font-weight: 400;
    letter-spacing: 0;
    margin:inherit;
}
.header_claim > span.slide_header_title, 
.header_claim > h1.slide_header_title {
    font-size: 50px!important;
    line-height: 54px;
    font-weight: 700;
    margin-top: 20px!important;
}
/*
    HEADER TEXT - IMAGE
*/
.top_header_single.image.text-image {
    height: auto;
    padding: 30px 0;
    background: #f0f0f0;
}
.top_header_single.image.text-image:after {
    display: none;
}
.top_header_single.image.text-image .header_claim_container {
    display: flex;
    gap: 60px;
    align-items: center;
}
.top_header_single.image.text-image .header_claim_container > div {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.top_header_single.image.text-image .header_claim_container .header_claim {
    max-width: 100%;
    padding: 60px 0px;
}
.top_header_single.image.text-image .header_claim_container > div img {
    width: fit-content;
    display: flex;
    align-self: center;
}
.top_header_single.image.text-image .header_claim > span.pre_title {
    color: #2a2d4f;
}
.top_header_single.image.text-image .header_claim > span.slide_header_title, 
.top_header_single.image.text-image .header_claim > h1.slide_header_title {
    color: #00c9e7;
}
.top_header_single.image.text-image .header_claim > span:not(.pre_title) {
    color: #2a2d4f;
    font-size: 32px;
    line-height: 40px;
    font-weight: 400;
    margin-bottom: 0;
}
/*
    HOME HEADER
*/
.home_header_container {
    width: 100%;
    display: flex;
    align-items: center;
    margin-left: calc((100% - 1200px)/2);
    margin-top: 60px;
    z-index: 2;
}
.home_header_wrapper:before {
    content: '';
    display: block;
    width: 50vw;
    height: 50vw;
    position: absolute;
    left: -9vw;
    bottom: 70px;
    transform: rotate(80deg);
    z-index: 1;
    background: #2d7f8f;
    background: -moz-linear-gradient(325deg, #2d7f8f 0%, #00c9e7 100%);
    background: -webkit-linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%);
    background: linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d7f8f', endColorstr='#00c9e7',GradientType=1 );
}
.home_header_wrapper {
    position: relative;
    overflow: hidden;
    display: flex;
    background: #f0f0f0;
    background: -moz-linear-gradient(top, #f0f0f0 0%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #f0f0f0 0%,#ffffff 100%);
    background: linear-gradient(to bottom, #f0f0f0 0%,#ffffff 100%);
}
.home_header_container > div:first-child {
    flex-basis: calc(100%/3);
    color:white;
}
.home_header_container > div:first-child span {
    font-size: 26px;
    font-weight: 300;
}
.home_header_container > div:first-child h3 {
    font-size: 50px;
    line-height: 44px;
    font-weight: 700;
    font-weight: 600;
    margin-top: 10px;
    margin-bottom: 30px;
}
.home_header_container > div:last-child {
    position: relative;
}
.home_header_container > div:last-child i.fa-solid {
    font-size: 40px;
    background: #22345c;
    color: white;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
}
.home_header_container > div:last-child i.fa-solid:before {
    margin-left: 5px;
}
.home_header_container > div:last-child i.fa-solid:hover {
    background: #43b9cd;
}
@media (max-width:676px){
    
    .home_header_container > div:last-child i.fa-solid {
        font-size: 30px;
        width: 60px;
        height: 60px;
    }
    .home_header_container > div:last-child i.fa-solid:before {
        margin-left: 3.5px;
    }
}
/*
    BUTTONS
*/
a.generic_button {
    padding: 12px 32px 12px 22px!important;
    border-radius: 5px;
    text-transform: none!important;
    font-size: 15px!important;
    font-weight: 500!important;
}
a.generic_button:after {
    right: 1.3em!important;
    transform: translateY(calc(-50% - 1px)) rotate(-45deg)!important;
}
a.generic_button:hover {
    background: #22345c!important;
    border-color: #22345c!important;
    color: white;
}

.ico_pdf a.generic_button:after {
    display: none;
}
.ico_pdf a.generic_button:before {
    width: 16px;
    height: 16px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_print.svg) no-repeat 50% 50%;
    mask: url(ico/ico_print.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: white;
    margin-right: 10px;
}
.sub_header {
    background: #00c9e7;
    background: -moz-linear-gradient(45deg,  #00c9e7 0%, #2d7f8f 100%);
    background: -webkit-linear-gradient(45deg,  #00c9e7 0%,#2d7f8f 100%);
    background: linear-gradient(45deg,  #00c9e7 0%,#2d7f8f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00c9e7', endColorstr='#2d7f8f',GradientType=1 );
}
.sub_header_wrapper {
    padding: 12px 0px!important;
}
body:not(.home) .sub_header_wrapper {
    padding: 8px 0px 12px 0px!important;
}
.sub_header_wrapper a {
    font-size: 1rem!important;
    font-weight: 400;
}
.sub_header_menu_nav ul > li > a {
    font-size: 1rem!important;
    text-transform: none!important;
    font-weight: 400!important;
}
/*
    VIDEO LIGHTBOX
*/
.header_video_player {
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: #000000a7;
    display: none;
}
.header_video_lightbox {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border: 10px solid white;
    width: 90%;
    max-width: 800px;
    background: white;
}
.header_video_lightbox > div {
    height: 0;
    overflow: hidden;
    padding-bottom: 56%;
    position: relative;
}
.header_video_lightbox > div iframe,
.header_video_lightbox > div object,
.header_video_lightbox > div embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
#video_close {
    font-size: 40px;
    color: black;
    position: absolute;
    right: -60px;
    top: -10px;
    background: white;
    z-index: 99;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.img_boxes_wrapper {
    background: white;
    border: 2px solid white;
    position: relative;
    gap: 2px!important;
}
.row_service_boxes .img_boxes_wrapper {
    position: relative;
    gap: 0px!important;
    background: transparent;
    border: 0;
}
.composer_cols_container.row_service_boxes .img_boxes_wrapper a {
    flex-basis: calc(100%/3)!important;
    max-width: calc(100%/3);
    border: 1px solid white;
}
.img_boxes_wrapper .img_box_card span:after {
    right: 0.9rem!important;
}
.img_boxes_wrapper .img_box_card:after {
    background:transparent!important;
}
.composer_cols_container .img_boxes_wrapper.related_services > a {
    flex-basis: 100%;
}
.composer_cols_container.row_service_slider {
    opacity: 1;
}
.composer_cols_container.row_service_boxes {
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}
.composer_cols_container.row_contattaci {
    opacity: 1;
}
.home .composer_cols_container.row_contattaci {
	padding-top: 100px;
}
.composer_cols_container.row_contattaci {
    padding-top: 200px;
    padding-bottom: 45px;
    margin-top: 0px;
    position: relative;
    z-index: 1;
    transition: all 1.5s ease;
}
.composer_cols_container.row_contattaci.scrolled {
    margin-top: -100px;
}
.tit-txt-tit-bkg_container a.generic_button.tit-txt-tit-button {
    margin-top: 30px;
    background: #2d7f8f;
    border-color: #2d7f8f;
}
.tit-txt-tit-bkg_container a.generic_button.tit-txt-tit-button:hover {
    background: #43b9cd!important;
    border-color: #43b9cd!important;
    color: white!important;
}
/*
    SLIDE SERVIZI HP
*/
.slider_services_wrapper {
    padding: 45px 50px 90px 50px;
}
.slider_services_container {
    display: flex!important;
    color: white;
    position: relative;
}
.slider_services_container > div {
    flex: 1;
}
.slider_services_container > div:first-child {
    background: #2d7f8f;
    background: -moz-linear-gradient(325deg, #2d7f8f 0%, #00c9e7 100%);
    background: -webkit-linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%);
    background: linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d7f8f', endColorstr='#00c9e7',GradientType=1 );
}
.slider_services_container > div:first-child > div {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 60px;
    max-width: 80%;
    align-items: flex-start;
    justify-content: flex-end;
}
.slider_services_container > div:last-child > div {
    padding-top: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
}
.slider_services_container > div:last-child > div > span {
    position: absolute;
    top: 0;
    right: 0;
    padding: 60px;
    z-index: 2;
    text-align: right;
    max-width: 60%;
    font-size: 22px;
    line-height: 30px;
    font-weight: 300;
}
.slider_services_container > div:last-child > div > span strong {
    font-weight: 900;
}
.slider_services_container > div:last-child > div:after {
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    background: -moz-linear-gradient(top,  rgba(6,15,36,0.80) 0%, rgba(0,0,0,0.3) 100%);
    background: -webkit-linear-gradient(top,  rgba(6,15,36,0.80) 0%,rgba(0,0,0,0.3) 100%);
    background: linear-gradient(to bottom,  rgba(6,15,36,0.80) 0%,rgba(0,0,0,0.3) 100%);
    z-index: 1;
}
.slider_services_container > div:first-child > div > span:nth-child(1) {
    font-size: 18px;
    font-weight: 600;
}
.slider_services_container > div:first-child > div > span:nth-child(2) {
    font-size: 32px;
    line-height: 40px;
    font-weight: 900;
    margin-top: 30px;
    margin-bottom: 15px;
}
.slider_services_container > div:first-child > div > span:nth-child(3) {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 40px;
}
.slider_services_container a.generic_button {
    background: #5799a5;
    border-color: #5799a5;
}

.slider_services_wrapper .slider_center_img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.slider_services_wrapper .slider_center_img > img {
    display: block;
    width: 100%;
    height: 100%;
}

.slider_services_wrapper .slick-prev:before, 
.slider_services_wrapper .slick-next:before {
    border: 1px solid #3f4961!important;
    padding: unset!important;
    opacity: 1!important;
    transform: unset!important;
    -webkit-transform: unset!important;
    display: flex!important;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.slider_services_wrapper .slick-prev:before {content: "←"!important;}
.slider_services_wrapper .slick-next:before {content: "→"!important;}
.slider_services_wrapper .slick-prev:before, 
.slider_services_wrapper .slick-next:before {
    font-family: 'Montserrat';
    font-size: 22px;
}
.slider_services_wrapper .slick-prev:hover::before, 
.slider_services_wrapper .slick-next:hover:before {
    background: #ffffff33;
}
.slider_services_wrapper.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slider_services_wrapper ul.slick-dots {
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
}
.slider_services_wrapper .slick-dots li button:before {
    content: '';
    display: inline-block;
    border: 1px solid white;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    opacity: 1;
}
.slider_services_wrapper .slick-dots li.slick-active button:before {
    background: white;
}
.slider_services_wrapper .slick-dots li {
    width: 12px;
}

.row_hp_facility {
    padding: 30px 0px 100px 0px;
}
.composer_cols_container.row_hp_facility .img_boxes_wrapper .img_box_card {
    padding-top: 60%;
}
/*
    RELATED SERVICES CARDS
*/
.related_services {
    padding-bottom: 50px;
}
.img_box_card_related {
    padding-top: 62%;
    background-size: cover;
    background-position: center;
    position: relative;
    margin: 0px 10px;
}
.img_box_card_related:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    transition: all 0.6s ease;
}
.img_box_card_related > span:hover {
    background: #43b9cd;
}
.img_box_card_related > span {
    position: absolute;
    z-index: 2;
    bottom: 10px;
    font-size: 15px;
    color: white;
    padding: 8px 20px;
    background: #22345c;
    left: 10px;
}
.img_box_card_related > span:after {
    content: '\f178'!important;
    font-family: 'Font Awesome 6 Pro'!important;
    margin-left: 15px!important;
    font-weight: 600;
    font-size: 14px!important;
}
.related_services ul.slick-dots {
    bottom: 10px;
}
.related_services .slick-dots li button:before {
    content: '';
    display: inline-block;
    border: 1px solid #22345c;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    opacity: 1;
}
.related_services .slick-dots li.slick-active button:before {
    background: #22345c;
}
.related_services .slick-dots li {
    width: 12px;
}
.composer_cols_container .img_boxes_wrapper .img_box_card span:hover, 
.composer_cols_container .img_boxes_wrapper .img_box_card h2:hover {
    background: #43b9cd;
}
.composer_cols_container .img_boxes_wrapper .img_box_card span, 
.composer_cols_container .img_boxes_wrapper .img_box_card h2 {
    font-size: 15px!important;
    background: #1b2948;
    text-transform: uppercase;
    font-weight: 500;
    padding: 10px 30px 7px 20px;
    line-height: 100%;
}
/*
    BLOG CARDS
*/
.hp_post_grid_container {
    display: grid;
    grid-template-columns: repeat(auto-fill, calc(25% - 15px));
    gap: 20px;
}
.hp_post_grid_img {
    position: relative;
    padding-top: 147%;
    background-size: cover;
    background-position: center center;
}
.hp_post_grid_img:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    z-index: 1;
}
.hp_post_grid_content {
    position: absolute;
    display: flex;
    flex-direction: column;
    z-index: 2;
    color: white;
    left: 30px;
    right: 30px;
    bottom: 40px;
}
span.hp_post_grid_date {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 8px;
}
span.hp_post_grid_title {
    font-size: 18px;
    line-height: 26px;
}
a.hp_post_grid_link {
    font-size: 15px;
    color: white;
    margin-top: 20px;
    display: none;
}
a.hp_post_grid_link:after {
    content: '→';
    font-family: 'Montserrat';
    margin-left: 10px!important;
    font-size: 18px;
    line-height: 0;
}
.hp_post_grid_img:hover a.hp_post_grid_link {
    display: block;
}
/*
    SLIDER VERTICAL
*/
.slider_vertical_container {
    background-size: cover;
    background-position: center center;
    position: relative;
}
.slider_vertical_container > div {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 120px 0;
    position: relative;
    z-index: 2;
}
.slider_vertical_container > div > span {
    width: 50%;
    color: white;
}
.slider_vertical_container > div > span:nth-child(1) {
    font-size: 32px;
    line-height: 40px;
    margin-bottom: 30px;
}
.slider_vertical_container > div > span:nth-child(2) {
    line-height: 28px;
    margin-bottom: 30px;
}
.slider_vertical_container:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(right, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    background: -webkit-linear-gradient(right, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    background: linear-gradient(to left, rgba(0,0,0,0) 0%, #22345c 100%)!important;
    z-index: 1;
}

.slider_vertical_container.slick-slide {
    border: 0;
}
.slider_vertical_wrapper .slick-prev, 
.slider_vertical_wrapper .slick-next {
    right: calc((100% - 1200px)/2);
    left: unset;
}

.slider_vertical_wrapper .slick-next {
    transform: translateY(65px) rotate(90deg);
    top: calc(50% - 65px);
}
.slider_vertical_wrapper .slick-prev {
    transform: translateY(-65px) rotate(90deg);
    top: calc(50% - 65px);
}
.slider_vertical_wrapper .slick-prev:before, 
.slider_vertical_wrapper .slick-next:before {
    border: 1px solid #ffffff54!important;
    padding: unset!important;
    opacity: 1!important;
    transform: unset!important;
    -webkit-transform: unset!important;
    display: flex!important;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
}
.slider_vertical_wrapper .slick-prev:before {content: "←"!important;}
.slider_vertical_wrapper .slick-next:before {content: "→"!important;}
.slider_vertical_wrapper .slick-prev:before, 
.slider_vertical_wrapper .slick-next:before {
    font-family: 'Montserrat';
    font-size: 30px;
}
.slider_vertical_wrapper .slick-prev:hover::before, 
.slider_vertical_wrapper .slick-next:hover:before {
    background: #ffffff33;
}
.slider_vertical_wrapper.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slider_vertical_wrapper ul.slick-dots {
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
}
/*
    ROW 2 COLS HP
*/
.composer_cols_container.row_hp_2_col {
    background: rgb(0,201,231);
    background: -moz-linear-gradient(left,  rgba(0,201,231,1) 0%, rgba(45,127,143,1) 100%);
    background: -webkit-linear-gradient(left,  rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%);
    background: linear-gradient(to right,  rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%);
    color: white;
    padding: 50px 0 60px 0;
    line-height: 28px;
}
.composer_cols_container.row_hp_2_col h3 {
    font-size: 32px;
    line-height: 40px;
}
.composer_cols_container.row_hp_2_col h3 strong {
    color: white;
    font-weight: 900;
}
.composer_cols_container.row_hp_2_col ul {
    padding: 0;
    margin: 0;
    list-style: none;
    columns: 3;
}
.composer_cols_container.row_hp_2_col ul li:before {
    content: '→';
    font-family: 'Montserrat';
    margin-left: 10px!important;
    font-size: 18px;
    line-height: 0;
    margin-right: 10px;
    opacity: 0.5;
}
.composer_cols_container.row_hp_2_col ul li {
    padding-left: 35px;
}
.composer_cols_container.row_hp_2_col ul li:before {
    top: 12px;
}
.composer_cols_container.row_hp_2_col li > a:hover {
    color: #00c9e6;
}
.composer_cols_container.row_hp_2_col li > a {
    color: white;
}
.home_header_container .trustpilot-widget iframe {
    width: auto!important;
    margin-left: -6px;
    margin-bottom: 30px;
}
/*
    FOOTER
*/
.footer_col {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.footer_col img {
    margin-bottom: 30px;
    width: 227px;
}
.footer_col a {
    font-size: 13px;
    padding: 0px 15px;
    font-weight: 400;
}
.footer_col a .fa-solid, 
.footer_col a .fa-regular {
    color: #43b9cc;
    margin-right: 8px;
    font-size: 16px;
    vertical-align: middle;
}
/*
    SUB FOOTER
*/
.subfooter {
    background: #1b2948!important;
}
.sub_footer_wrapper {
    font-size: 13px;
    display: flex;
    justify-content: space-between;
}
.sub_footer_wrapper > div:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sub_footer_wrapper > div:last-child {
    display: flex;
    justify-content: flex-end;
}
ul#menu-menu-footer {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    gap: 30px;
}
ul#menu-menu-footer a {
    color: white;
}
ul#menu-menu-footer a:hover {
    color: #43b9cc;
}
/*
    CONTACT ICONS
*/
.contact_icons {
    position: fixed;
    bottom: 170px;
    right: -200px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 999;
    transition: 1s ease;
}
.contact_icons.open {
    right:30px;
}
.contact_icons > a > i {
    font-size: 18px;
}
.contact_icons > a {
    background: #43b9cd;
    padding: 15px 30px;
    border-radius: 25px;
    color: white;
    display: flex;
    gap: 14px;
    font-weight: normal;
    font-size: 15px;
    line-height: 100%;
    align-items: center;
}
.contact_icons > a:first-child {
    background: #25d366;
}
.contact_icons > a:hover {
    background: #1b2948;
}
/*
    INTERNE
*/
.composer_cols_container.big_title_row {
    padding-top: 30px;
}
.composer_cols_container.big_title_row.margin_negative {
    padding-top: 30px;
    margin-bottom: -100px;
}
.composer_cols_container .tit-txt-tit-bkg_text {
    font-size: 22px;
    line-height: 30px;
}
.composer_cols_container.big_title_row .tit-txt-tit-bkg_text {
    max-width: 800px;
    margin: auto;
}
.composer_cols_container.big_title_row .tit-txt-tit-bkg_title {
    padding-bottom: 30px;
}
.composer_cols_container.row_two_col_interna {
    margin: 60px auto;
}
.composer_cols_container.row_two_col_interna h1 {
    font-weight: bold;
    color: #2d7f8f;
    margin: 0;
}

.composer_cols_container .composer_wrapper .text_img_bkg:after {
    background: -moz-linear-gradient(left, #22345c 0%, rgba(0,0,0,0) 140%);
    background: -webkit-linear-gradient(left, #22345c 0%,rgba(0,0,0,0) 140%);
    background: linear-gradient(to right, #22345c 0%,rgba(0,0,0,0) 140%);
}
.composer_wrapper .text_img_bkg > div > div {
    padding: 120px 0!important;
}
.composer_wrapper .text_img_bkg > div > div h2 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 900;
    margin-top: 0;
}
.composer_wrapper .text_img_bkg > div > div > div >  a.generic_button.bordered {
    font-size: 30px;
    background: #ffffff25;
    border: 0!important;
    padding: 10px 30px 10px 25px!important;
}
.composer_wrapper .text_img_bkg ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.composer_wrapper .text_img_bkg ul li:before {
    width: 8px;
    height: 8px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: #41bdd1;
    position: absolute;
    left: 0;
    top: 7px;
}
.composer_wrapper .text_img_bkg ul li {
    padding-left: 24px;
    position: relative;
}
/*
    STAFF
*/
.composer_cols_container.row_staff_title {
    padding: 80px 0px 0px 0px;
}
.composer_cols_container.row_staff {
    padding-bottom: 50px;
}
.staff_container .staff_card:after {
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 20%, #22345c 100%)!important;
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 20%, #22345c 100%)!important;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 20%, #22345c 100%)!important;
}
/*
    SERVIZI INT
*/
.composer_cols_container.row_servizi_title {
    padding-top: 50px;
}
.composer_cols_container.reviews_int.scrolled {
    margin-top: -100px;
}
.composer_cols_container.reviews_int {
    padding-top: 150px;
    margin-top: 0;
    opacity: 1;
    transition: all 2s ease;
}
.row_blog_servizi {
    padding-top: 90px;
}
/*
    ICONS BIG
*/
.composer_cols_container.icons_big {
    padding-top: 100px;
    padding-bottom: 80px;
}
.icons_big .icon_set > .icon_single {
    flex-direction: column;
    align-items: center!important;
}
.icons_big .icon_set > .icon_single i.fa-solid {
    width: 130px;
    height: 130px;
    font-size: 60px!important;
}
.icons_big .icon_set > .icon_single > div:last-child {
    text-align: center;
    padding-top: 40px;
    padding-left: 0;
}
.icons_big .icon_set > .icon_single > div:last-child > span:first-child {
    font-size: 32px!important;
    margin-bottom: 15px;
    font-weight: 900;
    line-height: 38px;
}
.icon_single {
    align-items: flex-start!important;
    padding-bottom: 30px;
}
.icon_single > div:first-child {
    width: 130px!important;
    height: 130px!important;
    background: white;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 0px 20px 0px rgb(141 181 220 / 30%);
    border-radius: 50%;
}
.ico_vertical .icon_single > div:first-child {
    width: 70px!important;
    height: 70px!important;
}
.icon_single:not(:last-child) > div:last-child, 
.icon_single > div:last-child {
    border: 0!important;
}
.icon_single > div:last-child > span:first-child {
    font-size: 18px!important;
    color: #3c3c3c;
    font-weight: 500;
    margin-bottom: 8px;
}
.icon_single > div:last-child > span:last-child {
    font-size: 16px!important;
    line-height: 28px;
}

.icons_big.col_medium {
    padding-top: 40px;
}
.icons_big.col_medium .icon_single {
    position: relative;
}
.icons_big.col_medium .icon_set > .icon_single i.fa-solid {
    width: 100px;
    height: 100px;
    font-size: 40px!important;
}
.icons_big.col_medium .icon_set > .icon_single > div:last-child > span:first-child {
    font-size: 22px!important;
    margin-bottom: 20px;
    line-height: 26px;
}
.col_medium .icon_single > div:last-child > span:last-child {
    font-size: 14px!important;
    line-height: 26px;
}
.icons_big.col_medium .icon_single:not(:last-child)::after {
    content: '';
    width: 1px;
    background: #d8d8d8;
    height: 100%;
    display: block;
    position: absolute;
    right: -20px;
}
/*
    ICONS VERTICAL
*/
.ico_vertical .composer_cols_wrapper.icon_set {
    flex-direction: column;
    gap: 20px;
}

.ico_vertical .composer_cols_wrapper.icon_set .icon_single {
    width: 100%;
    border-bottom: 1px solid #d8dada;
    padding-bottom: 25px;
    align-items: center!important;
}
.ico_vertical .icon_single i.fa-solid {
    width: 70px;
    height: 70px;
    font-size: 40px!important;
}
.ico_vertical .icon_single > div:last-child > span:first-child {
    font-size: 22px!important;
    font-weight: 900;
    margin-bottom: 0;
}
.ico_vertical .icon_single > div:last-child > span:last-child {
    line-height: 24px;
}
/*
    FORM PREVENTIVO FLOATING
*/
body.search .form_preventivo {
    display: none!important;
}
.form_preventivo {
    width: 100%;
    position: relative; 
}
#frm-preventivo_container {
    background: white;
    width: 100%;
    max-width: 460px;
    position: fixed;
    top: 170px;
    right: calc((100% - 1200px)/2);
    z-index: 999;
    padding: 0px 30px;
    border-top: 3px solid #32bcda;
}
#frm-preventivo_container h3 {
    font-size: 26px;
    text-align: center;
}
#frm-preventivo_container input:not([type="checkbox"]):focus-visible, 
#frm-preventivo_container select:focus-visible, 
#frm-preventivo_container textarea:focus-visible {
    outline: 0;
    border: 2px solid #32bcda;
}
#frm-preventivo_container input:not([type="checkbox"]), 
#frm-preventivo_container select, 
#frm-preventivo_container textarea {
    background: #fdfdfd;
    width: 100%;
    border: 1px solid #e8e8e8;
    font-size: 14px;
    padding: 8px 15px;
    margin-bottom: 10px;
    max-height: 100px;
    border-radius: 4px;
}
#frm-preventivo_container input::placeholder, 
#frm-preventivo_container select::placeholder, 
#frm-preventivo_container textarea::placeholder {
    color: #7a8ea0;
}
#frm-preventivo_container label.frm_file {
    color: #32bcda;
    font-size: 14px;
    padding: 6px 15px;
    margin-bottom: 10px;
    border: 2px solid;
    display: inline-block;
    border-radius: 4px;
    width: 100%;
    text-align: center;
    font-weight: 500;
    cursor: pointer;
}
#frm-preventivo_container label.frm_file input {
    display: none!important;
}
#frm-preventivo_container label.frm_accept label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a8ea0;
    margin-bottom: 20px;
}
#frm-preventivo_container label.frm_file.file_uploaded {
    background: #32bcda;
    position: relative;
}
#frm-preventivo_container label.frm_file.file_uploaded:before {
    width: 36px;
    height: 26px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_cloud.svg) no-repeat 50% 50%;
    mask: url(ico/ico_cloud.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: white;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
#frm-preventivo_container input[type="submit"] {
    background: #32bcda!important;
    text-transform: none;
    display: flex;
    justify-content: center;
    font-weight: 500;
    letter-spacing: 0.5px;
    border: 0!important;
    padding: 15px!important;
    color: white!important;
}
#frm-preventivo_container input[type="submit"]:hover {
    background: #22345c!important;
}
#frm-preventivo_container span.wpcf7-spinner {
    display: none;
}
#frm-preventivo_container span.wpcf7-not-valid-tip {
    font-size: 12px;
    line-height: 20px;
    margin-top: -8px;
    margin-bottom: 10px;
}
/*
    ACCORDION SERVIZI
*/
.acc_servizi .accordions_wrapper .acc_opener {
    position: relative;
    align-items: center;
    font-size: 22px;
    color: #2a2d4f;
    padding: 16px 0px;
    gap: 8px;
    flex-wrap: wrap;
}
.acc_servizi .accordions_wrapper .acc_opener:before {
    display: none;
}

.acc_servizi .accordions_wrapper .acc_opener:after, 
.acc_servizi .accordions_wrapper .acc_opener.opened:after, 
.acc_servizi .accordions_wrapper .acc_opener:hover::after, 
.acc_servizi .accordions_wrapper .acc_opener.opened:hover::after {
    width: 38px;
    height: 38px;
    right: 0;
    background: #32bcda;
    -webkit-mask-size: cover;
    mask-size: cover;
}
.acc_servizi .accordions_wrapper .acc_opener > .svg_content {
    background: white;
    width: 60px;
    height: 60px;
    min-width: 60px!important;
    display: flex;
    justify-content: center;
    font-size: 34px;
    border-radius: 50%;
    margin-right: 10px;
    box-shadow: 0px 0px 30px 0px rgb(141 181 220 / 20%);
    position: relative;
}
span.svg_icon {
    width: 2rem;
    height: 2rem;
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #32bcda;
}

.acc_servizi .accordions_wrapper .acc_opener strong {
    font-weight: 900;
}
.acc_servizi .accordions_wrapper .acc_content {
    border-bottom: 1px solid #d8d8d8;
}
/*
    FOOTER CTA
*/
.cta_pre_footer {
    font-weight: 400!important;
    letter-spacing: -1px;
    background: rgb(0,201,231)!important;
    background: -moz-linear-gradient(left,  rgba(0,201,231,1) 0%, rgba(45,127,143,1) 100%)!important;
    background: -webkit-linear-gradient(left,  rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%)!important;
    background: linear-gradient(to right,  rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%)!important;
}
.cta_pre_footer > div {
    padding: 50px 0px!important;
}
.cta_pre_footer > strong {
    font-weight: 900!important;
}
.cta_pre_footer a.generic_button {
    background: #4ea7b6;
    border: 0;
    letter-spacing: 0;
}
.cta_pre_footer a.generic_button:after {
    display: none;
}
.cta_pre_footer a.generic_button:first-child:hover::before, 
.cta_pre_footer a.generic_button:last-child:hover::before {
    background: #4ea7b6;
}
.cta_pre_footer a.generic_button:first-child::before {
    -webkit-mask: url(ico/ico_phone.svg) no-repeat 50% 50%;
    mask: url(ico/ico_phone.svg) no-repeat 50% 50%;
}
.cta_pre_footer a.generic_button:last-child::before {
    -webkit-mask: url(ico/ico_mail.svg) no-repeat 50% 50%;
    mask: url(ico/ico_mail.svg) no-repeat 50% 50%;
}
.cta_pre_footer a.generic_button:first-child::before, 
.cta_pre_footer a.generic_button:last-child::before {
    width: 20px;
    height: 20px;
    display: inline-block;
    content: '';
    -webkit-mask-size: cover;
    mask-size: cover;
    background: white;
    margin-right: 10px;
}
/*
    PRICING CARDS
*/
.price_cards_wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, calc((100%/3) - 14px));
    gap: 20px;
}
.price_cards_wrapper .price_card {
    background: white;
    border-top: 3px solid #0bcae7;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
}
.price_cards_wrapper .price_card > span {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
}
.price_cards_wrapper .price_card > span > strong {
    font-weight: 900;
}
.price_cards_wrapper .price_card > span:nth-child(1)::after {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    background: #f0f0f0;
    margin-top: 20px;
}
.price_cards_wrapper .price_card > span:nth-child(1) {
    font-size: 32px;
    line-height: 38px;
    padding-bottom: 5px;
    margin-bottom: 15px;
    padding-top: 30px;
}
.price_cards_wrapper .price_card > span:nth-child(2) {
    color: #0bcae7;
    font-size: 28px;
    font-weight: 900;
}
.price_cards_wrapper .price_card > span:nth-child(3) {
    padding-bottom: 20px;
}
.price_cards_wrapper .price_card > span:nth-child(4) {   
    padding-top: 25px;
    padding-bottom: 20px;
    font-size: 14px;
    line-height: 24px;
    background: #f0f0f0;
}
.price_cards_calendar {
    background: #f0f0f0;
    padding: 0px 30px 10px 30px;
    font-size: 13px;
    line-height: 18px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
}
.price_cards_calendar > div {
    display: flex;
    border-top: 1px solid #dadada;
    padding: 20px 0px;
}
.price_cards_calendar > div:nth-child(1)::before {content: '\f3c5';}
.price_cards_calendar > div:nth-child(2)::before {content: '\f073';}
.price_cards_calendar > div:nth-child(3)::before {content: '\f017';}
.price_cards_calendar > div:before {
    margin-right: 15px;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    color: #2d7f8f;
    font-size: 24px;
    line-height: 28px;
}
/*
    PACCHETTI
*/
.row_disclaimer_pacchetti {
    color: white;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    padding: 80px 15px 60px 15px;
}
.row_disclaimer_pacchetti .composer_wrapper .composer_cols_wrapper {
    max-width: 75%;
    margin: auto;
}
/*
    SIDEBAR
*/
aside .widget ul li:before {
    width: 8px;
    height: 8px;
    display: inline-block;
    content: '';
    -webkit-mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    mask: url(ico/ico_right.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: #41bdd1;
    position: absolute;
    left: 0;
    top: 7px;
}
aside .widget ul li {
    padding-left: 24px;
    position: relative;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 20px;
}
aside#secondary.widget-area h2 {
    text-transform: uppercase;
    font-size: 18px;
    color: #43b9cd;
    font-weight: 500;
    letter-spacing: 1px;
}

aside#secondary.widget-area h2:after {
    content: '';
    height: 1px;
    width: 100%;
    background: #43b9cd42;
    display: block;
}
#back_top {
    background: #43b9cd;
    display: flex;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999999;
    border-radius: 50%;
    padding: 10px;
    cursor: pointer;
    width: 60px;
    height: 60px;
    justify-content: center;
    align-items: center;
}
#back_top > i {
    font-size: 28px;
}
#open_chat {
    background: #43b9cd;
    display: flex;
    position: fixed;
    bottom: 100px;
    right: 30px;
    z-index: 999999;
    border-radius: 50%;
    padding: 10px;
    cursor: pointer;
    width: 60px;
    height: 60px;
    justify-content: center;
    align-items: center;
}
#open_chat > i {
    font-size: 28px;
}
.grecaptcha-badge {
    display: none!important;
}
.wpac {
    overflow: hidden!important;
}
/*
    SEARCH PANEL
*/
#search_panel {
    background: #2d7f8f!important;
    background: -moz-linear-gradient(325deg, #2d7f8f 0%, #00c9e7 100%)!important;
    background: -webkit-linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%)!important;
    background: linear-gradient(325deg, #2d7f8f 0%,#00c9e7 100%)!important;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d7f8f', endColorstr='#00c9e7',GradientType=1 )!important;
}
#search_panel > div {
    position: absolute;
    padding-left: 60px;
}
#search_panel > div:before {
    content: '';
    position: absolute;
    left: 0;
    top: 20px;
    width: 50px;
    height: 50px;
    -webkit-mask: url(ico/ico_search.svg) no-repeat 50% 50%;
    mask: url(ico/ico_search.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background: white;
}
#search_panel input[type=text] {
    background: transparent;
    color: white;
    padding: 10px 0px 20px 0px!important;
    line-height: 100%;
    outline: 0;
}
#search_panel input[type=text]::placeholder {
    color: white;
}
.search_panel_quick_links {
    color: white;
    display: inline-flex;
    flex-direction: column;
}
.search_panel_quick_links a {
    color: white;
    margin-bottom: 6px;
}
.search_panel_quick_links a:hover {
    color: #014a56;
}
.search_panel_quick_links span {
    display: block;
    margin-bottom: 20px;
    margin-top: 20px;
}
img.logo_search_panel {
    position: absolute;
    left: 30px;
    top: 10px;
    width: 200px;
}
/*
    TRUSTPILOT
*/
.trustpilot-widget > iframe {
   /* height: 19px!important; */
}
.ak-trustpilot-carosello {
    margin-top: 50px;
    margin-bottom: 30px;
}
@media (min-width: 767px){
    .ak-trustpilot-carosello {
        max-height: 150px;
    }
}
#tp-widget-wrapper > a {
    display: flex;
    align-items: center;
}
#tp-widget-wrapper > a > div#trust-score, 
#tp-widget-wrapper > a > div#tp-widget-stars, 
#tp-widget-wrapper > a > div#tp-widget-logo {
    margin-bottom: 0px!important;
}
.trustpilot_mob {
    background: #32bcda;
    padding: 8px 0px;
}



@media all and (max-width:1280px) {
    .main-navigation li.mega_menu > ul.sub-menu {
        padding-left: 20px;
        padding-right: 20px;
    }
    .slider_vertical_container > div > span {
        width: 100%;
    }
    .slider_vertical_container > div {padding: 60px 20px 70px 20px;}
    .slider_vertical_container:after {
        background: #22345c!important;
        opacity: 0.9;
    }
    .home_header_container {
        margin-left: 0;
        padding: 0px 20px;
    }
    .composer_wrapper .text_img_bkg > div > div {
        padding: 60px 20px!important;
    }
    .top_header_single.image {
        height: auto;
        padding: 40px 30px 20px 30px;
    }
    #frm-preventivo_container {
        max-width: 380px;
        right: 20px;
        padding: 0px 20px;
    }
    .acc_servizi .accordions_wrapper .acc_opener {
        flex-wrap: nowrap;
        position: relative;
        font-size: 16px;
        line-height: 20px;
        padding: 30px 30px 30px 0px;
    }
    .acc_servizi .accordions_wrapper .acc_opener:before {margin: 0;}
    .acc_servizi .accordions_wrapper .acc_opener > span, 
    .acc_servizi .accordions_wrapper .acc_opener > i {
        position: absolute;
        left: 0;
        width: 40px;
        height: 40px;
        font-size: 26px;
    }
    .top_header_single.image.text-image .header_claim_container .header_claim {
        padding: 60px 20px;
    }
}
@media all and (max-width:1024px) {
    body p {
        font-size: 14px;
        line-height: 22px;
    }
    h1 {
        font-size: 30px;
        line-height: 40px;
    }
    .composer_wrapper .text_img_bkg > div > div {
        width: 100%!important;
    }
    span.tit-txt-tit-bkg_big-title, 
    .sub_header, 
    .home_header_wrapper:before {
        display: none;
    }
    div#mob_menu_toggle > span {
        background: #00c9e7;
        width: 30px;
        height: 3px;
        display: block;
        margin-bottom: 6px;
    }
    div#mob_menu_toggle > span:last-child {width: 20px;margin: 0;}
    .mob_logo_container {padding: 12px 20px!important;}
    .mob_logo_container .custom-logo {max-height: 37px;}
    a.mob_phone_ico i.fa-solid {
        font-size: 24px;
    }
    .home_header_container {
        margin: auto;
        flex-direction: column;
        text-align: center;
    }
    .home_header_container > div:first-child {
        padding: 40px 20px 20px 20px;
        color: #22345c;
    }
    .home_header_container > div:first-child h1 {
        color: #00c9e7;
        font-size: 30px;
        line-height: 40px;
    }
    .home_header_container > div:first-child span {font-size: 18px;}
    #video_close {
        right: -10px;
        font-size: 30px;
        top: -50px;
        width: 40px;
        height: 40px;
    }
    .tit-txt-tit-bkg_title {
        font-size: 22px;
        line-height: 28px;
    }
    
    .composer_cols_container.row_contattaci {padding-top: 90px;}
    .composer_cols_container.row_contattaci.scrolled {margin-top: -60px;}
    .hp_post_grid_container {grid-template-columns: repeat(auto-fill, calc(50% - 10px));}
    .hp_post_grid_img {padding-top: 100%;}
    a.hp_post_grid_link {display: block;}
    /*
        HEADER MOBILE
    */
    /* AKEDIT 60 -> 95px  */
    div#page {padding-top: 95px;}
    header#mobthead {
        position: fixed;
        width: 100%;
        top: 0;
        background: white;
        z-index: 9999999;
        height: 95px;
        overflow: hidden;
    }
    
    body.home header#mobthead {
		height: 60px;
	}
    
	body.home div#page {padding-top: 60px; }
    
    header#mobthead.mobile_menu_open {
        height: 100%;
    }
    .mobile-header .header_menu_nav {
        background-color: white!important;
    }
    ul.mob-menu {
        padding: 10px 20px!important;
    }
    ul.mob-menu li {
        padding: 8px 0px!important;
    }
    .mobile-header ul.mob-menu li a {
        color: #2a2d4f!important;
        font-size: 16px;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 600;
    }
    .mobile-header ul.mob-menu li.current-menu-item > a, 
    .mobile-header ul.mob-menu li.current-menu-ancestor > a {
        color: #2d7f8f!important;
    }
    span#mob_open:after {
        color: #2a2d4f!important;
        font-size: 16px!important;
        font-weight: 600;
    }
    div#search_panel_mobile {
        padding: 0px 20px;
        position: relative;
    }
    div#search_panel_mobile input[type="text"] {
        border-left: 0px;
        border-right: 0px;
        width: 100%;
        font-size: 14px;
        padding: 8px 0px;
        border-color: #f2f2f2;
        border-radius: 0;
    }
    div#search_panel_mobile:after {
        content: '';
        position: absolute;
        right: 20px;
        bottom: 8px;
        width: 24px;
        height: 24px;
        -webkit-mask: url(ico/ico_search.svg) no-repeat 50% 50%;
        mask: url(ico/ico_search.svg) no-repeat 50% 50%;
        -webkit-mask-size: cover;
        mask-size: cover;
        background: #2d7f8f;
    }
    .mob_menu_contacts {
        display: flex;
        flex-direction: column;
        padding: 0px 20px;
    }
    .mob_menu_contacts a {
        border-top: 1px solid #f0f0f0;
        padding: 10px 0px;
        color: #505050;
        font-size: 14px;
    }
    .mob_menu_contacts a:last-child {
        border-bottom: 1px solid #f0f0f0;
    }
    .mob_menu_contacts a i {
        color: #00c9e7;
        margin-right: 15px;
    }
    .contact_icons.mobile_dev {display: none;}
    .mobile_menu_open .contact_icons.mobile_dev {
        display: flex;
        position: absolute;
        bottom: 30px;
        top: unset;
        right: unset;
        flex-direction: row;
        left: 50%;
        transform: translateX(-50%);
    }
    #mob_menu_toggle > span {
        transition: all 1s;
    }
    .mobile_menu_open #mob_menu_toggle > span:nth-child(1) {
        transform: rotate(45deg) translateX(4px) translateY(4px);
    }
    .mobile_menu_open #mob_menu_toggle > span:nth-child(2) {
        transform: rotate(-45deg) translateX(2px) translateY(-2px);
    }
    .mobile_menu_open #mob_menu_toggle > span:last-child {
        display: none;
    }
    /*
        SLIDER
    */
    .slider_services_container {flex-direction: column;}
    .slider_services_wrapper {padding: 45px 0px 90px 0px;}
    .slider_services_container > div:first-child {order: 2;}
    .slider_services_container > div:first-child > div {max-width: 100%;padding: 30px;}
    /*.slider_services_container > div:last-child > div {padding-top: 50%;}*/
    .slider_services_container > div:last-child > div > span {display: none;}
    .slider_services_wrapper .slider_center_img, 
    .slider_services_container > div:last-child > div:after {display: none;}
    .slider_services_container > div:first-child > div > span:nth-child(1) {font-size: 12px;}
    .slider_services_container > div:first-child > div > span:nth-child(2) {font-size: 22px;line-height: 28px;}
    .slider_services_container > div:first-child > div > span:nth-child(3) {font-size: 14px;line-height: 22px;margin-bottom: 20px;}
    /*
        SLIDER VERTICAL
    */
    .slider_vertical_container:after {background: #22345c!important;}
    .slider_vertical_container > div > span {width: 100%;}
    .slider_vertical_container > div > span:nth-child(1) {
        font-size: 22px;
        line-height: 28px;
    }
    .slider_vertical_container > div > span:nth-child(2) {
        font-size: 14px;
        line-height: 22px;
    }
    .mobile_dev .hp_post_grid_card.slick-slide {margin: 0px 5px;}
    .hp_post_grid_content {
        left: 24px;
        right: 24px;
        bottom: 30px;
    }
    span.hp_post_grid_title {
        font-size: 14px;
        line-height: 22px;
    }
    .composer_cols_container.row_hp_2_col ul {columns: 2;}
    .composer_cols_container.row_hp_2_col h3 {
        margin-top: 0;
        font-size: 22px;
        line-height: 28px;
    }
    .composer_cols_container .tit-txt-tit-bkg_text {
        font-size: 14px;
        line-height: 22px;
    }
    .composer_cols_container.big_title_row.margin_negative {margin-bottom: auto;}
    .composer_cols_container .composer_wrapper .text_img_bkg:after {background: #22345c;}
    .composer_wrapper .text_img_bkg > div > div h2 {
        font-size: 22px;
        line-height: 28px;
    }
    .composer_cols_container.row_staff_title {
        padding: 10px 0px 0px 0px;
    }
    span.tit-txt-tit-bkg_title {
        font-size: 22px;
        line-height: 30px;
        padding: 20px 0px;
    }
    .icons_big .composer_cols_wrapper.icon_set {
        flex-direction: row!important;
        gap: 30px;
    }
    .top_header_single.image.text-image .header_claim_container {
        flex-direction: column;
        padding: 0px 30px;
        gap: 20px;
    }
    .top_header_single.image.text-image .header_claim_container .header_claim {text-align: center;padding: 10px 0px;}
    .header_claim > span.slide_header_title, .header_claim > h1.slide_header_title {
        font-size: 30px!important;
        line-height: 40px;
    }
    .top_header_single.image.text-image .header_claim > span:not(.pre_title) {
        font-size: 22px;
        line-height: 28px;
    }
    .top_header_single.image.text-image .header_claim > span.pre_title {font-size: 18px;}
    .header_claim > span {padding: 0px 20px!important;}
    .icons_big .icon_set > .icon_single i.fa-solid {
        width: 100px;
        height: 100px;
        font-size: 50px!important;
    }
    .icons_big .icon_set > .icon_single > div:last-child > span:first-child {
        font-size: 22px!important;
        line-height: 28px;
    }
    .icon_single > div:last-child > span:last-child {
        font-size: 12px!important;
        line-height: 20px!important;
    }
    .price_cards_wrapper {
        grid-template-columns: repeat(auto-fill, 100%);
    }
    .sub_footer_wrapper {
        flex-direction: column;
        row-gap: 25px;
    }
    .sub_footer_wrapper > div:first-child {order: 2;}
    ul#menu-menu-footer {
        padding: 0px 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 5px;
        column-gap: 15px;
    }
    .footer_col > .textwidget a {
        display: block;
    }

    .cta_pre_footer > div {
        padding: 35px 20px!important;
        flex-direction: column;
        gap: 20px;
        font-size: 22px;
        line-height: 28px;
        text-align: center;
    }
    .cta_pre_footer span:last-child {
        flex-direction: column;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        gap: 10px;
    }
    .cta_pre_footer span:last-child a {
        width: 100%;
        margin: auto!important;
        justify-content: center;
    }
    .cta_pre_footer a.generic_button {background: #45b7c9!important;}
    .cta_pre_footer {
        background: -moz-linear-gradient(bottom, rgba(0,201,231,1) 0%, rgba(45,127,143,1) 100%)!important;
        background: -webkit-linear-gradient(bottom, rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%)!important;
        background: linear-gradient(to top, rgba(0,201,231,1) 0%,rgba(45,127,143,1) 100%)!important;
    }

    .form_preventivo {padding: 40px 20px;}
    #frm-preventivo_container {
        width: 100%;
        max-width: 100%;
        position: relative;
        top: unset;
        right: unset;
        padding: 10px 30px;
    }
    .header_claim {max-width: 100%;}
    .header_claim > span.pre_title {
        padding: 0!important;
        text-align: left;
        font-size: 18px;
    }
    .top_header_single.image.text-image .header_claim > span.pre_title {text-align: center;}
    .icons_big.col_medium .icon_single:not(:last-child)::after {display: none;}
    .composer_wrapper .text_img_bkg ul li {
        font-size: 14px;
        margin-bottom: 6px;
    }
    .img_box_card_related {
        margin: 0px 5px;
        padding-top: 80%;
    }
    .img_box_card_related > span {
        font-size: 15px;
        line-height: 21px;
    }
    .cta_preventivo {
        padding: 10px 20px;
        position: fixed;
        bottom: 0;
        width: 100%;
        background: white;
        z-index: 999;
    }
    .cta_preventivo a {
        background: #32bcda;
        color: white;
        display: block;
        text-align: center;
        line-height: 100%;
        font-size: 15px;
        padding: 16px 10px;
        border-radius: 4PX;
    }
    .home_header_wrapper {
        background: -moz-linear-gradient(top, #43b9cd 0%,#ffffff 20%);
        background: -webkit-linear-gradient(top, #43b9cd 0%,#ffffff 20%);
        background: linear-gradient(to bottom, #43b9cd 0%,#ffffff 20%);
    }
    .home_header_container .trustpilot-widget iframe {
        width: 100%!important;
    }
    #back_top {
        bottom: 80px;
        right: 10px;
        width: 50px;
        height: 50px;
    }
    #open_chat {
        bottom: 140px;
        right: 10px;
        width: 50px;
        height: 50px;
    }
    .contact_icons {
        bottom: 200px;
    }
    .contact_icons.open {
        right: 10px;
    }
    #back_top > i, 
    #open_chat > i {
        font-size: 22px;
    }
    #CookiebotWidget:not(.CookiebotWidget-inactive) {
        bottom: 80px!important;
    }
    .cta_preventivo {
        display: flex;
        width: 100%;
        gap: 10px;
        align-items: center;
    }
    .cta_preventivo > a {
        flex: auto;
    }
    .cta_preventivo > a:last-child {
        font-size: 24px;
        padding: 10px;
        line-height: 100%;
    }
}
@media all and (max-width:768px) {
    .composer_cols_container .img_boxes_wrapper a {flex-basis: 100%!important;}
    .composer_cols_container.row_service_boxes .img_boxes_wrapper a {
        flex-basis: 100%!important;
        max-width: 100%;
    }
    .composer_cols_container .img_boxes_wrapper a {flex-basis: 50%!important;}
    .composer_cols_container.row_service_boxes .img_boxes_wrapper a {
        flex-basis: 100%!important;
        max-width: 100%;
    }
    .hp_post_grid_container {grid-template-columns: repeat(auto-fill, 100%);}
    .hp_post_grid_img {padding-top: 100%;}
    .subfooter {margin-bottom: 66px;}
}