@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,700&display=swap");
* {
  box-sizing: border-box; }
  *:after {
    box-sizing: border-box; }
  *:before {
    box-sizing: border-box; }

html {
  width: 100%;
  height: 100%;
  /* Adjust font size */
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  /* Font varient */
  font-variant-ligatures: none;
  -webkit-font-variant-ligatures: none;
  /* Smoothing */
  txt-align-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased; }

body {
  width: 100%;
  height: 100%;
  font-family: 'PT Sans', sans-serif;
  font-size: 16px;
  line-height: 1.2; }

p {
  color: #363636; }

p.negative {
  color: #F2F2F2; }

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit; }

.txt-center {
  text-align: center; }

.txt-align-r {
  text-align: right; }

.txt-justify {
  text-align: justify; }

.txt-sm {
  font-size: 0.875rem; }

.txt-regular {
  font-size: 1rem; }

.txt-m {
  font-size: 1.125rem; }

.txt-l {
  font-size: 28px; }

.txt-xl {
  font-size: 42px; }

.txt-xxl {
  font-size: 80px; }

.no-margin {
  margin: 0; }

.uppercase {
  text-transform: uppercase; }

hr {
  border: 0;
  border-bottom: 1px solid #F2F2F2; }

.wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px; }

.col-content {
  width: 100%;
  height: 100%;
  padding: .15rem 0;
  background: dodgerblue; }

#msgcookies {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  padding: 1rem;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.83);
  line-height: 1.4rem;
  z-index: 99999; }

#msgcookies a {
  display: inline-block;
  font-weight: 600;
  color: #2B97D0; }

#msgcookies a:nth-child(2) {
  margin-right: 20px; }

#msgcookies a:hover {
  color: #F18A21; }

#msgcookies a:nth-child(3) {
  padding: 3px 8px;
  margin: 5px 0 0 10px;
  border: 2px solid #2B97D0;
  text-transform: uppercase; }

p {
  margin: 0; }

.x-small {
  font-size: .75rem; }

