@charset "UTF-8";

/* Pill Gothic 300mg Regular
	font-family: pill-gothic-300mg, sans-serif;
	font-weight: 400;
	font-style: normal;


Pill Gothic 300mg Oblique
	font-family: pill-gothic-300mg, sans-serif;
	font-weight: 400;
	font-style: italic;


Pill Gothic 300mg Bold
	font-family: pill-gothic-300mg, sans-serif;
	font-weight: 700;
	font-style: normal;


Pill Gothic 300mg Bold Italic
	font-family: pill-gothic-300mg, sans-serif;
	font-weight: 700;
	font-style: italic; */


@font-face {
    font-family: 'pill_gothic_600mgsemibd';
    src: url('../font/pill_gothic_600mg_semibd-webfont.eot');
    src: url('../font/pill_gothic_600mg_semibd-webfont.eot?#iefix') format('embedded-opentype'),
         url('../font/pill_gothic_600mg_semibd-webfont.woff2') format('woff2'),
         url('../font/pill_gothic_600mg_semibd-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}



/* GLOBAL
----------------------------------------------------------------------------- */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	}

html{
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
    position: relative;
	}

body{
	font-family: 'Palanquin', sans-serif;
	font-size: 20px;
	line-height: 1.5;
	color: #4A4A4A;
	font-weight: 300;
	}

*:focus{
	outline: 0;
	}

.clearfix::after {
	content: "";
	clear: both;
	display: table;
	}

.top_menu li,
.no_list li{
	display: inline-block;
	list-style: none;
	margin: 0;
	}

.img_fluid{
	display: block;
	width: 100%;
	height: auto;
	}

.img_rounded{
	border-radius: 50%;
	}

.float_sx{
	float: left;
	}

.float_dx{
	float: right;
	}

.align_sx{
	text-align: left;
	}

.align_dx{
	text-align: right;
	}

.align_center{
	text-align: center;
	}

.uppercase{
	text-transform: uppercase;
	}

.clr_primary{	color: #6CA0EF; }
.clr_dark{		color: #4A4A4A; }
.clr_grey{		color: #979797; }
.clr_white{ 	color: #FFFFFF; }

.bg_primary{ 	background-color: #6CA0EF; }
.bg_white{ 		background-color: #FFFFFF; }


/* Resposive Helpers */
.show_from_ds,
.show_from_tl,
.show_from_tp,
.show_from_sl,
.show_from_sp,
.show_from_ss{
	display: none;
	}



/* TYPOGRAPHY + GRAPHIC ELEMENTS
----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6{
	font-size: inherit;
	}

.heading_1,
.heading_2,
.heading_3,
.heading_4,
.heading_5{
	font-family: "pill_gothic_600mgsemibd";
	letter-spacing: 2.5px;
	font-style: normal;
	font-weight: normal;
	}

.heading_1{
	font-size: 50px;
	line-height: 1.2;
	}

	.heading_1 p{
		margin: 0;
		}

.heading_2{
	font-size: 40px;
	}

.heading_3{
    font-size: 30px;
	}

.heading_4{
    font-size: 20px;
	}

.heading_5{
    font-size: 15px;
	}

strong{
	font-weight: 500;
	}

p{
	margin-bottom: 18px;
	}

.text_tiny{
	font-size: 12px;
	}

.text_small{
	font-size: 15px;
	}

.text_big{
	font-size: 20px;
	}

.heading_404{
	font-size: 120px;
	margin-bottom: 20px;
	}

/* Editor */
.wysiwyg_output h2{
	font-weight: 400;
    font-size: 24px;
    color: #6da1ef;
    padding: 40px 0 20px 0;
	}

.wysiwyg_output h3{
	color: #6da1ef;
	font-weight: 400;
	padding: 40px 0 20px 0;
    font-size: 22px;
	}

.wysiwyg_output h4{
	font-weight: 400;
    font-size: 20px;
	margin-bottom: 10px;
	}

.wysiwyg_output h5{
	font-weight: 400;
    font-size: 16px;
	}

.wysiwyg_output ul,
.wysiwyg_output ol{
	padding-left: 18px;
	margin-bottom: 16px;
	}

.wysiwyg_output li{

	}

.wysiwyg_output a{
	color: inherit;
	}




/* Styled Paraghraph */
.styled_paragraph{
	position: relative;
	margin-left: 4%;
	}

.styled_paragraph::before{
	height: 90px;
    width: 3px;
    content: "";
	background: #979797;
    position: absolute;
    top: 8px;
    left: -46px;
    display: block;
	}

.styled_paragraph ul{
	margin-left: 20px;
    margin-bottom: 20px;
	}

.styled_paragraph .heading_3{
	margin-bottom: 24px;
	}

.item_materiale .styled_paragraph{
	margin-left: 0;
	}

.item_materiale .styled_paragraph::before{
	position: static;
	}

.item_materiale .styled_paragraph .heading_3{
	margin-bottom: 24px;
	position: absolute;
	left: 40px;
	top: 0;
	}

/* Icons */
.icon{
	margin-bottom: 50px;
    margin-left: 20px;
	}

.item_servizi .icon{
	transform: translateX(-50%);
	}


/* Arrows */
.arrow{
	width: 47px;
	height: 48px;
	display: block;
	transform: translateX(0) translateY(0);
    transition: transform .5s ease;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	}


.arrow:hover,
.image_overlay:hover .arrow {
    transform: translateX(15px) translateY(-15px);
	}

.arrow_white{
	background-image: url('../img/arrow-white.svg')
	}

.arrow_cyan{
	background-image: url('../img/arrow-cyan.svg')
	}



/* FORMS
----------------------------------------------------------------------------- */

/* Reset Form Styles */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: "color 9999s ease-out, background-color 9999s ease-out";
    -webkit-transition-delay: 9999s;
    }

/* CF7 */
div.wpcf7,
.form_directions {
    margin-top: 54px;
	}

div.wpcf7 br{
    display: none !important;
    }

button,
textarea,
input{
	font-family: 'Palanquin', sans-serif;
    }

/* Submit Button */
.wpcf7-submit{
	font-size: 15px;
	display: block;
	appearance: none;
    color: #6ba0ef;
	font-weight: 600;
	border: 0;
	cursor: pointer;
	padding: 4px 0;
    background: #FFF;
	position: relative;
	text-transform: uppercase;
	float: right;
	display: block;
	}

.wpcf7-submit:after{
	top: 34px;
    position: absolute;
    left: 0;
    height: 2px;
    width: 100%;
    content: '';
    background-color: #6ba0ef;
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: transform .3s cubic-bezier(.165,.84,.44,1);
    transition: transform .3s cubic-bezier(.165,.84,.44,1),-webkit-transform .3s cubic-bezier(.165,.84,.44,1);
	}

.wpcf7-submit:hover:after{
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
	}





/* Floating Labels */
.floating_label {
    position: relative;
    margin-bottom: 1.5rem;
    width: 48%;
    }

.floating_label.fullwidth{
	width: 100%;
	}

.floating_input{
	border: none;
    border-bottom: 2px solid #d4d4d4;
    display: block;
    width: 100%;
    height: 54px;
    border-radius: 0;
	font-size: 20px;
    font-weight: 300;
    }

    .floating_input:focus{
        border-width: 2px;
        outline: none;
        }

.floating_label label {
    color: rgba(0,0,0,0.4);
    position: absolute;
    pointer-events: none;
    top: 12px;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    }


.floating_input:focus ~ label,
.floating_input:not(:placeholder-shown) ~ label {
	top: -10px;
    font-size: 14px;
    color: #6ba0ef;
    }

/* IE 11 Hack */
@media all and (-ms-high-contrast:none){
    .floating_label label{
        top: -10px;
		font-size: 14px;
    }
}

/* Edge Hack */
@supports (-ms-ime-align:auto) {
    .floating_label label{
        top: -10px;
		font-size: 14px;
    }
}

/* Hide placeholders */
::-webkit-input-placeholder { opacity: 0; }
     :-ms-input-placeholder { opacity: 1; }
         ::-moz-placeholder { opacity: 0; }
          :-moz-placeholder { opacity: 0; }


/* Acceptance */
.acceptance{
	font-size: 13px;
    opacity: 1;
    display: block;
    float: left;
    width: 100%;
    margin-top: 30px;
	}

.acceptance a{
    text-decoration: underline;
	color: #6CA0EF;
    }

/* Validation */
span.wpcf7-not-valid-tip,
.screen-reader-response{
    display: none;
    }

div.wpcf7-response-output{
    display: none;
    padding: 14px 20px;
    margin: 0 0 30px 0;
    border: 0;
    font-size: 16px;
    }

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing{
    background: #e5554f;
    color: #FFF;
    }

div.wpcf7-mail-sent-ok{
    background: #40ca7a;
    color: #FFF;
    }

form.sent p,
form.sent .acceptance,
form.sent .floating_label{
    display: none;
    }



/* LAYOUT
----------------------------------------------------------------------------- */
.container{
	max-width: 1240px;
	width: 100%;
	padding: 0 40px;
	margin: auto;
	position: relative;
	}

.container_narrow{
	max-width: 720px;
	}

.container_large{
	max-width: 1400px;
	}


html[lang="it-IT"] .align_at_nav{
    padding-left: 30px;
	}

html[lang="en-US"] .align_at_nav{
	padding-left: 3px;
	}



/* Paddings */
.set_pt_large{	padding-top: 16%;		}
.set_pb_large{  padding-bottom: 16%; 	}
.set_pt_medium{	padding-top: 12%;		}
.set_pb_medium{ padding-bottom: 12%; 	}
.set_pt_normal{ padding-top: 9%;		}
.set_pb_normal{ padding-bottom: 9%; 	}
.set_pt_small{	padding-top: 6%;		}
.set_pb_small{  padding-bottom: 6%; 	}
.set_pt_tiny{	padding-top: 3%;		}
.set_pb_tiny{   padding-bottom: 3%; 	}

/* Overlayer Images */
.image_overlay{
	position: relative;
	display: block;
	}

.image_overlay_content{
	position: absolute;
	padding: 40px;
	width: 100%;
	height: 100%;
	z-index: 2;
	}

.image_overlay_content .heading_3,
.image_overlay_content .heading_4{
    position: absolute;
    padding-bottom: 28px;
	bottom: 0;
	}


/* Sticky Elements */
.list_servizi_filter{
    padding: 20px 0 24px 0;
	background: #FFF;
	}

.list_servizi_filter a{
	text-decoration: none;
	letter-spacing: 1.5px;
	position: relative;
	font-size: 14px;
	font-weight: 500;
	}

.list_servizi_filter a::after{
	content: "•";
	margin-right: 8px;
    margin-left: 4px;
	display: inline-block;
	}

.list_servizi_filter li:last-child a::after{
	display: none;
	}

	.js_sticky{
	    position: -webkit-sticky;
	    position: sticky;
		z-index: 100;
		top: 134px;
		}





/* HOME PAGE
----------------------------------------------------------------------------- */

/* Video */
.hp_hero,
.hp_section,
.page_section{
	position: relative;
	}

.hp_section{
	background-size: cover;
	background-repeat: no-repeat;
	}

.hp_hero_content{
	position: absolute;
    z-index: 2;
    width: 100%;
    bottom: 30%;
	}

.bg_video_wrap{
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	}

.bg_video {
	background-color: #000;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
	z-index: 1;
    opacity: 1
    }


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
   /* IE10+ CSS */
   .bg_video {
       position: static;
	   float: left;
	   width: 100%;
	   }
}


@supports (-ms-accelerator:true) {
   /* IE Edge 12+ CSS */
   .bg_video {
       position: static;
	   float: left;
	   width: 100%;
	   }
}


@supports (-ms-ime-align:auto) {
    /* IE Edge 16+ CSS */
	.bg_video {
		position: static;
		float: left;
		width: 100%;
		}
}



/* PAGE SECTIONS
----------------------------------------------------------------------------- */
.section_padding{
	position: relative;
	padding: 16% 0;
	}

.section_padding_medium{
	padding: 13% 0;
	}

.section_padding_small{
	padding: 6.5% 0;
	}

.section_title{
	position: absolute;
	letter-spacing: 1.5px;
	font-size: 15px;
	width: 100%;
	top: 60px;
	}

.section_intro{
	padding-top: 4px;
	}

/* Servizi */
.section_list_servizi{
	border-bottom: 1px solid #979797;
	padding-bottom: 6.5%;
	}

.item_servizi{
    align-items: center;
    display: flex;
	}

.item_servizi_img_wrap{
	width: 44%;
	float: left;
	}

.item_servizi_text_wrap{
	padding: 0 16% 0 7%;
	width: 56%;
	float: left;
	}

.item_servizi h2{
	margin-bottom: 20px;
	}

/* Contatti */
.vcard_link{
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 2px;
	font-size: 20px;
	margin-top: 42px;
	font-weight: 600;
	background-repeat: no-repeat;
	background-image: url('../img/arrow-down-dark.svg');
	background-position: right center;
	padding-right: 60px;
	display: inline-block;
	}

.map{
	width: 100%;
	height: 540px;
	background: #eee;
	}


/* Downloads */
.download_list_item{
	width: 100%;
	padding: 20px 0;
	border-bottom: 2px solid #d4d4d4;
	}

.download_list_item:first-child{
	padding-top: 10px;
	}

.download_list_item a{
	background-image: url('../img/arrow-down-cyan.svg');
    background-repeat: no-repeat;
    transition: all ease-in-out 0.2s;
    text-decoration: none;
    background-position: right center;
    width: 98%;
    display: block;
	}

.download_list_item a:hover{
	color: #6CA0EF;
	}

.logo_assofermet{
	margin-top: 60px;
	}


/* SLIDERS
----------------------------------------------------------------------------- */
.swiper-pagination {
	position: static;
    margin: 24px 0;
	}

.swiper-pagination.home-swiper-pagination{
	position: absolute;
	width: 100%;
	bottom: 0;
	}

.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	opacity: 1
	background: #D8D8D8;
	margin: 0 7px;
	}

.swiper-pagination-bullet-active{
	background: #4A4A4A;
	}


/* HEADER
----------------------------------------------------------------------------- */
.site_header{
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);
	padding: 40px 0 30px 0;
	position: relative;
	z-index: 3;
	width: 100%;
    }

.home .site_header{
	position: absolute;
	box-shadow: none;
	}

.site_logo {
	float: left;
	display: block;
	max-width: 215px;
	}


/* Sticky Header */
.site_header.sticky_header{
	background: rgba(255,255,255,0.9);
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);
    position: fixed;
	z-index: 9999;
	top: 0;
	}


.sticky_header + .page_section{
	margin-top: 134px;
	}

/* Navigation */
.top_menu{
	position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
	line-height: 32px;
	}

.top_menu li{
	margin: 0 20px;
	}

.top_menu li:first-child{
	display: none;
	}

.top_menu a{
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1.6px;
	text-decoration: none;
	position: relative;
	color: #6CA0EF;
	font-weight: 400;
	padding: 10px 0;
	}


/* Language Selector */
.top_menu .wpml-ls-first-item:before{
	border-left: 1px solid #6ba0ef;
    content: "";
    position: relative;
    left: -44px;
    height: 34px;
    float: left;
    margin-left: 44px;
	top: 4px;
	}


/* Hover Effect */
.top_menu a:after{
	top: 80px;
    position: absolute;
    left: 0;
    height: 2px;
    width: 100%;
    content: '';
    background-color: #6ba0ef;
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: -webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: transform .3s cubic-bezier(.165,.84,.44,1);
    transition: transform .3s cubic-bezier(.165,.84,.44,1),-webkit-transform .3s cubic-bezier(.165,.84,.44,1);
	}

.top_menu .wpml-ls-current-language a:after,
.top_menu .wpml-ls-current-language a:hover:after,
.top_menu a:hover:after,
.top_menu .current-menu-item a:after,
.top_menu .current-menu-item a:hover:after{
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    top: 85px;
	}

.top_menu li:not(.wpml-ls-menu-item) a:after,
.top_menu li:not(.wpml-ls-menu-item) a:hover:after{
    top: 80px !important;
}


/* FOOTER
----------------------------------------------------------------------------- */
/* Back To Top */
.back_2_top{
	bottom: 0;
	right: -50px;
	position: absolute;
	display: block;
	}

.back_2_top i{
	background-image: url('../img/arrow-up-cyan.svg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 50px;
	height: 50px;
	transform: translateX(0) translateY(0);
    transition: transform .5s ease;
	}

.back_2_top:hover i{
    transform: translateX(0) translateY(-30px);
	}

/* Footer */
.site_footer{
	padding: 50px 0 30px 0;
	background: #001F60;
	font-size: 15px;
    line-height: 1.8;
	color: #FFF;
	}

.site_footer a{
	text-decoration: none;
	color: #FFF;
	}

.site_footer_certificazioni{
	display: block;
    width: 100%;
    float: left;
    margin-top: 36px;
	}

.site_footer_certificazioni a{
	margin: 20px 0 60px 0;
    display: inline-block;
    font-weight: 600;
    letter-spacing: 1.5px;
    position: relative;
    padding-right: 50px;
	}

.site_footer_certificazioni a i{
	width: 33px;
    height: 17px;
    background-image: url('../img/arrow-down-white-footer.svg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    display: block;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg) scale(80%);
    position: absolute;
    right: 0.5rem;
	}
