@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700');
@import url('//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css');
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li, dl, dt, dd, form, a, fieldset, input, th, td { border: 0; outline: none; margin: 0; padding: 0; }
html, body { height: 100%; }
body { background-color: #ffffff; margin: 0; font-family: 'Roboto', sans-serif; color: #595958; font-size: 16px; line-height: 28px; text-rendering: optimizeLegibility; text-align: left; }
p { margin: 0 0 16px 0; }
img { max-width: 100%; height: auto }
::selection { background: #ee5235; color: white; }
H1, H2, H3, H4, H5 { font-family: 'Roboto', sans-serif; text-rendering: optimizelegibility; color:rgb(0, 0, 0); }
h1 { font-weight: 300; font-size:38px; line-height:44px; }
h2 { font-size:31px; font-weight:normal; line-height:36px; padding:0 0 15px 0 }
h3 { padding:0px 0 15px 0; line-height:30px; font-size:22px; font-weight:300; margin:0 }
h4 { font-weight: 300; font-size:22px; line-height: 30px; padding:20px 0 15px 0 ; margin:0}
A { COLOR: #F70303; text-decoration: none; transition: all 0.4s ease; -o-transition: all 0.4s ease; -webkit-transition: all 0.4s ease; }
A:active { COLOR: #444; }
A:hover { color: #F70303 }
.wrapper { width: 1000px; margin: 0 auto }

.page_content_fill p { font-size:18px; }

.testata { background-image:url(images/page-header_Insurance.jpg); background-color: #f3f3f4;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; height:400px; padding-top:156px; text-align:center }

.testata-home { position:relative; text-align:center }
.testata-home img { width:100%;}
.testata-home .centering {
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    padding: 15px;
}

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

.text-center { text-align:center }

.video_wrapper { padding-top:30px; }
.video_left { width:49%; float:left; }
.video_right { width:49%; float:right; }

.content { background: #f1f1f1; padding: 30px 0 }
.content_new { background: #EBEED9; padding: 30px 0 }
.content_new .intro { padding: 0px 0 10px 0;  font-weight: bold; color: #65780F; font-size: 20px; line-height: 24px; }
.row { width: 605px; margin: 0 auto; padding: 20px 0 }
.row .thumb { width: 337px; height: 211px; float: left; position: relative; }
.row .thumb img { position: absolute; top: 0; left: -15px }
.row .dati { width: 268px; float: left; text-align: left; padding: 60px 0 0 0; }
.row .dati a { margin: 22px 0 0 0; padding: 2px 12px 3px 56px; color: #fff; font-size: 16px; display: inline-block; position: relative; }
.row .dati a span { width: 38px; height: 36px; position: absolute; bottom: 3px; left: 10px; }
.row .dati a span.computer { background: url(images/icon-computer.png) center bottom no-repeat; }
.row .dati a span.phone { background: url(images/icon-phone.png) center bottom no-repeat; }
.row .dati a span.tablet { background: url(images/icon-tablet.png) center bottom no-repeat; }
.row.duomo .dati a { background: #CF7A81; }
.row.sesto .dati a { background: #ACB6D1; }
.row.brera .dati a { background: #70AB99; }
.row.piemonte .dati a { background: #C2A271; }
.row.classic_1 .dati a { background: #48697A; }
.row.classic_2 .dati a { background: #6364A7; }
.row.right .dati, .row.right .thumb { float: right; text-align: right; }
.row.right .dati a { padding: 2px 56px 3px 12px; }
.row.right .dati a span { left: auto; right: 10px }
#header { padding:0px 0; background:#ffffff; text-align:center } 
#header .logo-cat { display:inline-block; width:320px; }
#header #logo img { width: 100% }
#header .slogan { float: left; margin: 55px 0 0 0; }
#header .social { position: absolute; top: 9px; right: 0; z-index: 2; line-height: 20px; height: 20px; width: 300px; text-align: right; color: #fff; font-variant: inherit }
#header .social a { display: inline-block; height: 20px; line-height: 20px; vertical-align: bottom; margin: 0 0 0 11px; }
#header .social a img { width: auto; height: 20px; vertical-align: bottom; }
.apertura { }
.apertura .wrapper { position: relative; height: 600px; }
.apertura .platforms { width: 555px; position: absolute; bottom: 30px; left: 0; z-index: 10; }
.apertura .platforms img { width: 100% }
.apertura .intro { padding: 40px 0 0 0; font-family: 'Roboto', sans-serif; color: #593417; font-size: 20px; line-height: 24px; }
.apertura .intro p { margin-bottom: 25px; }
.apertura .bollo { width: 269px; height: 290px; position: absolute; bottom: 40px; right: 0; z-index: 9; background: url(images/bollo.png) no-repeat; overflow: hidden; }
.apertura .bollo>div { padding: 69px 30px; color: #fff; font-size: 18px; line-height: 26px; text-align: center; }
#pre_footer { background: url(images/banner-finale-piede.png) center center no-repeat #97B215; color: #fff; height: 121px; position: relative }
#pre_footer .left { display: none; float: left; font-size: 22px; line-height: 28px; padding: 18px 0 0 0; }
#pre_footer .right { display: none; float: right; text-align: right; font-size: 18px; width: 203px; line-height: 22px; padding: 16px 0 0 0; }
#pre_footer .right img { margin-top: 16px }
#footer { background: #fff; color: #222; font-size: 11px; padding: 30px 0 25px 0 }
#footer p { text-align: center; margin-bottom: 20px; font-family: Arial, Helvetica, sans-serif; line-height: 16px }
.landing_page { width: 650px; margin: 50px auto 30px auto; background: #fff }
.landing_page p { margin: 0 0 12px 0 }
.landing_page table { border-spacing: 15px }
.landing_page table td { width: 50%; background: #fff }
.landing_page table td input { padding: 7px 9px; border: 2px solid #eee; }
.landing_page table td input:active, .landing_page table td input:focus { border: 2px solid #A6B5D2; }

.home-row { display:flex; padding:70px 0 0 0 }
.home-row .home-logo{ width:250px; padding-right:18px }
.home-row .home-txt { flex:1 }

.home-form { padding:70px 0 0 0 }

.landing_page .invio { text-align: center; padding: 18px 0 30px 0 }
.button { padding: 12px 22px; font-family: 'Roboto', sans-serif; border: none; font-weight: bold; background: #A6B5D2; color: #fff; font-size: 20px; line-height: 24px; display: inline-block; cursor: pointer }
.button:hover { background: #4d5d73; }
hr { margin: 17px 0 19px 0; border: none; padding: 0; height: 1px; clear: both; background: #ebebeb; }
.invito { margin: 0px auto; width: 900px; padding: 70px 0; }
.footer { margin: 0px auto; padding:0px; width:740px; background:none;-webkit-box-shadow: 0px 0px 46px 5px rgba(110,110,110,0.53); -moz-box-shadow: 0px 0px 46px 5px rgba(110,110,110,0.53); box-shadow: 0px 0px 46px 5px rgba(110,110,110,0.53); }
.invito img { max-width: 100%; height: auto; vertical-align: bottom }
.invito.english { background: url(images/b_hotelbb_landing_img_centrale_eng.png) top left no-repeat; }
.copyright_publifarm {
    margin: 0px auto;
    padding: 0;
    text-align: center;
    float: right;
    line-height: 20px;
}
.copyright_publifarm a { display: inline-block; width: 83px; }
.copyright_publifarm a img { width: 100% }

.form-row { display:flex; width:100%; }
.form-row>div { flex:1; padding:10px }

.invito .button { background: #461A1B; }
.invito .button:hover { background: #555; }
.field2 { padding: 5px 10px; border: 2px solid #AAAEAE; font-size: 22px; width: 420px; color: #AAAEAE; font-family: 'Roboto', sans-serif; line-height: 26px; font-weight: 700; -webkit-border-radius: 7px 0px 7px 7px; -moz-border-radius: 7px 0px 7px 7px; -khtml-border-radius: 7px 0px 7px 7px; border-radius: 7px 0px 7px 7px; }
.field2:active, .field2:focus { border: 2px solid #555; color: #555; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; transition: all 0.4s ease-out; }
.welcome_title { text-align: center; width: 370px; margin: 0 auto 11px auto }
.welcome_title img { width: 100%; height: auto; vertical-align: bottom }
.welcome_text { font-size: 18px; color: #535453; line-height: 36px; padding: 20px 0px 22px 0; font-family: 'Roboto', sans-serif; text-align: center; font-weight: 300 }
.welcome_frame { text-align: center; padding-bottom: 22px; clear: both }
.logo_grazie { margin: 0 0 0 0; padding-bottom: 12px }
.landing_page_grazie { height: 100%; display: table; width: 100%; }
.landing_page_grazie>div { display: table-cell; vertical-align: middle; text-align: center; }
.landing_page_grazie h1 { font-size: 32px; line-height: 36px; padding: 0px 0px 10px 0; font-family: 'Roboto', sans-serif; text-align: center; margin: 18px 0 0 0 }
.landing_page_grazie p { font-size: 22px; line-height: 26px; padding: 0px 0px 22px 0; font-family: 'Roboto', sans-serif; text-align: center }
.landing_page_grazie table { border-spacing: 25px; width: 650px; background: #ddd; margin: 0 auto 30px auto }
.landing_page_grazie #captcha input { padding: 5px 10px; border: 2px solid #AAAEAE; font-size: 22px; width: 420px; color: #AAAEAE; font-family: 'Roboto', sans-serif; line-height: 26px; font-weight: 700; -webkit-border-radius: 7px 0px 7px 7px; -moz-border-radius: 7px 0px 7px 7px; -khtml-border-radius: 7px 0px 7px 7px; border-radius: 7px 0px 7px 7px; margin-top: 12px !important }
.landing_page_grazie #captcha input:active, .landing_page_grazie #captcha input:focus { border: 2px solid #555; color: #555; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; transition: all 0.4s ease-out; }
.landing_page_grazie .invio { font-weight: 400; padding-top: 20px; padding-bottom: 14px; }
.landing_page_grazie .invio .button { background: #461A1B !important; }
.landing_page_grazie .invio .button:hover { background: #555 !important; }
.landing_page_grazie hr { margin: 10px 0 26px 0; border: none; padding: 0; height: 1px; clear: both; background: #4E3629; border-bottom: 1px solid #fff }
.new_mail { position: absolute; top: 585px; height: 20px; width: 136px; left: 50%; margin-left: -67px; }
.new_mail img { width: 100%; height: 100%; vertical-align: bottom }
.new_mail_ita { position: absolute; top: 585px; height: 20px; width: 136px; left: 50%; margin-left: -59px; }
.new_mail_ita img { width: 100%; height: 100%; vertical-align: bottom }
.form_select label { float: left; font-size: 22px; color:#EE5235; line-height: 46px; padding: 0px 0px 0 110px; font-family: 'Roboto', sans-serif; text-align: right }
.form_select select { float: left; margin: 0 10px }
.invito .new_landing .button { cursor: default !important; background: #ccc !important }
.invito .new_landing .button:hover { background: #555; cursor: default !important; background: #ccc !important }
.invito .new_landing .button.attivo { background: #ee5235 !important; cursor: pointer !important; }
.invito .new_landing .button.attivo:hover { background: #ddd !important; cursor: pointer !important; color: #ee5235 !important }
.opening { padding: 20px 80px; }
.opening img { }

.welcome-form { text-align:center }

.greca { width: 77%; margin: 0 auto 22px auto }
.greca img { width: 100%; height: auto; vertical-align: bottom }
.greca_2 { width: 100px; margin: 20px auto }
.greca_2 img { vertical-align: bottom; width: 3px; height: 50px }
.event { font-family: 'Roboto', sans-serif; line-height: 26px; font-family: 'Roboto', sans-serif; text-align: center; font-size: 23px; }
.event.title { font-weight: 700; font-size: 22px; margin-bottom: 13px; color: #4e5857 }
.form_select input { border: 2px solid #ee5235; padding:15px 20px; line-height: 20px; color: #ee5235; font-family: 'Roboto', sans-serif; font-weight: bold; font-size: 16px; display: inline-block; width:100%; margin:0px; color: #666 }
.form_select input:active, .form_select input:focus { background: #ddd }
.iscriviti { color: #ee5235; letter-spacing: 1px; font-size: 16px; margin:0px 0 4px 0 }
.obbligatorio { font-size: 12px; margin-bottom: 10px; line-height: 14px; text-align: center; color: red; }
.separator { border-top: 2px solid #ee5235; position: relative; height: 24px; margin-bottom: 14px; }
.separator span { color: #8185AC; position: absolute; top: -2px; right: 0; padding: 0 6px; border: 2px solid #F7901E; font-size: 13px; line-height: 20px; }
.separator.sep_left span { left: 0; right: auto; }
.table-date { width: 90%; margin: 0 auto 40px auto }
.table-date td { font-size: 13px; padding: 0 0 20px 0; vertical-align: top; text-align: left }
.table-date td strong, .table-date td b { display: block; margin-bottom: 5px; }
.table-date tr td:first-child { font-weight: bold; width: 80px }
.loghi-bottom { padding: 20px 5%; margin: 0 auto 10px auto; border-bottom: 2px solid #ee5235; background:#ee5235 }
.data { margin-bottom: 20px }
.data:after { display: table; clear: both; content: ' '; }
.data .text-1 { float: left; width: 49%; text-align: right; line-height: 100px; font-size: 99px; font-weight: 800; padding-right: 2%; }
.data .text-2 { float: right; width: 49%; text-align: left; line-height: 15px; padding-top: 20px; }
.data .text-3 { float: right; width: 49%; text-align: left; line-height: 36px; font-size: 30px; font-weight: 800; }
.data .text-4 { float: right; width: 49%; text-align: left; line-height: 15px; }
.location-txt { margin-bottom: 42px; font-size: 15px; }
.logo-cat img { height: auto; }
 
  /* all */
::-webkit-input-placeholder {
color:#ee5235;
font-family: 'Roboto', sans-serif;
font-weight: bold;
font-size:16px;
}
::-moz-placeholder {
color:#ee5235;
font-family: 'Roboto', sans-serif;
font-weight: bold;
font-size: 16px;
} /* firefox 19+ */
:-ms-input-placeholder {
color:#ee5235;
font-family: 'Roboto', sans-serif;
font-weight: bold;
font-size: 16px;
} /* ie */
input:-moz-placeholder {
color:#ee5235;
font-family: 'Roboto', sans-serif;
font-weight: bold;
font-size: 16px;
}

.footer-social { margin-bottom:30px }
.footer-social .footer-left { float:left; width:50%; text-align:left; font-size:14px; position:relative; }
.footer-social .footer-right { float:right; width:50% }
.footer-social .footer-right ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.footer-social .footer-right ul li {
    max-width: inherit;
    width: auto;
    margin: 0 .5em;
    font-size: 1em;
    margin: 0 .25em;
	display: inline-block;    vertical-align: top;
}
.footer-social .footer-right ul li a {
    color: #000;
    font-weight: 600;
}

.copyright { font-size:10px; }

.page_content_image.img-align-right {
    float: right;
    margin:3em 0 3em 1.5em;
    width: 465px;
}
.page_content_image.img-align-right img {
    max-width: 100%;
    height: auto;
    margin: 0 auto; display:block
}

.dl_wrapper { display:block; list-style:none; text-align:center;    background: #f3f3f3;
    padding: 20px; }
.dl_wrapper>div{ display:inline-block; vertical-align:top; margin:0 10px; padding:10px; }
.dl_wrapper>div a { display:block;    color: #595958; }
.dl_wrapper>div a:hover { opacity:0.6; color:#F70303; }
.dl_wrapper>div a .dl-txt { display:block; padding:12px 0 0 0 }


/*** custom checkboxes ***/
.form-legal { padding:20px 0 }
.form-legal>div { display:flex; padding:0px 0; text-align:left; align-items: center; } 

.form-legal>div .check-left { color:#EE5235 }
.form-legal>div .check-right { font-size:14px; line-height:20px; padding-left:10px }

.form-legal input[type=checkbox] + label { cursor:pointer }
.form-legal input[type=checkbox] { display:none; } /* to hide the checkbox itself */
.form-legal input[type=checkbox] + label:before {
  font-family: FontAwesome;
  display: inline-block;
}

.form-legal input[type=checkbox] + label:before { content: "\f096"; } /* unchecked icon */
.form-legal input[type=checkbox] + label:before { letter-spacing: 10px; } /* space between checkbox and label */

.form-legal input[type=checkbox]:checked + label:before { content: "\f046"; } /* checked icon */
.form-legal input[type=checkbox]:checked + label:before { letter-spacing: 5px; } /* allow space for check mark */


.footer-policy { font-size:12px; }
.footer-policy a { color: #595958; }
.footer-policy a:hover { color:#EE5235; }

@media (max-width:1100px) {
	.invito {
		margin: 0px auto;
		width: 700px;
		padding: 70px 0;
	}
	.wrapper {
		width: 700px;
		margin: 0 auto;
	}
.page_content_image.img-align-right {
    float: right;
    margin: 0 0 0 42px;
    width: 280px;
}	
}

@media (max-width: 767px) {
	.invito {
		margin: 0px auto;
		width: 100%;
		padding:20px;
	}
	.wrapper {
		width: 100%;
		margin: 0 auto;
		padding:20px;
	}
	.page_content_image.img-align-right {
		float: right;
		margin: 0 0 0 0px;
		width: 100%;
	}
.form_select input {
    border: 2px solid #ee5235;
    padding: 15px 12px;
    height: 50px;
    line-height: 20px;
    olor: #ee5235;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 16px;
    display: inline-block;
    width: 100%;
    margin: 5px 0;
    color: #666;
}	
.footer-social .footer-left {
    float: left;
    width: 100%;
    text-align: left;
    font-size: 14px;
    position: relative;
}
.footer-social .footer-right { padding-top:20px;
    float: right;
    width: 100%;
}
.video_left {
    width: 100%;
    float: left; padding-bottom:20px;
}
.video_right {
    width: 100%;
    float: right;
}
.testata-home .centering {
    left: auto;
    position: relative;
    top: auto;
    -webkit-transform:none;
    -moz-transform:none;
    -ms-transform:none;
    transform:none;
    text-align: center;
    width: 100%;
    padding: 15px;
}
.home-row {
    display: block;
    padding: 70px 0 0 0;
}
.form_select label { 
    padding: 0px 0px 0 0; 
}
.form-row {
    display: block;
    width: 100%;
}
.form-row>div { padding:5px 0 }
.home-row .home-logo {
    width: 250px;
    padding-right: 18px; padding-bottom:15px
}
}