.headline {
  font-size: 22px;
  color: #363636;
  font-weight: 700;
  margin: .5rem 0; }
  .headline__small {
    font-size: 20px; }
  .headline__neg {
    color: #FFF; }
  .headline__blue {
    color: #2EB3FF; }
  .headline__normal {
    font-weight: 400; }
  .headline__uppercase {
    text-transform: uppercase; }
  .headline__center {
    text-align: center; }

.subline {
  font-size: 18px;
  color: #363636;
  margin: .5rem 0; }
  .subline__neg {
    color: #FFF; }
  .subline__blue {
    color: #2EB3FF; }
  .subline__normal {
    font-weight: 400; }
  .subline__uppercase {
    text-transform: uppercase; }
  .subline__center {
    text-align: center; }

.title {
  color: #363636;
  font-weight: normal;
  margin-bottom: 1rem; }
  .title__blue {
    color: #0A3856; }
  .title__neg {
    color: #FFF; }
  .title__bold {
    font-weight: bold; }
  .title__big {
    font-size: 24px; }
    @media (min-width: 426px) {
      .title__big {
        font-size: 28px; } }
    @media (min-width: 769px) {
      .title__big {
        font-size: 32px; } }
    @media (min-width: 1025px) {
      .title__big {
        font-size: 38px; } }
    @media (min-width: 1441px) {
      .title__big {
        font-size: 42px; } }
  .title__small {
    font-size: 20px; }
    @media (min-width: 426px) {
      .title__small {
        font-size: 22px; } }
    @media (min-width: 769px) {
      .title__small {
        font-size: 24px; } }
    @media (min-width: 1025px) {
      .title__small {
        font-size: 28px; } }
    @media (min-width: 1441px) {
      .title__small {
        font-size: 32px; } }

button:focus {
  outline: none; }

.btn {
  margin: .5rem 0;
  display: inline-block;
  text-transform: uppercase;
  font-weight: 700;
  padding: .5rem 1.5rem;
  border-radius: .5rem;
  color: #FFF;
  transition: .2s;
  cursor: pointer; }
  .btn__light {
    background: #2EB3FF; }
  .btn__dark {
    background: #0A3856; }
  @media (min-width: 1025px) {
    .btn:hover {
      opacity: .7; } }

.submit-btn {
  display: block;
  width: 100%;
  padding: 1rem;
  border: none;
  font-size: 1.1rem;
  font-weight: bold;
  color: #FFF;
  background: #1ABB46;
  transition: .2s;
  cursor: pointer; }
  @media (min-width: 769px) {
    .submit-btn:hover {
      opacity: .7; } }

.blue-bg {
  background: #0A3856; }

.header {
  background: #FFF; }

header {
  position: relative;
  padding: .375rem 0 1rem;
  background: #F2F2F2; }
  @media (min-width: 769px) {
    header {
      padding: 1rem 0 4rem;
      min-height: 50%; } }
  header .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0; }
  header .wrapper {
    position: relative;
    z-index: 2; }
  header .title {
    margin-top: 6rem; }
    @media (min-width: 769px) {
      header .title {
        margin-top: 9rem; } }

.header-logo {
  width: 100%;
  max-width: 120px; }
  @media (min-width: 769px) {
    .header-logo {
      max-width: 240px; } }

.shape {
  position: absolute;
  left: 0;
  width: 100%;
  min-width: 100%;
  z-index: 1; }
  .shape__header {
    top: 0;
    height: 80px; }
    @media (min-width: 769px) {
      .shape__header {
        top: 0;
        height: 150px; } }
  .shape__top {
    top: 0; }
  .shape__bottom {
    bottom: 0; }

.simple-list {
  padding: 0 0 0 1rem; }
  .simple-list li {
    list-style: none;
    color: #363636;
    margin-bottom: .375rem; }
    .simple-list li:before {
      content: "\2022";
      /* Add content: \2022 is the CSS Code/unicode for a bullet */
      color: #2EB3FF;
      /* Change the color */
      font-weight: bold;
      /* If you want it to be bold */
      display: inline-block;
      /* Needed to add space between the bullet and the text */
      width: 1em;
      /* Also needed for space (tweak if needed) */
      margin-left: -1em;
      /* Also needed for space (tweak if needed) */ }

section {
  position: relative; }

.first {
  padding: 1rem 0 3rem;
  z-index: 3; }

.second {
  padding-bottom: 0; }

.third {
  padding: 3rem 0 5rem; }

.first-cta {
  background: #ECECEC;
  padding: 2rem 0 4rem; }

.trattamenti {
  padding: 2rem 0 4rem; }

.second-cta {
  background: #2EB3FF;
  padding: 2rem 0 4rem; }

.foto {
  background: #0A3856;
  padding: 2rem 0 10rem; }
  .foto p {
    color: #FFF; }
  .foto .title {
    color: #2EB3FF; }

.third-cta {
  background: #2EB3FF;
  padding: 2rem 0 4rem; }

.tab-btn {
  position: relative;
  background: transparent;
  border: none;
  color: #FFF;
  text-transform: uppercase;
  margin: 1rem 0 2rem;
  cursor: pointer;
  z-index: 10;
  outline: none;
  transition: .2s; }
  @media (min-width: 1025px) {
    .tab-btn:hover {
      color: #1ABB46; } }
  .tab-btn__active {
    color: #2EB3FF; }
    .tab-btn__active:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 1.8rem;
      height: 1.8rem;
      background: #2EB3FF;
      transform: translate(-50%, 2.75rem) rotate(45deg); }
      @media (min-width: 1025px) {
        .tab-btn__active:after {
          transform: translate(-50%, 2.4rem) rotate(45deg); } }

.tab-header {
  position: relative;
  background: #2EB3FF;
  padding: 1rem 0 3rem; }

.tab-body {
  padding-bottom: 3rem; }

.tab-in {
  animation: animIn .3s ease;
  animation-fill-mode: both; }
  .tab-in:nth-child(1) {
    animation-delay: 200ms; }
  .tab-in:nth-child(2) {
    animation-delay: 400ms; }
  .tab-in:nth-child(3) {
    animation-delay: 600ms; }
  .tab-in:nth-child(4) {
    animation-delay: 800ms; }
  .tab-in:nth-child(5) {
    animation-delay: 1000ms; }
  .tab-in:nth-child(6) {
    animation-delay: 1200ms; }
  .tab-in:nth-child(7) {
    animation-delay: 1400ms; }
  .tab-in:nth-child(8) {
    animation-delay: 1600ms; }
  .tab-in:nth-child(9) {
    animation-delay: 1800ms; }
  .tab-in:nth-child(10) {
    animation-delay: 2000ms; }
  .tab-in:nth-child(11) {
    animation-delay: 2200ms; }
  .tab-in:nth-child(12) {
    animation-delay: 2400ms; }

@keyframes animIn {
  from {
    opacity: 0;
    transform: translateY(1rem); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.tab-footer {
  position: relative;
  background: #E0E0E0;
  height: 20vh;
  min-height: 250px;
  overflow: hidden; }
  @media (min-width: 769px) {
    .tab-footer {
      height: 40vh; } }
  .tab-footer img.bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.trattamenti-tab-header {
  margin: 1rem 0;
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem 0; }
  @media (min-width: 769px) {
    .trattamenti-tab-header {
      display: flex;
      flex-flow: column;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap;
      margin-bottom: 4rem;
      height: 100%; } }

#casa-btn:before {
  content: url(../_img/casa-icon.png); }

#azienda-btn:before {
  content: url(../_img/azienda-icon.png); }

#auto-btn:before {
  content: url(../_img/car-icon.png); }

.trattamenti-tab-btn {
  position: relative;
  width: 33%;
  font-size: .9rem;
  border: none;
  background: transparent;
  cursor: pointer; }
  @media (min-width: 769px) {
    .trattamenti-tab-btn {
      font-size: 1.1rem; } }
  .trattamenti-tab-btn:before {
    content: "";
    display: block;
    margin: 0 auto .3rem auto;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: #ECECEC;
    transition: .2s; }
  .trattamenti-tab-btn__active:before {
    background: #2EB3FF;
    transition: .2s; }
  @media (min-width: 769px) {
    .trattamenti-tab-btn {
      width: auto;
      margin: 2rem 0;
      padding: 1rem 0 0 3.5rem; }
      .trattamenti-tab-btn:before {
        display: inline-block;
        margin: 0;
        position: absolute;
        top: 0;
        left: 0; } }

.trattamenti-tab-description {
  margin-bottom: 4rem; }
  @media (min-width: 769px) {
    .trattamenti-tab-description {
      margin: 0;
      padding: 6rem 0; } }

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 5rem 2rem 0;
  z-index: 999;
  background: #0A3856;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }
  .modal .modal-wrapper {
    position: relative;
    width: 100%;
    max-width: 720px;
    margin: 0 auto 3rem auto;
    padding: 1rem;
    background: #FFF; }
    .modal .modal-wrapper .close {
      position: absolute;
      top: -1rem;
      right: -1rem;
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      font-size: 1.75rem;
      background: #D2121F;
      color: #FFF;
      cursor: pointer;
      display: flex;
      flex-flow: row;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap; }
  .modal .modal-content {
    width: 100%; }

.logo-footer {
  margin-top: 1rem; }
  @media (min-width: 1025px) {
    .logo-footer {
      margin-top: 0; } }

.form-container {
  z-index: 7rem;
  margin-top: 1rem;
  background: #FFFFFF;
  box-shadow: 0 30px 100px 0 rgba(22, 94, 132, 0.16);
  border-radius: 10px;
  padding-bottom: 1rem;
  overflow: hidden; }
  @media (min-width: 769px) {
    .form-container {
      margin-top: 0;
      transform: translateY(-6rem); } }
  .form-container .form-header {
    position: relative;
    padding: 1rem 0 3rem;
    background: #2EB3FF; }

.text-input-wrapper {
  position: relative; }
  .text-input-wrapper label {
    display: inline-block;
    font-size: .85rem;
    margin: 0 0 0 .5rem;
    padding: 0 .25rem 0 .25rem;
    transform: translateY(0.55rem);
    background: #FFF;
    color: #363636; }
  .text-input-wrapper input, .text-input-wrapper textarea {
    width: 100%;
    padding: .5rem;
    border: 1px solid #E0E0E0;
    -webkit-appearance: none;
    transition: .2s; }
    @media (min-width: 1025px) {
      .text-input-wrapper input:hover, .text-input-wrapper textarea:hover {
        border: 1px solid #bbbbbb; } }
    .text-input-wrapper input:focus, .text-input-wrapper textarea:focus {
      outline: none;
      border: 1px solid #2EB3FF; }
  .text-input-wrapper textarea {
    height: 6rem;
    resize: none; }
  .text-input-wrapper input.error {
    border: 1px solid #D2121F; }
  .text-input-wrapper textarea.error {
    border: 1px solid #D2121F; }

span.error {
  position: absolute;
  right: 1rem;
  bottom: -.9rem;
  font-size: .75rem;
  padding: 0;
  color: #D2121F; }

.f-row {
  position: relative;
  width: 48%;
  margin-bottom: 1.3rem; }
  @media (max-width: 425px) {
    .f-row {
      width: 100%; } }
  .f-row__border {
    border-bottom: 2px solid #212B36; }
  .f-row label {
    font-size: .9rem;
    padding-left: .5rem; }
  .f-row input {
    -webkit-appearance: none;
    width: 100%;
    height: 100%;
    border: 1px solid #c8c8c8;
    background: #363636;
    padding: .5rem 1rem;
    font-size: 1rem;
    color: #101218; }
    .f-row input:focus {
      outline: none; }
    @media (max-width: 425px) {
      .f-row input {
        font-size: 1rem; } }
  .f-row textarea {
    -webkit-appearance: none;
    width: 100%;
    border: 1px solid #c8c8c8;
    background: #363636;
    padding: .5rem 1rem;
    font-size: 1rem;
    color: #101218;
    resize: none; }
    .f-row textarea:focus {
      outline: none; }
    @media (max-width: 425px) {
      .f-row textarea {
        font-size: 1rem; } }
  .f-row button {
    padding: .5rem 2rem; }
  .f-row img {
    width: 100%;
    max-width: 150px; }

.row__fullwidth .f-row {
  width: 100%; }

.privacy {
  margin-bottom: 1rem; }
  .privacy p {
    font-size: .8rem; }
  @media (min-width: 769px) {
    .privacy {
      margin-bottom: 0; }
      .privacy a:hover {
        text-decoration: underline; } }

.contact-form button {
  width: 100%; }

/*
 * Keyframes
 */
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    transform: none; } }
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    transform: none; } }
@keyframes link {
  0% {
    transform: translate(0, 0); }
  60% {
    transform: translate(-0.5rem, 0); }
  80% {
    transform: translate(0.5rem, 0); }
  90% {
    transform: translate(0.5rem, 0); }
  100% {
    transform: translate(0, 0); } }
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 2rem, 0); }
  100% {
    opacity: 1;
    transform: none; } }
/*
 * CSS Page Transitions
 * Don't forget to add vendor prefixes!
 */
.fadein {
  animation-name: fadeIn;
  animation-duration: 0.4s;
  transition-timing-function: ease-in;
  animation-fill-mode: both;
  animation-delay: .4s; }

.slide-in-up {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04); }

.anim-el li:nth-child(1) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.1s; }

.anim-el p:nth-child(1) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.1s; }

.anim-el li:nth-child(2) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.2s; }

.anim-el p:nth-child(2) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.2s; }

.anim-el li:nth-child(3) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.3s; }

.anim-el p:nth-child(3) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.3s; }

.anim-el li:nth-child(4) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.4s; }

.anim-el p:nth-child(4) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.4s; }

.anim-el li:nth-child(5) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.5s; }

.anim-el p:nth-child(5) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.5s; }

.anim-el li:nth-child(6) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.6s; }

.anim-el p:nth-child(6) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.6s; }

.anim-el li:nth-child(7) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.7s; }

.anim-el p:nth-child(7) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.7s; }

.anim-el li:nth-child(8) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.8s; }

.anim-el p:nth-child(8) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.8s; }

