/* Table of content
1.General - This is created general styles and overide some bootstrap classes.
2.Layout
 2.1 Animations
 2.2 Buttons
 2.3 Thumbnail - overide bootstrap thumbnail and add mased efect
 2.4 Socail icons -style for social icons list
3 Sections - definition for section and subsection
 3.1 Services
 3.2 Portfolio
 3.3 About
 3.4 Clients
 3.5 Price table
 3.6 Newsletter
 3.7 Contact
 3.8 Footer
4 Responsive 
**********************************************************************/

/*
1. General
**********************************************************************/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
}
:root {
  --container-width: 1450px;
  --container-width-narrow: 1200px;
  --container-padding: 30px;
}
.clearfix { *zoom: 1;}
.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}
.clearfix:after { clear: both;}
body {
  font-family: 'open sans',Helvetica,Arial,sans-serif;
   /*font-family: "Ubuntu", sans-serif;*/
   font-weight: 400;
   font-style: normal;
   color:#000066;
   background-color:White;
   text-rendering: optimizeLegibility;	
   font-size: 16px;
}
p { padding:10px;line-height: 1.4em;}
.intro-text { font-size:20px;font-weight: 400;text-align:justify;line-height: 1.6em;}
.preloader {
  align-items: center;
  background: white;
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.3s linear;
  width: 100%;
  z-index: 9999;
}
.logo {width:110px;height:110px;min-height: 110px;min-width: 110px;}
.figcaption,figcaption1, figure, footer, header, hgroup, nav, section {display: block;}
h1, h2, h3, h4, h5, h6 { margin: 0 auto;  letter-spacing: -0.03em;}
h1 { font-size: 2.2em;font-weight: 600;}
h2 { text-align: center; font-size: 1.4em; font-weight: 500;}
h3 { text-align: center; font-size: 1.2em; text-transform: uppercase;}
h4 {
  font-size: 1.1em;
  font-weight: 500;
  text-align: left;
  position: absolute;
  top: 10px;
  color: #fff;
  padding: 15px 25px;
  display: block;
}
h2.topbar {
  content: "";
  border-top: 3px solid rgba(115, 174, 191, 0.58);
  width: 18em;
  display: block;
  line-height: 2em;
  font-size:1.2em;
  font-variant:all-small-caps
}
.button,.figcaption, .figcaption1 {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: -0.03em;  
  color: #006;
  background: #fff;
  display: inline-block;
  min-width: 160px;
  padding: 15px;
  border-radius: 10px;
  max-width: 460px;
}
.button { 
  margin: 10px 2px;
  border: 2px ridge #006;
  opacity: 1;
  -webkit-transition: all 0.4s linear 0s;
  -moz-transition: all 0.4s linear 0s;
  -ms-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s;
}
.button:hover{
  -webkit-transform: translate3d(0, 3px, 0);
  transform: translate3d(0, 3px, 0);
  -webkit-box-shadow: 0 6px 6px rgba(0, 0, 0, .15);
  box-shadow: 0 6px 6px rgba(0, 0, 0, .15);
}
.intro { margin-top:50%; width:100%;margin-right: 15px; text-align: center; background: white;}
.figcaption, .figcaption1 { position: absolute; }
.figcaption { 
  bottom: calc((100% - 85%) * 0.5);
  left: calc((100% - 380px) * 0.5);
}
.figcaption1 {
  left: calc((100% - 310px) * 0.3);
  top: 49.3%;
  margin: 10px 1px;
  font-size: 1.3em;  
  opacity: 1;
  -webkit-transition: all 0.4s linear 0s;
  -moz-transition: all 0.4s linear 0s;
  -ms-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s;
}
.txtcapt {height:calc((100% - 160px) * 2);display: inline-block;}
.head3 {
  text-align: center;
  padding: 15px;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: .03em;
  color: #006;
  background: #ffffffde;
  border-radius: 0 10px 10px 0;
  font-weight: 400;
  width: 90%;
  margin-top: -70px;
  position: absolute;
  margin-bottom: 10px;
 }
