/* =============================================================================

	Main stylesheet

============================================================================= */
.lead-text {
  font-size: 1.1em; }

.hide {
  display: none; }

.hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.center-xy {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.clearfix {
  content: "";
  clear: both;
  display: block;
  height: 0.1px; }

/* =============================================================================

    Site typography

============================================================================= */
/* =============================================================================
    Font calling and declaration
============================================================================= */
/*
    Fira font-face
    ============================
*/
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-Light.eot");
  src: local("Fira Sans Light"), url("../fonts/FiraSans-Light.eot") format("embedded-opentype"), url("../fonts/FiraSans-Light.woff") format("woff"), url("../fonts/FiraSans-Light.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-LightItalic.eot");
  src: local("Fira Sans Light Italic"), url("../fonts/FiraSans-LightItalic.eot") format("embedded-opentype"), url("../fonts/FiraSans-LightItalic.woff") format("woff"), url("../fonts/FiraSans-LightItalic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic; }
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-Book.eot");
  src: local("Fira Sans Book"), url("../fonts/FiraSans-Book.eot") format("embedded-opentype"), url("../fonts/FiraSans-Book.woff") format("woff"), url("../fonts/FiraSans-Book.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }
@font-face {
  font-family: "Fira Sans";
  src: url("../fonts/FiraSans-BookItalic.eot");
  src: local("Fira Sans Book Italic"), url("../fonts/FiraSans-BookItalic.eot") format("embedded-opentype"), url("../fonts/FiraSans-BookItalic.woff") format("woff"), url("../fonts/FiraSans-BookItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic; }
/* =============================================================================
    Typographic elements
============================================================================= */
body {
  /* ROOT typography */
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  font-weight: 300;
  letter-spacing: 0.1px;
  line-height: 1.5;
  color: #0d2135; }

@media (max-width: 767px) {
  body {
    /* ROOT typography */
    font-size: 14px; } }
@media (min-width: 768px) and (max-width: 991px) {
  body {
    /* ROOT typography */
    font-size: 16px; } }
/*
    Titles
    ============================
*/
.title {
  position: relative;
  width: 90%;
  margin-top: 0.3em;
  margin-bottom: 1em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-family: "Fira Sans";
  text-transform: uppercase;
  color: #3386d7;
  font-weight: 400; }
  .title.title-hero {
    margin-top: 0.5em;
    margin-bottom: 1.4em;
    font-size: 1.8em; }
  .title.sub-hero {
    margin-top: -1.4em; }
  .title.title-lg {
    font-size: 1.55em; }
  .title.title-md {
    width: 100%;
    border-bottom: 1px solid;
    font-size: 1em;
    font-weight: 500;
    text-align: left; }
  .title.title-sm {
    font-size: 0.85em;
    font-weight: 500; }

/*
    Testi utente
    ============================
*/
.u-text p {
  margin-bottom: 1.2em; }
.u-text strong {
  font-weight: 500; }
.u-text ul {
  padding-left: 1em; }
.u-text blockquote {
  font-size: 1em; }

/* =============================================================================

	NAVIGATIONS

============================================================================= */
/* =============================================================================
	Generic navigation rules
============================================================================= */
.navbar {
  font-family: "Fira Sans"; }

/*
	Main nav
	============================================================================
*/
.navbar-geoborder {
  border: none;
  background-color: #3386d7;
  background: rgba(51, 134, 215, 0.9); }
  .navbar-geoborder .navbar-toggle {
    background: rgba(255, 255, 255, 0.4); }
    .navbar-geoborder .navbar-toggle .icon-bar {
      background: #fff; }
  .navbar-geoborder .navbar-brand {
    color: #fff;
    text-shadow: none; }
    .navbar-geoborder .navbar-brand:hover {
      background: #eee;
      color: #3386d7; }
  .navbar-geoborder .nav a {
    color: #fff;
    text-shadow: none; }
    .navbar-geoborder .nav a:hover {
      color: #3386d7; }
  .navbar-geoborder .nav .open > a {
    color: #3386d7; }
  .navbar-geoborder .nav .active {
    background: rgba(255, 255, 255, 0.2); }
  .navbar-geoborder .nav .dropdown-menu {
    background: #fff;
    border-radius: 0; }
    .navbar-geoborder .nav .dropdown-menu .active {
      border-left: 2px solid #3386d7; }
      .navbar-geoborder .nav .dropdown-menu .active a {
        background: rgba(51, 134, 215, 0.1); }
    .navbar-geoborder .nav .dropdown-menu > li > a {
      color: #fe763d; }
      .navbar-geoborder .nav .dropdown-menu > li > a:hover {
        background: rgba(51, 134, 215, 0.05); }

body {
  padding-top: 50px; }

.box {
  position: relative;
  padding-top: 2em;
  padding-bottom: 2em; }

/* =============================================================================

	CONTENTS

============================================================================= */
a {
  color: #fe763d;
  text-decoration: none; }
  a:hover {
    color: #666; }
  a:visited {
    color: #fe763d; }

.button {
  line-height: 1;
  font-family: "Fira Sans";
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  text-decoration: none; }
  .button:hover {
    text-decoration: none;
    color: #666; }
  .button.ghost {
    padding: 10px 15px 8px;
    border: 1px solid;
    border-radius: 4px;
    background: none; }
    .button.ghost.white {
      color: white; }
  .button.wide {
    width: 100%;
    display: block;
    padding: 20px 0;
    background: rgba(254, 118, 61, 0.8);
    text-align: center;
    color: white; }

#cookiesWarning {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  font-size: .75em; }
  #cookiesWarning .cookies-message {
    margin: 0;
    padding: .5em;
    background: rgba(68, 68, 68, 0.9);
    color: #eeeeee; }
  #cookiesWarning a {
    color: white; }
  #cookiesWarning [name=cookieAgreement] {
    margin-top: .5em;
    padding-top: .5em;
    border-top: 1px solid rgba(238, 238, 238, 0.3); }
  #cookiesWarning .btn {
    margin-left: 1em; }

.simple-list {
  padding: 0;
  list-style: none; }

.social-list {
  padding-left: 0; }
  .social-list li {
    display: block;
    margin-bottom: 10px; }

.social-badge {
  margin-right: 20px; }
  .social-badge img {
    height: 1.2em; }

.box--header {
  overflow: hidden; }
  .box--header.big-header {
    height: 600px; }
    .box--header.big-header #carousel-header .item {
      width: 100vw;
      height: 600px; }
    .box--header.big-header #carousel-header #header-01 {
      background: url("../img/geoborders-header-1.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-02 {
      background: url("../img/geoborders-header-2.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-03 {
      background: url("../img/geoborders-header-3.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-04 {
      background: url("../img/geoborders-header-4.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-05 {
      background: url("../img/geoborders-header-5.jpg") no-repeat center center;
      background-size: cover; }
  .box--header.small-header {
    height: 260px; }
    .box--header.small-header #carousel-header .item {
      width: 100vw;
      height: 260px; }
    .box--header.small-header #carousel-header #header-01 {
      background: url("../img/geoborders-header-small-1.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.small-header #carousel-header #header-02 {
      background: url("../img/geoborders-header-small-2.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.small-header #carousel-header #header-03 {
      background: url("../img/geoborders-header-small-3.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.small-header #carousel-header #header-04 {
      background: url("../img/geoborders-header-small-4.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.small-header #carousel-header #header-05 {
      background: url("../img/geoborders-header-small-5.jpg") no-repeat center center;
      background-size: cover; }
  .box--header:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0, 0, 0, 0.45); }

.header-image {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  width: 100%;
  display: block; }

.header-message {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
  width: 100%;
  padding-top: .4em;
  padding-bottom: .4em; }
  .header-message .logo {
    max-width: 350px;
    margin-bottom: 25px; }
  .header-message .tagline {
    margin: 0;
    font-family: "Fira Sans";
    font-weight: 400;
    color: white; }
  .header-message h1.tagline {
    margin-top: .55em;
    margin-bottom: .6em;
    font-size: 2.3em; }
  .header-message h2.tagline {
    font-size: 1.3em; }

.company-logo {
  margin-bottom: 3em; }

.mappa-zone-rosse {
  margin-bottom: 2em; }

.box--proposte-vendita {
  border-top: 1px solid #3386d7; }
  .box--proposte-vendita .button {
    display: block;
    margin-bottom: 20px; }
  .box--proposte-vendita .tab-content {
    margin-bottom: 1.5em; }
  .box--proposte-vendita #nav-proposte {
    margin-bottom: 2.2em; }
  .box--proposte-vendita #nav-proposte > li > a {
    padding-left: 0;
    border-radius: 0;
    border-right: 1px solid; }
    .box--proposte-vendita #nav-proposte > li > a:hover {
      background-color: transparent;
      color: #666; }
  .box--proposte-vendita #nav-proposte > li.active > a {
    background-color: transparent;
    color: #3386d7; }

.product-container {
  position: relative;
  display: block; }
  .product-container .label-info {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0.25em 0 .25em;
    font-weight: normal; }
  .product-container .label-store {
    position: absolute;
    bottom: 0;
    right: 0;
    border: 1px solid;
    border-radius: 0.25em 0 .25em;
    background: white;
    font-weight: normal;
    color: #fe763d; }
    .product-container .label-store:hover {
      color: #888888; }

.box--contatti {
  height: auto;
  background: url("../img/mappa-genova.jpg") repeat center center;
  color: white; }
  .box--contatti:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(51, 134, 215, 0.9);
    content: ""; }
  .box--contatti .title {
    color: white; }
  .box--contatti .informazioni-contatto {
    margin-bottom: 2em; }
  .box--contatti .numero-telefonico {
    margin: 1.2em 0;
    font-size: 1.5em; }
  .box--contatti .google-map {
    display: block;
    width: 100%;
    height: 400px; }

@media (max-width: 768px) {
  .box--header.big-header, .box--header.small-header {
    height: 220px; }
    .box--header.big-header #carousel-header .item, .box--header.small-header #carousel-header .item {
      width: 100vw;
      height: 220px; }
    .box--header.big-header #carousel-header #header-01, .box--header.small-header #carousel-header #header-01 {
      background: url("../img/geoborders-header-small-1.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-02, .box--header.small-header #carousel-header #header-02 {
      background: url("../img/geoborders-header-small-2.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-03, .box--header.small-header #carousel-header #header-03 {
      background: url("../img/geoborders-header-small-3.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-04, .box--header.small-header #carousel-header #header-04 {
      background: url("../img/geoborders-header-small-4.jpg") no-repeat center center;
      background-size: cover; }
    .box--header.big-header #carousel-header #header-05, .box--header.small-header #carousel-header #header-05 {
      background: url("../img/geoborders-header-small-5.jpg") no-repeat center center;
      background-size: cover; }

  .header-message {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 3;
    width: 100%;
    padding-top: .4em;
    padding-bottom: .4em; }
    .header-message .logo {
      max-width: 200px;
      margin-bottom: 30px; }
    .header-message .tagline {
      margin: 0;
      font-family: "Fira Sans";
      font-weight: 400;
      color: white; }
    .header-message h1.tagline {
      margin-top: .55em;
      margin-bottom: .6em;
      font-size: 2.3em; }
    .header-message h2.tagline {
      font-size: 1.3em; } }
@media (max-width: 500px) {
  .box--header.big-header #carousel-header #header-01, .box--header.small-header #carousel-header #header-01 {
    background-position: -470px center; }
  .box--header.big-header #carousel-header #header-02, .box--header.small-header #carousel-header #header-02 {
    background-position: -670px center; }
  .box--header.big-header #carousel-header #header-03, .box--header.small-header #carousel-header #header-03 {
    background-position: -570px center; }
  .box--header.big-header #carousel-header #header-04, .box--header.small-header #carousel-header #header-04 {
    background-position: -520px center; }
  .box--header.big-header #carousel-header #header-05, .box--header.small-header #carousel-header #header-05 {
    background-position: right center; } }
@media (max-width: 767px) {
  .navbar-geoborder .nav .open .dropdown-menu > .active > a {
    background: rgba(51, 134, 215, 0.1);
    color: #fe763d; }
    .navbar-geoborder .nav .open .dropdown-menu > .active > a:hover {
      background: rgba(51, 134, 215, 0.05);
      color: #fe763d; }
  .navbar-geoborder .nav .open .dropdown-menu > li > a:hover {
    background: rgba(51, 134, 215, 0.05); } }
