
/* ------------------------- PAGE SCHEMA ------------------------- */ 
*{-webkit-transition: all 0.25s ease-out; -moz-transition: all 0.25s ease-out; transition: all 0.25s ease-out; outline:0px none; }
a, a:hover, a:active, a:focus { outline:0px none; text-decoration: none; }
html, body {
	height: 100%;
	color: #666;
	background-color: #FFF;
	font-size: 17pt;
	font-weight: 300;
	line-height: 1.75em;
    -webkit-text-stroke: 0.1px;
}

/* ------------ bg colors ------------ */
.bgcolor_one {
    background-color:#FFF !important;
}
.bgcolor_two {
    background-color:#F1F1F1 !important;
}
.bgcolor_three {
    background-color: #ecf1f1 !important;
}
.bgcolor_four{
    background-color: #e8edec !important;
}


.prop_text{ font-size:1.2em; }

/* ------------ container_xl ------------ */
.container_xl { min-width: 80%; }
/* ------------ sections ------------ */
section{ padding-bottom: 60px; }
section.h100{ min-height: 100%; }
section#home_intro{ padding-top: 80px; }




.intro_languages{ text-align:center; margin-top:80px; }
.intro_languages .intro_language{ padding:0px 20px 0px 20px; }
.intro_languages .intro_language a{ color:#333; }
.intro_languages .intro_language a:hover,
.intro_languages .intro_language a:focus{ color:#C00; }
.intro_footer{ position: absolute; bottom: 0%; margin-bottom: 5px; width:100%; text-align: center; color: #666; font-size: 0.6em; }

.topmenu_icons{ clear: both; width: 100%; font-size: 28px !important; }

/* ------------ HOMEPAGE ------------ */
.home_logo_area {}
.home_logo_area > .home_logo{ padding-top: 6em; max-width:520px; margin-left: auto; margin-right: auto; text-align:center;  }

.home_logo_area > .home_logo > img{ display:inline; }

.home_logo_area > .home_logo > .home_flag{ width:20%; height:5px; margin-left:41%; }
.home_logo  > .home_flag > .flag_green{ width:33%; background-color:#090; float:left; height:5px; } 
.home_logo	> .home_flag > .flag_red{ width:33%; background-color:#c00; float:right; height:5px; } 

.home_intro_area{ margin-top:3em; }
.home_intro_area    .home_txt_intro{ text-align: center; }
.home_intro_area > .home_read_more { width:100%; text-align:center; margin-top: 1em; }
.home_intro_area > .home_read_more > a { color:#666666;}
.home_intro_area > .home_read_more > a > .home_read_more_txt{ font-size:30px; }
.home_intro_area > .home_read_more > a > .down_arrow_home{ position:relative; height:25px; background:url(images/down_arrow.png) center 0px no-repeat; margin-top:10px; }


.home_intro_long_descr header h1{ text-align: center; }
.home_intro_long_descr .italian_ribbon{ width:100%; height:220px; text-align:center; overflow:visible; }



/* ------------ GENERAL OTHER PAGES ------------ */

.page_title_area{ padding-top: 4em; padding-bottom: 4em; text-align: center }
.page_title_area .other_page_flag{ width: 20%; left: 50%; position: absolute; margin-left: -10%; }
.page_title_area .other_page_flag   > .flag_green{ width:33%; background-color:#090; float:left; height:5px; }
.page_title_area .other_page_flag   > .flag_red{ width:33%; background-color:#c00; float:right; height:5px; }


/* ------------ SERVIZI ------------ */
.services_cols{ margin-top: 3em; }
.services_cols h2{ font-size: 1.2em; padding-bottom: 15px; line-height: 1em; text-align:center; }
.services_cols h3{text-align: justify; font-size: 0.8em; line-height: 1.1em; }
.services_cols .cols_img{ width:100%; margin-top: 20px; }
.services_cols .services_subtitle_txt{ margin:0px 30px; }

.services_intro_txt{ padding:40px 30px 0px 30px; }
.services_intro_txt h4{ text-align:justify; font-size: 0.8em; line-height: 1.3em; }
.services_content_txt{ margin:20px 30px; text-align:justify; line-height: 1.5em; }
.services_content_txt ul li{ list-style:disc !important; font-size: 0.8em; line-height: 1.2em; padding: 0.2em 0; }
.services_cols .services_img{ width:100%; margin-bottom: 1em; }
.services_cols .titles{ font-size: 1.2em; font-weight: 500; margin-bottom:20px; text-shadow:0px 1px #fff; }
.services_content_txt a.subtitles div{ font-size: 1.5em; line-height: 1.5em; cursor: pointer; margin: 5px 0px; outline:0; padding-right: 35px; text-align:left; }




.services_content_txt .panel-default{ background: none; }
.services_content_txt .panel{ margin-bottom: 0px; background-color: rgba(0, 0, 0, 0); border: 0px solid rgba(0, 0, 0, 0); border-radius: 0px; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); }
.services_content_txt .panel-title{ font-size: 1.2em; }
.services_content_txt .panel-title a:hover,
.services_content_txt .panel-title a:focus{ color: #CC0000; }
.services_content_txt .panel-title a div{ width:100%; font-weight: 300; }
.services_content_txt .panel-title a:hover div,
.services_content_txt .panel-title a:focus div{ padding-left: 10px; font-weight:500; }
.services_content_txt .panel-title-open{ background:url(images/down_arrow_small.png) right -45px no-repeat; }
.services_content_txt .panel-title-close{ background:url(images/down_arrow_small.png) right 0px no-repeat; }
.services_content_txt .panel-default .panel-heading { background-color: rgba(0, 0, 0, 0) !important; }
.services_content_txt .panel-group .panel-heading+.panel-collapse .panel-body { border: 0; }
.services_content_txt .panel-heading { padding: 5px 0;}
.services_content_txt .panel-body {padding: 0; }





/* ------------ CONTACTS ------------ */
.contacts_cols{}
.contacts_cols h2{ font-size: 1.2em; padding-bottom:5px; text-align: right; margin: 0;}
.contacts_cols h3{ text-align: right; font-weight:500; font-size: 0.9em; margin: 0; }
.contacts_cols .contacts_name_piva,
.contacts_cols .contacts_info{ margin:10px 30px 30px 0px; }
.contacts_cols .contacts_info{ background:url(images/flag_home.png) right 0 repeat-y;}
.contacts_cols .contacts_txt{ margin-right:30px; }
.contacts_cols .linediv{ height:20px; border-bottom: 1px #D1D1D1 solid; margin-bottom:20px; }

.contacts_cols .contact_form{ margin-top:10px; }
.contacts_cols .contact_form .panel-default{ background: none; }
.contacts_cols .contact_form .panel{ margin-bottom: 0px; background-color: rgba(0, 0, 0, 0); border: 0px solid rgba(0, 0, 0, 0); border-radius: 0px; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); }
.contacts_cols .contact_form .panel-title{ font-size: 1.2em; }
.contacts_cols .contact_form .panel-title a:hover,
.contacts_cols .contact_form .panel-title a:focus{ color: #CC0000; }
.contacts_cols .contact_form .panel-title a div{ width:100%; font-weight: 300; }
.contacts_cols .contact_form .panel-title a:hover div,
.contacts_cols .contact_form .panel-title a:focus div{ padding-left: 10px; font-weight:500; }
.contacts_cols .contact_form .panel-title-open{ background:url(images/down_arrow_small.png) right -45px no-repeat; }
.contacts_cols .contact_form .panel-title-close{ background:url(images/down_arrow_small.png) right 0px no-repeat; }
.contacts_cols .contact_form .panel-default .panel-heading { background-color: rgba(0, 0, 0, 0) !important; }
.contacts_cols .contact_form .panel-group .panel-heading+.panel-collapse .panel-body { border: 0; }
.contacts_cols .contact_form .panel-heading { padding: 5px 0;}
.contacts_cols .contact_form .panel-body {padding: 0;  }
.contacts_cols .contact_form .privacy_txt { font-size: 0.7em; line-height: 1.1em; }



a .social_contact{ float: right; max-width: 50px; display: inline-block; margin: 50px 10px; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50); opacity:0.5; }
a:hover .social_contact,
a:focus .social_contact{ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity:1; }
/* ------------ FOOTER ------------ */

	.page_footer{
		text-align: center;
		background-color:#E2E2E2;
		padding: 3em 0 3em 0;
		box-shadow: inset 0 1px 0 0 rgba(0,0,0,0.05), inset 0 0.1em 0.1em 0 rgba(0,0,0,0.025);
		font-size: 0.8em;
	}
	.page_footer .copyright{ line-height: 1em; margin-top:0.5em; font-size: 0.9em; }
	.page_footer .copyright p{ margin: 0 0 0.5em 0; }
	.page_footer .copyright .menu{ margin: 0; }



/* ------------------------- FORMS ------------------------- */ 
.form-control{
    height:40px;
    font-size:0.8em;
}
label{ font-weight:500; }
select{margin-top: 30px; }
/* ------------------------- NAV BAR ------------------------- */ 
	
.nav {
   font-family:Arial,sans-serif;
   font-size:13px;
}
.navbar{ margin-bottom:0; }
.navbar-nav { margin: 0 -15px 0 -15px; }
.navbar-brand {
    position: absolute;
    
    overflow: visible;
    padding-top: 0;
    padding-bottom: 0;
}
.navbar-brand img { /*margin-top: 5%;*/ }

.navbar-blue {
    border-width:0;
	background-color:#FFF;
    color:#333;
    font-family:arial,sans-serif;
    top:0;
    position:fixed;
    width:inherit;
}

.navbar-blue li > a,.navbar-toggle  {
   color:#efefef;
   font-size: 0.7em;
   margin-top: 12px;
   margin-bottom: 12px;
}
.navbar-collapse { position:relative; }
.navbar-blue .dropdown-menu li a {color:#2A4888;}
.navbar-blue .dropdown-menu li > a {padding-left:30px;}

.dropdown-menu > li > a { min-width: 100%; text-align:left; }
.navbar-nav > li > .dropdown-menu {
	min-width: 100%;
	color: #FFF;
	line-height: 1;
	white-space: nowrap;
	background: #333;
	padding: 0;
	border-radius: 0;
}
.navbar-nav > li > a { font-size: 1.2em; }
.navbar-default{ border:0; }
.navbar-default .navbar-nav >.active>a,
.navbar-default .navbar-nav >.active>a:hover,
.navbar-default .navbar-nav >.active>a:focus { color: #FFF; background-color: rgba(0, 0, 0, 0) !important; }
.navbar-default .navbar-nav > li > a:focus{ color: #FFF; }
.navbar-nav > li.active a.dropdown-toggle{ background-color: rgba(0, 0, 0, 0) !important; }
.navbar-nav .dropdown-menu > li > a {
	padding: 0.75em 1em;
	color:#fff;
}
.navbar-nav .avatar_white{ width:50px; height:50px; }
.navbar-nav .dropdown-menu > li > a:hover, .navbar-nav .dropdown-menu > li > a:focus {
	color:#fff;
	background: #272727;
}

.dropdown-menu .divider {
	background: #272727;
}

.navbar-blue li>a:hover, .navbar-blue li>a:focus, .navbar-blue .open, .navbar-blue .open>a, .navbar-blue .open>a:hover, .navbar-blue .open>a:focus {
   background-color:#2A4888;
   color:#fff;
}
.navbar-toggle, .close {
	outline:0;
}

.navbar-toggle .icon-bar {
	background-color: #fff;
}
.navbar-right {
	float: right !important;
}
.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus
/* ------------------------- GENERAL ------------------------- */ 

	.columns{ word-break: break-all; }
	/* ---------- LINKS ---------- */ 
		a { color:#C00; }
		
		a:hover { text-decoration:none; }
	/* ---------- H1 H2 H3 H4 H5 H6 ---------- */ 
        h1,h2,h3,h4,h5,h6
        {
            font-weight: 200;
            line-height: 1.5em;
        }
	
		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
		{
			color: inherit;
			text-decoration: none;
		}

		h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong
		{
			font-weight: 500;
		}
		
		h1
		{
			font-size: 2.5em;
			letter-spacing: -1px;
		}
		h2
		{
			font-size: 2em;
			letter-spacing: -1px;
		}
		
			h2.alt
			{
				color: #666;
			}
			
			h2.alt strong
			{
				color: #666;
			}

		h3
		{
			font-size: 1.5em;
		}
    
        /*b, strong { font-weight: 500; }*/
    
        article p { text-align: justify; }
    
	/* ---------- DECO ---------- */ 
	hr {
	  border-color:#dedede;
	}
	.spacer {
		min-height:1.2em;
		clear:both;
	}
	.h_2em{ height:2em; }
	.h_3em{ height:3em; }
	.h_4em{ height:4em; }
	.h_5em{ height:5em; }
				
	.helper{ padding:15px; }

    .linediv{ height:20px; border-bottom: 1px #D1D1D1 solid; margin-bottom:20px; }
    .spacediv{ height:10px; margin-bottom:10px; }
    span.boxdiv{ padding-left:10px;  background:url(images/boxdiv.png) center center no-repeat; padding-right:14px; }
    
    .invisible{ visibility: hidden; }
    .visible{ visibility:visible; }
    
	/* ---------- TEXT ---------- */ 
	.center_text{ text-align:center; }
	.right_text{ text-align:right; }
	
	/* ---------- TABLE ---------- */ 
	table, thead, tbody, th, tr, td{ outline:0 !important; }
	thead.valign-middle th,
	tbody.valign-middle td{ vertical-align:middle !important; }

	thead.valign-top th,
	tbody.valign-top td{ vertical-align:top !important; }

	thead.valign-bottom th,
	tbody.valign-bottom td{ vertical-align:bottom !important; }
	


*/
/* bootstrap overrides */

h1,h2,h3 {
   font-weight:800;
}



.panel textarea, .well textarea, textarea.form-control
{
   resize: none;
}
  
.badge{
   color:#3B5999;
   background-color:#fff;
}
.badge:hover, .badge-inverse{
   background-color:#3B5999;
   color:#fff;
}
    
.jumbotron {
  background-color:transparent;
}
.label-default {
  background-color:#dddddd;
}
.page-header {
  margin-top: 55px;
  padding-top: 9px;
  border-top:1px solid #eeeeee;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
}

.panel-default .panel-heading {
  background-color:#f9fafb;
  color:#555555;
}

.col-sm-9.full {
    width: 100%;
}

.modal-header, .modal-footer {
	background-color:#f2f2f2;
    font-weight:800;
    font-size:12px;
}

.modal-footer i, .well i {
    font-size:20px;
    color:#c0c0c0;
}

.modal-body {
	padding:0px;
}

.modal-body textarea.form-control
{
   resize: none;
   border:0;
   box-shadow:0 0 0;
}

small.text-muted {
  font-family:courier,courier-new,monospace;
}

/* adjust the contents on smaller devices */
@media (max-width: 768px) {
	
 	.home_logo_area{ width:60%; margin-left:20%; }
	.intro_footer{ line-height:normal; }
    .home_txt_intro{font-size: 0.8em; line-height: 1.5em;}	
	
  .column .padding {
    padding: 7px;
  }

  .full{
	padding-top:20px;
  }

  .navbar-blue {
	background-color:#3B5999;
    top:0;
    width:100%;
    position:relative;
  }
  .navbar-brand img { height: 50px; margin-top: 3px; }

  .container>.navbar-header, .container-fluid>.navbar-header, .container>.navbar-collapse, .container-fluid>.navbar-collapse{ background: #333; border-bottom: 1px #111 solid; }
    
    
}

/*
 * off canvas sidebar
 * --------------------------------------------------
 */
@media screen and (min-width: 768px) {
    .top_bar{ position: fixed; width: 100%; z-index: 2; }
    .top_bar{ box-shadow: 0 0.02em 0.2em 0.1em rgba(0, 0, 0, 0.05); }
    
    .navbar-header{ position: absolute; z-index: 2; }
    /*.navbar-default { background-color: #fff;  }*/
    .navbar-default { background-color: #333; padding: 0.5em 0 0.2em 0; }
    .navbar-default .navbar-nav > li > a{ color: #999; padding-top:5px; padding-bottom: 0px; -webkit-transition: background 0s; -moz-transition: background 0s; transition: background 0s; }
    .navbar-default .navbar-nav > li > a:hover{ color: #fff;  }

    .navbar-default .navbar-nav > li.dropdown > a{ padding:15px 10px; }

    .navbar-nav > li.active > a{ background-position: center -100px !important; }
    .navbar-nav > li > a#top_menu_aboutus{ background: url(images/about_us_icon.png) center 0px no-repeat;  }
    .navbar-nav > li > a#top_menu_aboutus:hover{ background: url(images/about_us_icon.png) center -100px no-repeat;  }
    
    .navbar-nav > li > a#top_menu_services{ background: url(images/services_icon.png) center 0px no-repeat; }
    .navbar-nav > li > a#top_menu_services:hover{ background: url(images/services_icon.png) center -100px no-repeat; }
   
    .navbar-nav > li > a#top_menu_contacts{ background: url(images/contacts_icon.png) center 0px no-repeat;  }
    .navbar-nav > li > a#top_menu_contacts:hover{ background: url(images/contacts_icon.png) center -100px no-repeat;  }
    
    
    /*.navbar-padding{ padding: 0.5em 0 0.5em 0; }*/
    .navbar-nav{
        width: 100%;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
    .navbar-nav > li {
        float: none;
        display: inline-block;
        padding-top: 5px;
    }
    
   
    .navbar-nav.navbar-right:last-child{ width: auto; position: absolute; text-align: right; float: right; right: 0; }
}

 @media screen and (max-height: 700px) and (max-width: 768px) {
    .home_logo_area > .home_logo{ padding-top: 2.5em; }
    .home_intro_area{ margin-top:2em;}
    .page_title_area{ padding-top: 0em; padding-bottom: 3em; }

 } 


@media screen and (max-width: 600px) {
 h1 { font-size: 1.5em;}
}

@media screen and (max-width: 991px) {
	.topmenu_txt{ display:none; }
	.topmenu_icons{ margin-top: 5px; margin-bottom: 25px; }
}

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

    .intro_languages { margin-top: 40px; }
    .intro_languages .intro_language { display: block; font-size: 18px; }     
	
     
    
     article p {
        font-size: 0.8em;
        line-height: 1.5em;
    }
    
    .services_content_txt .panel-title a div { font-size: 0.8em; }
    
    .page_footer { text-align: left; padding-left: 30px; padding-right: 30px; }
    .page_footer .copyright{ font-size: 0.75em; }
    .page_footer .copyright .menu { padding: 0; }    
    
	.row-offcanvas {
		position: relative;
		-webkit-transition: all 0.25s ease-out;
		-moz-transition: all 0.25s ease-out;
		transition: all 0.25s ease-out;
	}

    .navbar-default .navbar-collapse, .navbar-default .navbar-form{ border: 0px; }
	.navbar > .container .navbar-brand { margin-left:20px; }
    .navbar-nav > li > .dropdown-menu > li {}
    
	
	.navbar-default .navbar-nav > .open > a, 
	.navbar-default .navbar-nav > .open > a:hover, 
	.navbar-default .navbar-nav > .open > a:focus { color: #555 !important; }

    .navbar-nav > li > .dropdown-menu > li > a { font-size: 1.2em;  padding: 1em 0 !important; text-align: center;}
    .navbar-nav > li > .dropdown-menu > li > a:hover,
    .navbar-nav > li > .dropdown-menu > li > a:focus { color: #FFF !important;  }    
    .navbar-nav > li { text-align: center; }
    .navbar-nav > li.active,
    .navbar-nav > li > a:hover,
    .navbar-nav > li > a:focus { color: #FFF !important;  }    
    
    .navbar-default .navbar-toggle { border: 0px; }
    .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus{ background-color: rgba(0, 0, 0, 0); }
    
    .navbar-nav.navbar-right:last-child{ float:none !important; }
    
	.row-offcanvas-left.active { left: 33%; }
	.row-offcanvas-left.active .sidebar-offcanvas {
		left: -33%;
		position: absolute;
		top: 0;
		width: 33%;
		margin-left: 5px;
	}
	
	#sidebar, #sidebar a, #sidebar-footer a {
		padding-left:3px;
	}
	
	.topmenu_txt{ display:inline-block; }
	.topmenu_icons{ display:none !important; }

}
@media screen and (max-width: 767px) {
    .navbar-nav > li > a{ padding: 1em 0; }
}
@media screen and (max-width: 768px) {
    .navbar-nav > li > .dropdown-menu > li > a:focus { color: #FFF !important; background-color: #222 !important; }    
	.topmenu_icons{ margin-top: 5px; margin-bottom:0px; }
	
}