@import url('reset.css');

::-moz-selection{ background-color: #777; color: #FFF;}
::selection{ background-color: #777; color: #FFF;}

a {text-decoration: none; color: #2ea8de; cursor: pointer;}
a:hover {color: #CCC;}

body {
  font-family: 'Montserrat', sans-serif;
  background: #FFF;
  color: #555;
  font-size: 15px;
  line-height: 26px;
  letter-spacing: 0;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
}

ul li, ol li {font-weight: 400}

h1 {font-size: 42px; line-height: 42px; font-weight: 800; color: #0f2143; font-family: 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: 0; font-style: italic; margin-bottom: 20px; overflow: visible;}
h2 {text-align: center; font-size: 42px; line-height: 42px; font-weight: 800; color: #0f2143; font-family: 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: 0; font-style: italic; margin-bottom: 20px; overflow: visible;}
h3 {font-size: 20px; line-height: 22px; font-weight: 800; color: #0f2143; font-family: 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: 0; margin-bottom: 20px; text-align: center;}
h4 {font-family: 'Montserrat', sans-serif; font-size: 13px; line-height: 40px; color: #0f2143; text-transform: uppercase; font-weight: 700; font-style: italic;}
h2 p {text-align: center;}

strong {font-weight: 600}

span.hkcolor {color: #2ea8de; font-size: 25px; line-height: 25px;}
span.hkcolor.hkabout {font-size: inherit; line-height: inherit;}

#cookieChoiceInfo {bottom: 0; top: inherit !important; font-size: 10px; line-height: 15px; padding-top: 10px !important; font-family: Helvetica, Arial, sans-serif;}
#cookieChoiceInfo a#cookieChoiceDismiss {margin-left: 8px !important;}


/* --------------------------------------------------------------------------
        CSS BASE
--------------------------------------------------------------------------- */

.only-mobile {display: none;}
.not-mobile {display: block;}

#top {z-index: 9; position: fixed; width: 100%; top: 0; left: 0; right: 0; height: 62px; background: #FFF;}

.wrapper {position: relative; height: auto; overflow: hidden; width: 100%; max-width: 1100px; padding: 0 20px; margin: 0 auto;}

#logo {position: relative; float: left; margin-top: 10px;}
#menu-container {position: relative; float: right; margin-top: 18px;}

#main-content {background: #f4f3f4}

#menu {position: relative; height: auto; float: right;}
#menu ul {position: relative; height: auto;}
#menu ul li {position: relative; height: auto; display: inline-block; margin: 0 10px;}
#menu ul li a, #lang {font-family: 'Montserrat', sans-serif; font-size: 14px; line-height: 21px; color: #0f2143; text-transform: uppercase; font-weight: 700; font-style: italic;}
#lang {font-size: 12px;}
#menu ul li a:hover {color: #2ea8de;}
#menu ul li:last-child {margin-right: 0}
#menu ul li a:last-child {padding-right: 0}
#menu ul li.active a {color: #2ea8de;}

#social {position: relative; float: right; margin: 0 30px;}
#social a {position: relative; height: auto; overflow: hidden; display: inline-block; margin: 0 3px;}

#lang {position: relative; float: right; font-weight: 400;}
#lang a {color: #555;}
#lang a:hover {color: #CCC;}

#galleria {background: #ffffff !important; min-height: 400px;}
#galleria .galleria-images {opacity: 0.9;}
#galleria.galleria-small {height: 500px;}
#galleria.galleria-small .galleria-images {opacity: 1;}
#galleria-title {position: absolute; top: 200px; width: 100%; color: white; text-align: center; font-family: 'Quicksand', sans-serif; font-size: 50px; line-height: 50px; font-weight: 400; letter-spacing: 0; text-transform: none;}
.galleria-thumbnails-container {bottom: 40px; left: 0; right: 0; z-index: 2;}
.galleria-thumbnails .galleria-image {margin: 0; border: 0; background: rgba(24, 40, 54, 0.95);}

#main-content .wrapper {padding-top: 140px; padding-bottom: 100px; overflow-x: visible;}

.foto-sovrapposte {overflow: visible !important;}
.foto-1 img, .foto-2 img {display: block;}
.foto-2 {z-index: 2; position: relative; left: -40px; margin-top: -40px;}
.foto-2 img {width: 80%;}
.foto-1 {overflow: hidden;}

.common-right {padding-top: 50px !important; padding-left: 50px !important;}

.bottone, input.submit {cursor: pointer; position: relative; padding: 10px 30px; color: #2ea8de; border: 1px solid #2ea8de; font-size: 12px; font-style: italic; font-weight: 400;margin-top: 10px; display: inline-block;}
.bottone.boxshadow, input.submit {
-webkit-box-shadow: 4px 4px 0px 0px #2ea8de;
-moz-box-shadow:    4px 4px 0px 0px #2ea8de;
box-shadow:         4px 4px 0px 0px #2ea8de;}

.center-paragraph {width: 800px; margin: 30px auto;}

#main-content.credits img {text-align: center; display: inline-block;}

.col-r-4-gallery img {width: 100%;}


/* --------------------------------------------------------------------------
        SERVIZI
--------------------------------------------------------------------------- */

#servizi {background: #f4f3f4;}
.singolo-servizio {text-align: center;}
.singolo-servizio-img {background: #2ea8de;}
.singolo-servizio-img img {width: 100%; display: block;}
.bottone.bottone-servizi {margin: 0; top: -25px; background: white; min-width: 250px;}

.wrapper-servizi-interno {padding-top: 80px; padding-bottom: 80px;}

.container-servizio {position: relative; height: auto; overflow: hidden; width: 100%; max-width: 800px; margin: 0 auto; border-bottom: 1px solid #d4d4d4; padding-bottom: 0; margin-bottom: 20px;}
.container-servizio:last-child {border-bottom: 0}


/* --------------------------------------------------------------------------
        MODELLI
--------------------------------------------------------------------------- */

#modelli {position: relative; height: auto; overflow: hidden; background: white; padding: 100px 0;}
#main-content.modelli-page {padding: 100px 0;}
#modelli h2 {margin-bottom: 70px;}
.singolo-modello {position: relative; height: auto; overflow: hidden; width: 500px; text-align: center;}
.singolo-modello-img {position: relative; height: auto; overflow: hidden; margin-bottom: 20px;}
.singolo-modello-text {position: relative; height: auto; overflow: hidden; font-weight: 400; margin-bottom: 20px;}
.singolo-modello-text p {text-align: justify;}

.bx-wrapper .bx-viewport {padding-left: -250px;}
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {left: -5px !important;}
.singolo-modello-text {font-family: 'Montserrat', sans-serif; font-size: 15px; line-height: 26px; letter-spacing: 0; font-weight: 300;}

.singolo-modello, .singolo-modello h3 {text-align: left;}


/* --------------------------------------------------------------------------
        STORICO GARE
--------------------------------------------------------------------------- */

.storico-title {text-align: center; 
    font-size: 13px;
    line-height: 18px;
    font-weight: 800;
    color: #0f2143;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 14px;
    text-align: left;
  }
.storico-text, .storico-text p {    text-align: left;
    font-size: 12px;
    font-weight: 300;
    line-height: 19px;}


.storico-date {
    font-size: 11px;
    margin-top: 0;
    line-height: 11px;
    margin-bottom: 4px;
}
.col-r-4-storico {padding-left: 0 !important; padding-top: 0 !important;}


/* --------------------------------------------------------------------------
        FOOTER
--------------------------------------------------------------------------- */

#footer {position: relative; padding: 30px 0 0 0; height: auto; overflow: hidden; background: #FFF; font-size: 13px;}
#footer img {width: auto !important;}

#footer .left {position: absolute; left: 20px; top: 0;}
#footer .right {position: absolute; right: 20px; top: 0;}
#footer .center {position: relative; display: inline-block;}

#footer ul.submenu li {list-style: none; margin-left: -20px; text-align: left;}
#footer ul.submenu a {font-weight: 300;}

#footer .footer-social a {margin-right: 5px; display: inline-block;}

#footer a {color: #555;}
#footer a:hover {color: #CCC;}


/* --------------------------------------------------------------------------
        FORM
--------------------------------------------------------------------------- */

label {font-size: 12px; text-align: center; font-family: 'Open Sans', sans-serif; font-weight: 600; color: #222; letter-spacing: 0;}
input {position: relative; height: auto; overflow: hidden; width: 80%; margin: 0 auto; border: 1px solid #E7E7E7; background: #FFF; font-size: 14px; letter-spacing: 1px; color: #8E8E8E; padding: 15px 20px 15px 20px; display: block; margin-bottom: 15px; font-family: 'Open Sans', sans-serif; font-weight: 400; border-radius: 4px;}
textarea {position: relative; height: auto; overflow: hidden; display: block; width: 80%; margin: 0 auto; font-size: 13px; border: 1px solid #E7E7E7; letter-spacing: 1px; background: #FFF; padding: 15px 20px 15px 20px; height: 200px; margin-bottom: 15px; color: #8E8E8E; font-family: 'Open Sans', sans-serif; font-weight: 400; border-radius: 4px;}

input:focus, select:focus, textarea:focus, button:focus {outline: none;}
input.submit {display: inline-block;width: auto;}
input.submit:hover {color: #CCC;}
#contactform {text-align: center;}

select{cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none}
select.classic{background-image:linear-gradient(45deg,transparent 50%,blue 50%),linear-gradient(135deg,blue 50%,transparent 50%),linear-gradient(to right,skyblue,skyblue);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px),100% 0;background-size:5px 5px,5px 5px,2.5em 2.5em;background-repeat:no-repeat}
select.minimal{background-image:linear-gradient(45deg,transparent 50%,gray 50%),linear-gradient(135deg,gray 50%,transparent 50%),linear-gradient(to right,#ccc,#ccc);background-position:calc(100% - 20px) calc(1.7em + 2px),calc(100% - 15px) calc(1.7em + 2px),calc(100% - 2.5em) 1.2em;background-size:5px 5px,5px 5px,1px 1.5em;background-repeat:no-repeat}

input.checkbox {-webkit-appearance: checkbox !important; padding: 0; cursor: pointer;}
input.checkbox {width: auto; margin-right: 10px; float: left; top: 6px;}

select:disabled, input[type="text"]:disabled, input[type="number"]:disabled {background: whitesmoke; cursor: initial; background-image: none;
-webkit-text-fill-color: #8E8E8E;
-moz-text-fill-color: #8E8E8E;
-ms-text-fill-color: #8E8E8E;
 opacity: 1;}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {  
   opacity: 1;
}


/* --------------------------------------------------------------------------
        ISCRIZIONE
--------------------------------------------------------------------------- */

.row.row-no-margin {margin: -15px;}
#iscrizione input, #iscrizione textarea {margin: 0; width: 100%;}
#iscrizione input.submit {width: auto;}
.privacycheckbox {margin-bottom: 0; letter-spacing: 0.5px;}
#iscrizione .privacycheckbox input {margin-right: 10px; width: auto;}
#iscrizione h2 {margin-bottom: 50px;}
.ui-datepicker .ui-datepicker-title select {border: 0;margin: 0 3px !important;}
#iscrizione h4 {margin-bottom: 5px; font-size: 16px;}
.section-iscrizione {margin-top: 30px}


/* --------------------------------------------------------------------------
        FADE IN / FADE OUT
--------------------------------------------------------------------------- */

.js .hideme {opacity: 0;}


/* --------------------------------------------------------------------------
        Responsive patterns
--------------------------------------------------------------------------- */

.col-r-1 {width: 8.33%;}
.col-r-2 {width: 16.66%;}
.col-r-3 {width: 25%;}
.col-r-4 {width: 33.33%;}
.col-r-5 {width: 41.66%;}
.col-r-6 {width: 50%;}
.col-r-7 {width: 58.33%;}
.col-r-8 {width: 66.66%;}
.col-r-9 {width: 75%;}
.col-r-10 {width: 83.33%;}
.col-r-11 {width: 91.66%;}
.col-r-12 {width: 100%;}

[class*="col-r-"] {float:left; padding: 15px; position: relative; height: auto; overflow: hidden;}
[class*="col-r-"] p img {width: 100% !important; height: auto !important;}
.row::after {content: ""; clear: both; display: block;}

/* ---- MASONRY ---- */
.masonry {column-count: 2; column-gap: 0.3em; }
.item {width: 100%; position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;break-inside: avoid}
.item img {width: 100%; display: block; padding-bottom: 0.3em;}


/* --------------------------------------------------------------------------
        RESPONSIVE
--------------------------------------------------------------------------- */


@media screen and (min-width: 1500px) {

  li.li-modello {opacity: 0.4;}
  li.li-modello.active-slide {opacity: 1;}

}

@media screen and (max-width: 1130px) {
  #modelli {padding: 60px 20px;}
  .singolo-modello {width: 100%;}
  #modelli h2 {margin-bottom: 30px;}

  .singolo-modello-img {text-align: center;}
  .bx-wrapper img {display: inline-block !important;}

  #bxslider-container-modelli {width: 100%; max-width: 800px; margin: 0 auto;}
}


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

  /* ---- FLEXBOX ---- */
  .flexbox-container {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-moz-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}
  .flexbox-container .first-div{-webkit-box-ordinal-group:2;-moz-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2}
  .flexbox-container .second-div{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1}

  .masonry {column-count: 2;}

  #galleria.galleria-home {height: 400px !important;}

  .row.row-no-margin {margin: 0;}

  #logo {z-index: 439;}
  #lang {margin-right: 80px;}
  #top .wrapper {overflow: visible;}
  #menu-container {position: absolute; width: 100%; float: none; right: 0;}
  #menu {width: 100%; overflow: visible;}
  #menu ul {height: auto; display: block; width: 100%; display: none; padding: 0; float: none; top: 18px; position: relative; z-index: 2;}
  #menu ul li { display: block; text-align: center; width: 100%; padding: 10px 0; margin: 0; background: rgba(255,255,255,1); border-top: 1px solid #EAEAEA;}
  #menu ul li, #menu ul li a {font-size: 14px; text-decoration: none; display: block;}
  #menu ul li.last {border-bottom: 1px solid #EAEAEA}
  #show-hide-menu {position: absolute; right: 20px; display: block; top: 22px; z-index: 9;}

  #main-content .wrapper {padding-top: 100px; padding-bottom: 70px;}

  .wrapper-servizi-interno {padding-top: 60px; padding-bottom: 60px;}
  #footer {padding: 50px 0 20px 0;}

  #footer .wrapper .col-r-3 p, #footer .wrapper .col-r-3  {text-align: center;}
  input, textarea {width: 100%;}
}

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

  .only-mobile {display: block;}
  .not-mobile {display: none;}

  .center-paragraph {max-width: 100%; width: 100%;}

  .masonry {column-count:1;}
  [class*="col-r-"] {float: none; padding: 0 0 15px 0 !important; width: 100%;}
  [class*="col-r-"]:last-child {padding-bottom: 0 !important;}

  #footer .wrapper p, #footer h4 {text-align: center;}

  .foto-1 img {width: 100%;}
  .foto-1 {margin-bottom: 20px;}
  .foto-2 {display: none;}

}