a, a:hover, a:focus { color:#fff;text-decoration: none;}
img {
  height: auto;
  max-width: 100%;
  border: 0;
  vertical-align: middle;
}
img.thumb {padding:5px}
.article {display:inline-block;margin-bottom: 10px;vertical-align: top;}
.ico {
  text-align: left;
  width:30px;
  height:auto;
}
.option {width:94px;height:94px;}
.ico1 {width:95%; height:auto; }
.strong { font-weight: bold; font-size: 1.1em;}
ul,ul.nav li:before{list-style: none;content:none !important;text-align: left;}
ul.services {margin-left:20px;list-style: lower-latin;}
ul.list, p.list,.span3 ul {line-height: 1.4em;float: left;overflow: hidden;width: 100%;margin:10px 5px;}
ul.list > li:before,.span3 ul li:before {
  content: "\f058";
  padding-right: 20px;
  font-weight: bold;
  font-family: FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
/* accordion */
.details {
  margin:0 2px;
  font-size: small;
}
details {
  float: left;
  overflow: hidden;
  width: 100%;
  margin-bottom: 10px;
  border-radius: 4px;
  -webkit-transform: translate3d(0, -3px, 0);
  transform: translate3d(0, -3px, 0);
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .15);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .15);
  background-color: transparent;
  transition: background-color 0.6s ease-out;
}
summary {
  display: block !important;
  font-size: 1.3em; 
  font-weight: 400;
  padding:20px;
  cursor: pointer;
  width: 100% !important;
  transition: 0.4s;
}
details:hover { 
   border: 1px solid #e2f0ff;
  background-color: #f4f7fa;
}
details:hover .accordion-icon { 
  transform: rotate(360deg);
  transition: transform 0.7s ease-in-out;
}
.panel {
  overflow: hidden;
  padding: 0 20px 20px 20px;
  font-size: 1.2em;
  font-weight: 400;
  word-wrap: break-word;
  margin-left: 65px;
}
.accordion-section input:checked + label + .panel {
  max-height:150px;
  padding:20px
}
.accordion-icon {
  position: relative;
  float: left;
  margin-right: 40px;
  width: 24px;
  height: 24px;
}
.span3 ul.social li:before {
  content: "";
  padding-right: 0;
  font-weight: normal;
  font-family: inherit;
  font-size: inherit;
}
.list a:hover, .list a:focus, .list a:focus-visible { 
  color: #2b2a2a;
  border-bottom: 1px solid rgba(255,255,255,.4);
  transition: all 1s ease-in-out;
}
ul.condition {margin-left:20px;list-style: none;}
ol {margin-left:20px;}
ol.rule li  {list-style-position: outside;vertical-align: top;/*! display: inline; */list-style: decimal !important;}
.nascosto { display: none !important; background: #FFF;color: #000;}
header {
  width:100%;
  z-index: 150;
  position: relative;
  min-height: 120px;
  /*! margin-bottom: 10px; */
}  
.container:before, .container:after {  display: table; ! line-height: 0;content: "";}
.container:after { clear: both;}
/*MENU*/
.mainmenu {
  /*! max-width: 1200px; */
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex;
  margin-block-start: 0px;
  margin-block-end: 0px;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  /*! z-index: 200; */
  position: relative;
}
.menutop  { 
  box-sizing: border-box;
  display: flex;
}
.menutop ul { 
  display:flex;
  padding:0px 5px 0px 5px;
  flex-wrap: nowrap;
  align-items: center;
}
.menutop ul li { 
  padding:10px;
  background-color: inherit;
  display: flex;
  position: relative;
  align-items: center;
  /*! display:block; */
   --navigation-layout-justification-setting: flex-start;
  --navigation-layout-direction: row;
  --navigation-layout-wrap: wrap;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: center;
}
.menutop ul li a {transition: all 0.5s ease-in-out;color: #000066;}
.menutop ul li a:hover,footer a:hover, footer a:focus, footer a:focus-visible, .social li a:hover, .social li a:focus, .social li a:focus-visible { color:#0000ab;border-bottom: 1px solid #000066;padding-bottom: 5px;}
.menutop ul li a:active, .menutop ul li a:focus,.menutop ul li a: enabled { color:#4d4975;border: 1px solid rgb(194, 191, 227);padding: 5px 10px;}
.left {left:20px;}
.navbar-fixed-top, .navbar-fixed-bottom {
    right: 0;
    left: 0;
    z-index: 100;
}
.navbar, .navbar-fixed-top {
  top: 0px;
  position: fixed;
  width: 100%;
  z-index: 650;
  min-height: 130px;
}
.navbar-fixed-top {
    padding: 10px 0;
    background-color: White;  
    border-bottom: 1px solid rgb(194, 191, 227);
 }
.navbar-inner {
   background: transparent;
   border-radius:0;
   filter: none;
   border: none;
   box-shadow: none;
   min-height: 10px;
}
.navbar-inner:before,.navbar-inner:after {
  display: table;
  line-height: 0;
  content: "";
}
langtop {
  width:340px;
  height: 34px;
}
langside {
  width:80px;
  height: 34px;
}
langtop ul, liketop ul { display: block; list-style: none;}
liketop {
	width: 232px;
  align-items: center;
  display: grid;
	margin: 5px auto;
}
.langbar {float:left;}
ul.socialbar > li {
    display: inline-block;
    padding: 0px;
}
ul.langbar li, ul.barside li {
    height: 34px;
    margin-right: 2px;  
    padding: 6px 8px;
    float:left;
    border-radius: 3px;
    background: #000066;
    display: block;
    display: inline-block;
    font-size: 16px;
}
ul.langbar li:hover, ul.barside li:hover {
    background-color: #f2f2f2;  
    transition: background-color 1s ease;
    text-decoration: none;
}
ul.langbar li a:hover, ul.barside li a:hover {
    color:#000066 !important;
}
ul.langbar li:hover i,ul.langbar li:hover a {color:#000066 !important;}
.navbar-toggle {
  position: relative;
  margin: 0;
  margin-left: 0px;
  padding-left: 0;
  padding-right: 0;
  width: 38px;
  background: 0 0;
  margin-left: 5px;
  background-color: #fff;
  padding: 10px 5px;
  border-radius: 3px;
  float:right
}
.navbar-toggle-open {  margin-left: 0px !important;z-index: 700; opacity:1}
.navbar-toggle-open:hover {opacity:0.7; transform: translate3d(2,2);}
.navbar-toggle:hover {
  background-color:#f2f2f2;
}
.navbar-toggle .icon-bar {
  position:relative;
  display:block;
  width:27px;
  height:2px;
  background:#000066;
  transition:all .2s ease-in-out
}
.navbar-toggle .icon-bar+.icon-bar {
  margin-top:5px
}
.navbar-toggle .icon-bar {
  transition:width .13s ease-out,transform .13s ease-out,opacity .13s ease-out
}
.side-nav-open .navbar-toggle .icon-bar:nth-child(2) {
  transform:rotateZ(-45deg) translate3d(-5px,5px,0);
  width:28px
}
.side-nav-open .navbar-toggle .icon-bar:nth-child(3) {
  transform:translateX(0);
  opacity:0
}
.side-nav-open .navbar-toggle .icon-bar:nth-child(4) {
  transform:rotateZ(45deg) translate3d(-5px,-5px,0);
  width:28px
}
.screen-reader-text {
  clip: rect(1px,1px,1px,1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  border: 0;
  clip-path: inset(50%);
  margin: -1px;
  padding: 0;
}
.side-nav {
 position: fixed;
  top: 0;
  right: 0;
  bottom:0;
  overflow: hidden;
  width: 360px;
  z-index: -1;
  visibility: hidden;
  transform-style: preserve-3d;
  -webkit-overflow-scrolling: touch;
}
.side-nav-open {
  visibility:visible;
  z-index:300;
}
.widget {
  margin: 0 auto;
  display: flex;
  box-sizing: content-box;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.side-nav_scrollable-container {
  position:relative;
  padding-bottom:70px;
  height:100%;
  overflow:auto;
  background-color:#000066;
  -webkit-overflow-scrolling:touch;
  backface-visibility:hidden;
  transform:translateX(360px);
  transition:transform .18s ease
    
}
.side-nav-open .side-nav_scrollable-container {
  transform: translateX(0);
}
.side-nav_wrap {
  position: relative;
  padding: 60px 30px;
}
.side-nav h1,.side-nav h2,.side-nav h3 { 
  text-align:left;
  padding:10px 0;
  border-bottom: 1px solid #f9f9f9;
  margin: 10px 0;
  width: 100%;
  color: #fff;
}

.side-nav-open .mobile-menu-wrapper .navbar-nav li { 
    display: block;
    position: relative;
    float: none;
    margin: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.1);   
    padding: 10px 0;
}
.side-nav .mobile-menu-wrapper .navbar-nav a { margin: 10px 0; color: #fff; /*! text-transform: uppercase */}
.side-nav .mobile-menu-wrapper .navbar-nav li:hover { border-bottom: 1px solid rgba(255,255,255,.9);/*! display:block; */}
.navbar-nav li {
  margin: 0 .4em;
  position: relative;
}

.mask1 p { /*! color: #fff !important; */}
.header {color: #fff;}
i.fa.fa-phone.header{font-size: 20px;margin-right:2px;text-align: right;}
footer .fa {color:#000066;}
.phonebar { width: 200px; padding:5px;}
ul.socialbar li i.header {color: white;margin:4px 0; }
.navbar-inner:after { clear: both;}
navbar-inner ul>li { display: block;position: relative;}
.navbar .lang > li > a {
  color:#000066;
  list-style: none;
  float: right; 
  font-size:0.7em;
  font-weight:bold;
  line-height: auto;
  vertical-align: middle;
  padding: 3px 10px 3px 10px;
  display: block;
  text-align:center;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-bottom-right-radius: 3px;   
  -moz-border-bottom-left-radius: 3px;
  -moz-border-bottom-right-radius: 3px;       
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;    
}

.navbar .brand {
  text-align: center;
  font-style: italic;
}
.hdd {
 display: block;
 text-align: center;
 color: rgba(255, 255, 255, 1);
 font-style: italic;
 padding: 5px 0 0 0;
}
.navbar .brand:hover,.navbar .brand:focus {  text-decoration: none;}
.brand img {
    width:120px;
    height:120px;
}
.navbar .nav  {
  margin: 0 auto;
  text-align: center;
  width: 498px;
}
.navbar .nav > li { float: left;}
.navbar-inner ul li {
  display: inline;
}
.navbar .nav > li > a {
    float: none;
    display: block;
    text-align: center;
  	padding: 10px 10px;  
	   margin: 0 3px;
    font-size: 1.05em;
    color: #fff;
}
.navbar-fixed-top .nav > li > a {color:#000066;}

2. Layout
**********************************************************************/
.nav li {list-style:none}
.centered {
    margin-left:auto;
    margin-right:auto;
    float: none;
    text-align: center;
}
/* Use this class if you want center element with span* class */
.center {
    float: none !important;
    margin: 0 auto !important;
    text-align: center;
}

.left-align {
    text-align:left;
}
.right-align {
    text-align:right;
}
.error, .err {
	color: #A31F28 !important;
	font-weight:400;
}
.error {display: none;}
.invisible { display:none; visibility:visible;
}
/*
2.1 Animations
**********/
.zoom-in {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -webkit-transition: all 250ms ease;
    -moz-transition: all 250ms ease;
    -o-transition: all 250ms ease;
    -ms-transition: all 250ms ease;
    transition: all 250ms ease;
}
.zoom-in:hover {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}
/*
2.3 Thumbnails - Predefined bootstrap's thumbnail class.
**********/
.thumbnails {  list-style: none;}
.thumbnails:after { clear: both;}
.thumbnails li img:not(:hover) { filter: brightness(120%); transition: all 0.6s ease-in-out;}
.thumbnail, .thumbnail1, .thumbnail2, .thumbnail3 {
  display: block;
  width: 100%;
  position: relative;
  text-align: center;
 -webkit-transition: all 0.2s ease-in-out;
     -moz-transition: all 0.2s ease-in-out;
       -o-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out;  
}
.thumbnail1 p {
  width: 99%;
  color: #fff;
  background: #000066;
  font-weight: 600;
  padding: 15px 25px;
  border-radius: 4px;
  font-variant:small-caps
 }
.thumbnail1 p:hover {background: #000066;border: 1px black;color:white;}
.thumbnail p, .thumbnail ul {color: #000040;}
.thumbnail p.intro, .thumbnail ul.intro {	vertical-align:middle}
.thumbnail p.intro, .thumbnail p.about { text-align: left;  padding: 0 5% 0 5% !important;  line-height: 30px;}
.thumbnail p.intro { margin-top: 90px;}
.thumbnail ul.about {	margin: 0 auto;	text-align:left;}
.thumbnail a, .thumbnail p, .thumbnail ul {	/*! font-weight: inherit; */	/*! margin: 0; */z-index: 500;}
.thumbnail a {  text-align: center;  display: inline-block;position: relative;margin-top: -25%;z-index: 600;}
.thumbnail1 a { padding: 0 !important;  width:100%;}
.thumbnail img.about {float:left;margin: 0px 5px;}
.thumbnail a.about {font-size: 1.1em;	color: initial;	padding: 10px 0px;}
.thumbnail a.button:hover,.thumbnail a.button:focus,.button:hover { background-color: #006;color: #fff;}
.thumbnail2 { padding: 20px;border-radius: 30px;max-width: 560px;}
.thumbnail3 { text-align: unset;}
.thumbnail2 p { width: 380px; text-align: center;}
.thumbnails2 > li { float: left;  margin: 0 auto;  list-style: none;}
.thumbnail {
  display: block;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 10px;
 }
.thumbnail > img,.thumbnails li img {
  border-radius:10px;
   -webkit-transform: translate3d(0, -3px, 0);
  transform: translate3d(0, -3px, 0);
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .15);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .15);
}
#box3 .thumbnail {background-color: rgba(236,242,243,.5);}
#box4 .thumbnail {padding:10px;background-color: rgba(238, 238, 238, 0.99);border: 1px solid #00006657;}
#box5 .thumbnail1 {padding:10px;background-color: rgba(238, 238, 238, 0.99);border: 1px solid #00006657;} 

.sign {
 text-align: right;
  font-style: italic;
  width: 95%;
  position: absolute;
  display: block;
  bottom: -45px;
 }
.sign img {
  width:50px;
  height:50px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right:10px;   
}
.info {
	text-align: left;
	padding: 5% 5%;
}
.info a{
	font-size: inherit !important;
	display:initial !important;
}
.info h2 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.mask ul li  {
	margin-left:20px;
	margin-right:20px
}

/* maschere*/
.thumbnail1 >.mask2 {bottom:100%;position:absolute}
.thumbnail .mask, .mask1,.thumbnail1 >.mask2,.thumbnail2 >.mask2 {
 opacity: 0.95;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";
  filter: alpha(opacity=95);
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2 s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  background: white;
  bottom: 100%;
  left: 0;
  position: absolute;
}
.thumbnail .mask {padding:10px 10px; margin:10px 10px;background: #f9f9f9;}
.thumbnail .mask,.thumbnail1 .mask2,.thumbnail2 .mask2 {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2 s ease-out;
    -ms-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  opacity: 0.95;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=95)";
  filter: alpha(opacity=95);
}
.mask1{ display: block;
  text-align: center;
  width: 99%;
  height: 99%; 
  padding: 20px;
  margin: 0 auto;
z-index: 500;
border-radius: 10px;
text-align: justify;
}
.thumbnail2 .mask2 { opacity: 0.8;}
.thumbnail3 .mask {
  margin: 10px 0 40px 0;
  padding: 30px;
  text-align: left;
  background-color: white;
  border-radius: 4px;
  box-shadow: 0 5px 40px rgba(5, 89, 139, 0.10);
}
.mask2{position:relative;
  margin-right: auto; 
  margin-left: auto; 
 /*! -webkit-transform: translate3d(0, -3px, 0); */
  /*! transform: translate3d(0, -3px, 0); */
  /*! -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .15); */
  /*! box-shadow: 0 5px 10px rgba(0, 0, 0, .15); */
  /*! border-radius:10px; */
/*! padding: 20px; */
flex: 1;
}
.mask2 img {border-radius:10px;}
.mask2:hover {
  webkit-transition: all 0.6s ease-in-out;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6 s ease-in-out;
  -ms-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
  opacity: 0.9;
}
.thumbnail:hover .mask1 {
  webkit-transition: all 0.6s ease-in-out;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6 s ease-in-out;
  -ms-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
  background: rgba(255, 255, 255, 0.89);
  bottom: 0%;
}
.partner-slider li:hover .mask3 {top:0;}
.thumbnail:hover .mask {top:0;}
.thumbnail1:hover .mask2 {bottom:0;opacity: unset;}
.thumbnail2:hover .mask2 {top:0; opacity: unset;background-color:unset}
.thumbnail .ico { opacity:0.5;}
.thumbnail .ico1 { margin: 20px auto}
#box1 .thumbnail, #box2 .thumbnail, #box3.thumbnail  { padding:10px;}
.mask p,.mask1 p, .mask2 p {  /*! font-size: 1em; */}
.mask p { display: table-cell;  text-align: left;}
.mask p.about{ text-align: center;display: block;font-weight: bold;}
.mask.clients p{ padding: 5px 10px;}
.mask1 p strong, .mask2 p > strong { font-size: 1.2em;line-height: 30px !important;text-align: center;}
.mask1 p>a, .mask2 p>a{ width:100%;font-size:1.6em;text-transform: uppercase;font-weight: bold }
.mask1 p>a:hover, .mask2 p>a:hover{ color:white;text-decoration: none}
.mask1 i, .mask2 i {
    /*! padding-top:20px; */
    /*! font-size: 3em; */
    /*! display: table-cell; */
    vertical-align: middle;
    margin: 3px 10px;
}
.box0, .box1, .box2, .box3{
 	overflow: hidden;
  position: relative;
	display: block;
	padding: 5px 5px;
	border: 1px solid #8eb5dc;
 	margin: auto 3px;
}
.box {position: absolute;width: 100%;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;flex-direction: column;-webkit-box-pack: center;justify-content: center;-webkit-box-align: center;align-items: center;}
.box0 { 
  background:#8eb5dc08;
}
.box0 { 
  overflow-y: hidden !important;
  max-height: calc(-330px + 100vh) !important;
  min-height: 330px !important;
}
.box0 img {
  max-height: calc(-330px + 85vh) !important;
  float:none;width:100%;height:100%;object-fit:contain;
}
.box1 {background: url(../public/images/bck/bckg1.jpg);}
.box2 {background: url(../public/images/bck/bckg2.jpg);}
.box3 {background: url(../public/images/bck/bckg3.jpg);}

/* 2.4 Social icons ************/
.social {
    list-style: none;
    float: none;
    position:relative;
    margin:5px auto;
}
.social li {
    display:inline-block;
    line-height: 32px;
    font-size: 32px;
    padding:0 5px;
}
/* 3. Sections ***************/
.section .container { margin:0px auto;padding: 10px;overflow: hidden;}
.section .title {
    text-align: center;
    padding:5px;
    margin-bottom: 5px;
    color: #000066;
}
.section .title h1 { 
}
.section .title > p { text-align: justify;}
.primary-section, .secondary-section, .third-section { box-shadow: 0px 1px 1px rgba(23, 23, 23, 0.03) inset;}
#privacy {margin-top:150px}
.primary-section,.third-section, .primary-section .title p, .secondary-section h1, .secondary-section .title p { /*! color: #000066; */ }
.bg0 {
-webkit-background-size: cover !important;
-moz-background-size: cover !important;
-o-background-size: cover !important;
background-size: cover !important;
}
.bg1 {background: url(../images/sfondi/bg1.jpg) fixed no-repeat left bottom}
.bg2 {background: url(../images/sfondi/bg2.jpg) fixed no-repeat left bottom}
.section.secondary-section img{margin: 0 auto;}
/*3.2 photogallery */
.single-project { margin-bottom:30px;   }
.single-project img {
    width:100%;
}
.project-description {
    padding-right:20px;
}
.project-description p {
    padding-left:0;
}
.close {
    float: right;
    width: 40px;
    height: 40px;
    text-align: center;
}
#gallery-grid .mix {
    opacity: 0;
    display: none;
}
/* 3.3 Intro */
.intro .thumbnail:hover .social {
    z-index: 5;
}
.intro .thumbnail:hover .social a {
    color:#fff;
}
.intro .thumbnail .mask h2 {
    margin-top:20%;
}
/* 3.4 Clients */
.partner-slider li {
  min-height:150px;
  width:100%;
  height:150px;
}
.partner-slider img {
  border-left: 1px solid #a09f9d;
  padding-left: 10px;
  padding-right: 10px;
  height: auto !important;
}
.partner-slider img:hover {
  border-left: 1px ridge #000066;
}
.pull-right {
  float: right;
}
.partner-nav {
  list-style: none;
  margin-top: 0;
  margin-bottom: 5px;
}
.partner-nav li {
  float: left;
  display: block;
  margin-left: 10px;
}
.partner-nav li a {
  display: inherit;
  padding: 10px 14px;
  color: #000066;
  background-color: rgba(255, 255, 255, 0.20);
  text-decoration: none;
  border-radius: 2px;
  border: 1px solid #000066;
  width: 40px;
  height: 40px;
}
.partner-nav li a:hover {
	color: white;
    background:#181A1C;
	border: 1px solid White;
}
/* 3.5 Price table */
.offers-table, .footer-table {}
.column, .footer-column {
    background-color:white;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding-bottom:20px;
    margin:0 auto;
    text-align:left;
}
.footer-column {text-align:center;}
.column .list{
    list-style:none;
    margin:10px 20px;
}
.column .list li{
    font-weight:lighter;
    color:#747C89;
    font-size:0.9em;
    border-bottom:1px solid #747C89;
    padding:10px 0px;
 }
.column .list li.price {
    text-align: center;
    padding-bottom:20px;
    font-size:1.2em;
}
.price-text{
    margin:10px 0 10px;
    color: #181A1C;
    font-weight:normal;
}
/* STILI tabella */
table {
  	border-collapse: collapse;
  	font-size:0.9em;
  	background: #EAEAEC;
    width: 100%;
}
/* STILI FORM */
form {
  padding: 1%;
	overflow: hidden;	
	text-align: left;
	/*! background-color: #f9f9f95e; */
	border-radius: 3px;
}
fieldset{
  /*! padding: 2%; */
	overflow: hidden;	
	text-align: left;
	border-radius: 3px;
}
.control-group {
  width: 100%;
  display: table;
  padding: 5px 5px;
  margin: 2px 0 !important;
}
legend{
	font-weight: 700;
	color: #000040;
	font-size:1em;
	padding: 0px 5px;
	background: transparent;
}
/* Stili comuni agli elementi del form */
label, input, textarea, .input-label { color: #000040;font-size: 1em}
/* Stili per la label */
label {
    display: inline; 
    /*! padding: 6px 10px; */
    font-weight: normal;
    /*! line-height: 1; */
     font-size: 90%;
}
.controls  {
    float:left;	
	position: relative;	
	display: table;
	border-collapse: separate;	
	margin:2px 0;
	width:50%;
}
.controls .input-label, .controls .input-form, label {
  	display: table-cell !important;
  	/*! text-align: left; */
}
.input-label, label {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.input-label {
	padding: 5px 5px;
	font-weight: normal;
	line-height: 1;
	text-align: center;
	border: 1px solid #000040;
	transform-origin: top left;
	width: 33px;
	height: 33px;
	text-align: center !important;
	outline: 0 !important;
}
.inline {
	height:35px;
	white-space: inherit;
	margin-right: 5px;
}
.inline a {color: #000040;}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  position: relative;
  z-index: 2;
  float: left;
  line-height: 1.42857143;
  padding: 6px 10px;
  border-bottom: 1px solid #000040;
  width: 100%;
  background-color: #f2f2f2;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
select {padding:0; width: unset !important;}
.nopad {
  padding: 0 8px 0 8px !important;
}
/* Stili specifici per la teaxtarea */
textarea { 
    height:35px;
    overflow: hidden; /* disabilitare la scrollbar in IE */
}
label, select, input[type="radio"], input[type="checkbox"] {
    cursor: pointer;
    vertical-align: middle;
}

[type="button"], [type="reset"], [type="submit"], button {
  -webkit-appearance: button;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
  /*! color: #444; */
  background-image: none;
  transition: color .2s ease,border-color .2s ease,background-color .2s ease;
}

label { width: unset !important;}

input[type="checkbox"], input[type="radio"] {
  float:left;
  width:auto;
  height:15px !important;  
  margin: 0px 5px;
  text-align: center;
}
/* fine stili form */

/* 3.7 Contact */
.contact textarea, .contact input[type="text"], .contact input[type="email"] {
    line-height: 20px;
    height: auto;
}
.contact textarea {
    height: 120px;
}
.contacts, .contact .social {
    color: #fff;
    list-style: none;
    margin-left: 10px;
}
.contacts > li {
    margin-top: 15px;
}
.contacts > li > a {
    color: #fff;
}
.map-wrapper {
    position:relative;
    height:500px;
	display:block;
	overflow: visible;
}
.map-canvas {
    position:absolute;
    margin-bottom:20px;
    width:100%;
    height:500px;
    color: #29383F;
    position:absolute;
    left:0;
    top:0;
    right:0;
}
.contact .social {
    display: inline-block;
    margin-left:0;
}
.contact .social li {
    line-height: 32px;
    padding:10px 10px;
    font-family:'Porta';
    font-size: 50px;
    transition: margin 0.4s;
    -webkit-transition: margin 0.4s;
}
.contact .social li a {
    color:white;
}
.contact .social li a:hover {
    color: #ece9e8;
}
.contact-form {
    z-index:90;
    position:relative;
    margin-top:-25px;
    padding:20px;
}
.contact-form h3 {
    color:#838589;
    padding-bottom:20px;
}
.black {
    color:#181A1C;
}
/* 3.8 Footer */
footer {
  width: 100%;
  z-index: 150;
  position: relative;
  background-color: #f9f9f9;
  padding: 20px 0;
  border-top: 1px solid rgb(194, 191, 227);
}
footer .container{
  margin-left: auto;
  margin-right: auto;
  max-width: 1640px;
  width:90%;
  /*! text-align: center; */
}
footer a, footer p, .footer p {
	color: #1e1a48;
	font-weight: normal;
	line-height: 1.6;
  padding: 10px 0;
}
footer a i.fab,footer a i.fa {
	color: #000066;
}
footer a i.fab:hover,footer a i.fa:hover, footer a:hover, footer a:focus, footer a:focus-visible, .social li a:hover, .social li a:focus, .social li a:focus-visible {
   color: #0000ab;
}
footer .span4 p {
  border-left: 1px dotted  #f2f2f2;
}
footer .label {
	text-align: right;float:left
}
footer p.label {
	font-size: 0.7em;
}
#piepag, #cookieChoiceInfo {
	background-color:#000066;
	text-align: center;
	width: 100%;
	z-index: -10;
	color: #fff;
}

#piepag p, #piepag a, #cookieChoiceInfo a {color:white; font-weight:normal}
.scrollup {
  background-color: rgba(255, 255, 255, 0.20);
  text-decoration: none;
  border-radius: 2px;
  border: 1px solid #000066;
  width: 40px;
  height: 40px;
  text-align:center;
  font-size:24px;
  position:fixed;
  bottom:100px;
  right:10px;
}
.scrollup a {
  color: #000066;
}
.scrollup:hover, .scrollup:focus {
  color: white;
  background: #181A1C;
  border: 1px solid White;
}

.scrollup > a:hover,.scrollup > a:focus {color: White;}