.anim-el li:nth-child(9) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.9s; }

.anim-el p:nth-child(9) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.9s; }

.tour-box-animation .col:nth-child(1) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.1s; }

.tour-box-animation .col:nth-child(2) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.2s; }

.tour-box-animation .col:nth-child(3) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.3s; }

.tour-box-animation .col:nth-child(4) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.4s; }

.tour-box-animation .col:nth-child(5) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.5s; }

.tour-box-animation .col:nth-child(6) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.6s; }

.tour-box-animation .col:nth-child(7) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.7s; }

.tour-box-animation .col:nth-child(8) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.8s; }

.tour-box-animation .col:nth-child(9) {
  animation: slideInUp 0.6s both cubic-bezier(0.88, 0.01, 0.44, 1.04);
  animation-delay: 0.9s; }

.no-pad {
  padding: 0 !important; }

.hidden {
  display: none !important; }

@media (max-width: 425px) {
  .hidden-mob {
    display: none !important; } }

@media (max-width: 1200px) {
  .hidden-desk {
    display: none !important; } }

.grecaptcha-badge {
  visibility: hidden !important; }

.fascia-w2e {
  background: #2c2d2d; }
  .fascia-w2e p {
    margin: .5rem 0;
    color: #949494;
    font-size: 0.85rem !important;
    text-align: center; }
  @media (min-width: 768px) {
    .fascia-w2e p {
      text-align: left; }
    .fascia-w2e .last {
      text-align: right; } }
  .fascia-w2e .cuore {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #949494;
    position: relative;
    transform: rotate(45deg);
    margin: 0 5px; }
    .fascia-w2e .cuore:before, .fascia-w2e .cuore:after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      background-color: #949494;
      border-radius: 8px;
      position: absolute; }
    .fascia-w2e .cuore:before {
      left: -4px;
      top: 0; }
    .fascia-w2e .cuore:after {
      left: 0;
      top: -4px; }

/*# sourceMappingURL=style.css.map */
