/* GENERAL ----------------------*/

body {

  margin: 0;
  padding: 0;
  background-color: #ece6db;
  color: #274060;
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
  overflow-x: hidden;
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;

}

body.loaded {
  opacity: 1;
}

body.show-cv {

  overflow-y: hidden;

}

img {

  width: 100%;
  height: auto;

}

a {

  color: rgba(39, 64, 96, 0.9);
  -webkit-transition: all .5s cubic-bezier(.19, 1, .22, 1);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);

}

a:hover {

  color: rgba(39, 64, 96, 0.6);
  -webkit-transition: all .5s cubic-bezier(.19, 1, .22, 1);
  transition: all .5s cubic-bezier(.19, 1, .22, 1);

}

header,
section,
footer {

  -webkit-transition: all 1.3s cubic-bezier(.19, 1, .22, 1) .5s;
  transition: all 1.3s cubic-bezier(.19, 1, .22, 1) .5s;

}

.menu-opened header,
.menu-opened section,
.menu-opened footer {

  -wemkit-transform: translateX(-20%);
  transform: translateX(-20%);

}

/* NAV -------------------------*/

nav {

  display: block;
  position: fixed;
  width: 70%;
  top: 0;
  bottom: 0;
  right: 0;
  left: auto;
  z-index: -1;
  visibility: hidden;
  background-color: rgba(39, 64, 96, 1);
  -webkit-transform: translateX(100%);
  transform: translateX(100%);

  -webkit-transition: all 1.3s cubic-bezier(.19, 1, .22, 1) .3s;
  transition: all 1.3s cubic-bezier(.19, 1, .22, 1) .3s;

}

.menu-opened nav {

  z-index: 9998;
  visibility: visible;
  -webkit-transform: translateX(0);
  transform: translateX(0);

}

@media (min-width: 550px) {

  nav {

    width: 50%;

  }

}

@media (min-width: 750px) {

  nav {

    top: 3.4rem;
    bottom: auto;
    right: 2.1rem;
    z-index: 9998;
    visibility: visible;
    background-color: transparent;
    -webkit-transform: translateX(0);
    transform: translateX(0);

  }

}

.menu {

  width: 80%;
  margin: 0 auto;
  list-style: none;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;

  -webkit-transition: all .3s ease-out 1.3s;
  transition: all .3s ease-out 1.3s;

}

.menu-opened .menu {

  opacity: 1;
  -webkit-transition: opacity .3s ease-out .3s;
  transition: opacity .3s ease-out .3s;

}

@media (min-width: 750px) {

  .menu {

    width: 100%;
    text-align: right;
    top: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0);

  }

  .loaded .menu {

    opacity: 1;

  }

}

.menu li {

  margin-bottom: 1.1rem;

}

@media (min-width: 750px) {

  .menu li {

    display: inline-block;
    margin-left: 1.1rem;
    margin-bottom: 0;

  }

}

.menu li a {

  font-size: 2.1rem;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.2rem;
  color: #F1E6DB;
  opacity: 0.6;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  .menu li a {

    font-size: 1.8rem;

  }

}

.menu li a:hover {

  opacity: 1;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

.menu li a::after {

  content: "";
  width: 0;
  height: 0.1rem;
  background-color: #F1E6DB;
  display: block;
  margin-top: 0.5rem;

  -webkit-transition: all 1s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1s cubic-bezier(.17, .67, .83, .67);
  transition: all 1s cubic-bezier(.17, .67, .83, .67);

}

.menu li a:hover::after {

  width: 100%;

}


/* HEADER ----------------------*/

header {

  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;

}

.home header {

  background-color: #274060;

}

.single-post header,
.tag header,
.page-id-17 header,
.page-id-107 header {

  height: auto;

}

.tag header,
.page-id-107 header,
.page-id-17 header {

  background-color: rgba(255, 255, 255, 0.3);

}

header .overlay {

  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all 8s linear;
  transition: all 8s linear;

}

.page-id-11 header .overlay {

  background-position: center right;

}

.home header .overlay {

  opacity: 0.9;

}

.loaded header .overlay {

  -webkit-transform: scale(1.1);
  transform: scale(1.1);

}

.top-bar {

  background-color: #274060;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  padding: 2.1rem;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);

  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -ms-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;

}

/* Larger than tablet */
@media (min-width: 750px) {

  .top-bar {

    padding: 3.4rem 2.1rem;

  }

}

.loaded .top-bar {

  -webkit-transform: translateY(0);
  transform: translateY(0);

}

.loaded.menu-opened .top-bar {

  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);

}

.logo {

  opacity: 0;
  display: inline-block;

  -webkit-transition: all 1s ease-in-out 0.3s;
  transition: all 1s ease-in-out 0.3s;

}

.logo a {

  font-weight: 400;
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.3rem;
  text-decoration: none;
  color: #ece6db;
  cursor: pointer;

  -webkit-transition: all 3s ease-in-out 0.3s;
  transition: all 3s ease-in-out 0.3s;

}

.logo a:active,
.logo a:visited {

  color: #ece6db;

}

.logo a:hover {

  letter-spacing: 0.5rem;

}

.loaded .logo {

  opacity: 1;

}

.menu-trigger {

  position: fixed;
  z-index: 9999;
  top: 3.4rem;
  right: 2.1rem;
  cursor: pointer;
}

@media (min-width: 750px) {

  .menu-trigger {

    display: none;

  }

}

.menu-trigger .circle {

  width: 0.5rem;
  height: 0.5rem;
  display: inline-block;
  background-color: #ece6db;
  border-radius: 50%;

  -webkit-transition: all 0.3s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.3s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.3s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.3s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.3s cubic-bezier(.17, .67, .83, .67);

}


.menu-opened .menu-trigger .circle:nth-child(1),
.menu-opened .menu-trigger .circle:nth-child(3) {

  width: 2.2rem;
  height: 0.2rem;
  display: inline-block;
  background-color: #ece6db;
  border-radius: 0;

}

.menu-trigger:hover .circle:nth-child(1) {

  -webkit-transform: translateX(-0.5rem);
  transform: translateX(-0.5rem);

}

.menu-opened .menu-trigger .circle:nth-child(1) {

  -webkit-transform: rotate(-45deg) translate(1.7rem, 1.7rem);
  transform: rotate(-45deg) translate(1.7rem, 1.7rem);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;

}

.menu-opened .menu-trigger:hover .circle:nth-child(1) {

  -webkit-transform: rotate(-45deg) translate(1.7rem, 1.7rem);
  transform: rotate(-45deg) translate(1.7rem, 1.7rem);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;

}

.menu-trigger .circle:nth-child(2) {

  margin-left: 0.2rem;
  margin-right: 0.2rem;

}

.menu-opened .menu-trigger .circle:nth-child(2) {

  opacity: 0;

}

.menu-trigger:hover .circle:nth-child(3) {

  -webkit-transform: translateX(0.5rem);
  transform: translateX(0.5rem);

}

.menu-opened .menu-trigger .circle:nth-child(3) {

  -webkit-transform: rotate(45deg) translate(-1.1rem, 1.1rem);
  transform: rotate(45deg) translate(-1.1rem, 1.1rem);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;

}

.menu-opened .menu-trigger:hover .circle:nth-child(3) {

  -webkit-transform: rotate(45deg) translate(-1.1rem, 1.1rem);
  transform: rotate(45deg) translate(-1.1rem, 1.1rem);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;

}

.title {

  position: relative;
  height: 100vh;

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;

  -webkit-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;

  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;

  -webkit-align-content: center;
  -ms-align-content: center;
  align-content: center;

}

.single-post .title,
.tag .title,
.page-id-107 .title {

  height: auto;
  display: block;
  margin-top: 25vh;

}

.title .txt {

  margin-top: 8.9rem;

}

.tag .title .txt,
.page-id-17 .txt,
.page-id-107 .txt {

  padding-bottom: 5.5rem;

}

.single-post .title .txt {

  margin-bottom: 0;

}

.title h1 {

  font-size: 3.4rem;
  letter-spacing: 0.3rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  /*color: #274060;*/
  color: #F9F2E7;
  text-shadow: 0px 0px 68px rgba(39, 64, 96, 0.8);
}

.home .title h1 {
  color: #274060;
  text-shadow: 0px 0px 68px rgba(246, 244, 212, 0.9);
}

@media (min-width: 750px) {

  .title h1 {

    font-size: 5.5rem;
    letter-spacing: 0.8rem;

  }

}

.title h2 {


  color: #F9F2E7;
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 0rem;
  letter-spacing: 0.8rem;
  margin-left: 0.2rem;
  text-shadow: 0px 0px 89px rgba(39, 64, 96, 0.4);

}

.title .date {

  text-align: left;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  margin-bottom: 0.3rem;
  margin-left: 0.2rem;
  opacity: 0.5;

}

.scrolldown-wrapper {

  position: absolute;
  bottom: 2.1rem;
  right: 2.1rem;

}

@media (min-width: 1000px) {

  .scrolldown-wrapper {

    bottom: 3.4rem;
    right: 4.2rem;

  }

}

.scrolldown {

  font-weight: 400;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.3rem;

}

.page-id-13 .scrolldown,
.page-id-11 .scrolldown,
.page-id-15 .scrolldown,
.page-id-20 .scrolldown {
  color: #ece6db;
}

/* CONTENTS ----------------------*/


.contents {

  margin-top: 14.4rem;

}

.text {

  font-size: 2.1rem;
  line-height: 4.2rem;
  letter-spacing: 0.05rem;

}

.studio .text,
.single-post .text,
.single-post .contents p,
.single-post .contents ul {
  font-size: 1.8rem;
  line-height: 4.2rem;
}

.single-post .contents ul li {
  margin-bottom: 0;
}

.page-id-107 .text {

  font-size: 1.6rem;
  line-height: 3.9rem;

}

.single-post .quote,
blockquote.wp-block-quote {
  margin-top: 5.5rem;
  margin-bottom: 5.5rem;
}

@media (min-width: 750px) {

  .single-post .quote,
  blockquote.wp-block-quote {
    margin-top: 8.9rem;
    margin-bottom: 8.9rem;
  }

}

.single-post .quote .text,
.single-post .contents blockquote.wp-block-quote p {
  font-size: 2.4rem;
  color: rgba(39, 64, 96, 0.8);
  letter-spacing: 0.2rem;
  font-style: italic;
}

@media (min-width: 750px) {
  .single-post .quote .text,
  .single-post .contents blockquote.wp-block-quote p {
    line-height: 5.5rem;
  }
}

.single-post .quote .signature,
blockquote.wp-block-quote cite {
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  margin-left: 0.2rem;
  opacity: 0.5;
  font-style: normal;
}

.utilities,
.tags {

  margin-top: 5.5rem;
  border-top: 0.1rem solid rgba(39, 64, 96, 0.2);
  padding-top: 5.5rem;
  transform: translateY(3.4rem);
  -webkit-transform: translateY(3.4rem);

  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;

}

@media (min-width: 750px) {

  .utilities,
  .tags {

    margin-top: 8.9rem;

  }

}

.utilities.visible,
.tags.visible {

  transform: translateY(0);
  -webkit-transform: translateY(0);

}

.utilities {
  margin-bottom: 13vh;
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}

.page-id-15 .tags,
.tag .tags {

  margin-top: 21vh;
  margin-bottom: 13vh;

}

.tags .tag-label,
.utilities .tip {

  color: rgba(39, 64, 96, 0.5);
  margin-bottom: 0.5rem;

}

ul.tag-list {

  list-style: none;
  font-size: 1.8rem;
  line-height: 2.9rem;

}

ul.tag-list li {

  display: inline-block;
  margin-right: 0.5rem;
  margin-left: 0;

}

ul.tag-list li a::before {

  content: "#";
  display: inline;

}

.utilities .next-article {

  font-size: 2.1rem;
  letter-spacing: 0.2rem;

}

.utilities .go-back {

  display: block;
  margin-top: 5.5rem;
  opacity: 0.5;

}

.internal-image,
figure.wp-block-image {
  margin-top: 5.5rem;
  margin-bottom: 5.5rem;
}

.article-item {

  position: relative;
  margin-bottom: 8.9rem;

  -webkit-transform: translateY(3.4rem);
  transform: translateY(3.4rem);

  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;

}

.article-item.visible {

  -webkit-transform: translateY(0);
  transform: translateY(0);

}

/*.article-excerpt::before {
    
    content: "";
    width: 8.9%;
    height: 0.2rem;
    background-color: rgba(20, 51, 97, 0.2);
    position: absolute;
    left: 0;
    top: 2.3rem;
    
}*/

.article-excerpt::after {

  content: "";
  width: 0;
  height: 0.2rem;
  background-color: #274060;
  position: absolute;
  left: 0;
  top: -1.3rem;

  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;

}


@media (min-width: 750px) {

  .article-excerpt::after {

    left: 0;
    top: 2.3rem;

  }

}


.article-excerpt:hover::after {

  width: 8.9rem;

  -webkit-transition: all .8s ease-in-out;
  -moz-transition: all .8s ease-in-out;
  -ms-transition: all .8s ease-in-out;
  -o-transition: all .8s ease-in-out;
  transition: all .8s ease-in-out;

}

.article-excerpt h3 {

  line-height: 1;
  font-size: 3.4rem;
  letter-spacing: 0.2rem;

}

@media (min-width: 750px) {

  .article-excerpt h3 {

    font-size: 4.2rem;
    letter-spacing: 0.3rem;

  }

}

.article-excerpt a {

  text-decoration: none;

}

.article-excerpt .date {
  text-align: left;
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  margin-left: 0.2rem;
  opacity: 0.5;
}

.open-cv {

  cursor: pointer;
  position: relative;
  padding-left: 5.5rem;
  margin-top: 8.9rem;

}

.open-cv::before {

  content: "";
  width: 3.4rem;
  height: 0.2rem;
  position: absolute;
  top: 1.2rem;
  left: 0;
  background-color: rgba(39, 64, 96, 0.3);

}

.open-cv p.tip {
  text-align: left;
  font-size: 1.3rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  margin-left: 0.2rem;
  opacity: 0.5;
}

.open-cv h5 {

  margin-bottom: 0.5rem;
  color: #274060;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.2rem;

  -webkit-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  transition: all .8s cubic-bezier(.17, .67, .83, .67);

}

.open-cv:hover h5 {

  letter-spacing: 0.5rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

.open-cv h5::after {

  content: "";
  width: 0;
  height: 0.1rem;
  background-color: rgba(39, 64, 96, 1);
  display: block;
  margin-top: 0.5rem;
  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

.open-cv:hover h5::after {

  width: 100%;

}

.cv {

  position: fixed;
  background-color: rgba(236, 230, 219, 1);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  overflow-y: scroll;

  -webkit-transition: all .5s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all .5s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all .5s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all .5s cubic-bezier(.17, .67, .83, .67);
  transition: all .5s cubic-bezier(.17, .67, .83, .67);

}

.show-cv .cv {

  opacity: 1;
  visibility: visible;
  z-index: 9999;

}

.cv .close {

  position: fixed;
  top: 2.9rem;
  right: 2.9rem;
  width: 3.4rem;
  height: 3.4rem;
  opacity: 0.7;
  cursor: pointer;
  z-index: 9999;

  -webkit-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all .8s cubic-bezier(.17, .67, .83, .67);
  transition: all .8s cubic-bezier(.17, .67, .83, .67);

}

.cv .close:hover {

  opacity: 1;

}

.cv .close:active {

  -webkit-transform: scale(0.8);
  transform: scale(0.8);

}

.cv .heading {

  padding-top: 13vh;

}

.cv h2 {

  font-size: 3.4rem;
  letter-spacing: 0.5rem;
  font-weight: 700;
  margin-bottom: 0rem;
  color: #274060;

}

@media (min-width: 750px) {

  .cv h2 {

    font-size: 5.5rem;

  }

}

.cv .date {
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  margin-bottom: 0.3rem;
  margin-left: 0.4rem;
  opacity: 0.5;
}

.cv .block {

  margin-top: 5.5rem;

}

.cv .block:last-child {

  margin-bottom: 13vh;

}

.cv .block.anagrafica {

  margin-top: 14.4rem;

}

.cv h5 {

  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.3rem;

}


.cv ul {

  font-size: 1.8rem;
  line-height: 4.2rem;
  list-style-position: outside;
  list-style-type: disc;
}

.cv ul ul {

  list-style-type: circle;

}

.cv ul li {

  margin-bottom: 2.1rem;

}

.cv .anagrafica ul {

  list-style: none;
  line-height: 3.4rem;

}

.cv .anagrafica ul li {

  margin-bottom: 0;
  border-top: 0.1rem solid rgba(39, 64, 96, 0.2);
  padding-top: 0.8rem;
  margin-bottom: 1.3rem;
  color: rgba(39, 64, 96, 0.7);

}

.cv .anagrafica ul li:first-child {

  border-top: 0;

}

.sintomi:first-child {

  margin-top: 5.5rem;

}

.sintomi:last-child {

  margin-bottom: 5.5rem;

}

.sintomi {

  display: block;
  font-size: 1.6rem;
  border-top: 0.1rem solid rgba(39, 64, 96, 0.2);
  padding-top: 1.8rem;
  margin-bottom: 3.4rem;
  color: rgba(39, 64, 96, 0.7);

  -webkit-transform: translateY(2.9rem);
  transform: translateY(2.9rem);

  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  -ms-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;

}

.sintomi.visible {

  -webkit-transform: translateY(0);
  transform: translateY(0);

}

/* CONTATTI --------------------------*/

#map {

  height: 500px;
  width: 100%;

}

.contents .contatti {

  position: relative;
  padding-bottom: 30vh;
  padding-top: 8.9rem;

}

.contents .contatti p {

  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  margin-bottom: 0;
  margin-left: 0.2rem;
  text-decoration: none;

}

.contents .contatti a {

  color: #274060;
  margin-left: 0.2rem;
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
  margin-bottom: 1.3rem;
  display: inline-block;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  .contents .contatti a {

    font-size: 1.8rem;

  }

}

.contents .contatti .tip {

  opacity: 0.5;
  margin-left: 0.2rem;
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  margin-top: -1.3rem;
  margin-bottom: 1.5rem;
  display: block;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

.contents .contatti a:hover {

  letter-spacing: 0.3rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  .contents .contatti a:hover {

    letter-spacing: 0.5rem;

  }

}

.contents .contatti a::after {

  content: "";
  width: 0;
  height: 0.1rem;
  background-color: #274060;
  display: block;
  margin-top: 0.5rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

.contents .contatti a:hover::after {

  width: 100%;

}

.contents .contatti .zona {

  margin-top: 0.5rem;

}

.page-id-17 footer .contatti {

  display: none;

}

.page-id-17 footer {

  padding-top: 13vh;
  padding-bottom: 0;

}

/* INTERNAL NAV ----------------------*/


.internal-nav {

  display: block;
  padding-top: 13vh;
  padding-bottom: 13vh;
  margin-top: 21vh;
  background-color: rgba(255, 255, 255, 0.3);

}

.internal-nav .row {

  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;

  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;

  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;

  -webkit-align-content: center;
  -ms-align-content: center;
  align-content: center;

}

.internal-nav .columns {

  position: relative;

}

.internal-nav p.tip {

  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  margin-left: 0.2rem;
  opacity: 0.5;

}

@media (min-width: 400px) {

  .internal-nav p.tip {

    font-size: 1.1rem;

  }

}

@media (min-width: 750px) {

  .internal-nav p.tip {

    font-size: 1.3rem;

  }

}

.internal-nav a {

  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.5rem;
  line-height: 4.2rem;
  letter-spacing: 0.2rem;
  display: inline-block;
  position: relative;
  z-index: 99;
  margin-bottom: 1.3rem;
  color: #274060;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 550px) {

  .internal-nav a {

    font-size: 2.9rem;

  }

}

@media (min-width: 750px) {

  .internal-nav a {

    font-size: 3.9rem;

  }

}

.internal-nav a:hover {

  color: #274060;
  letter-spacing: 0.3rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  .internal-nav a:hover {

    letter-spacing: 0.5rem;

  }

}

.internal-nav a::after {

  content: "";
  width: 0;
  height: 0.1rem;
  background-color: #274060;
  display: block;
  margin-top: 0.5rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}


.internal-nav a:hover::after {

  width: 100%;

}

.internal-nav img {

  -webkit-box-shadow: 0px 0px 112px -42px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: 0px 0px 112px -42px rgba(0, 0, 0, 0.6);
  box-shadow: 0px 0px 112px -42px rgba(0, 0, 0, 0.6);

}

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

footer {

  position: relative;
  background-color: rgba(39, 64, 96, 0.9);
  color: #ece6db;
  padding-bottom: 30vh;
  padding-top: 8.9rem;

}

footer h3 {

  color: rgba(249, 242, 231, 0.5);
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
  margin-bottom: 5.5rem;
  margin-top: 5.5rem;

}

@media (min-width: 750px) {

  footer h3 {

    font-size: 4.9rem;

  }

}

footer p {

  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  margin-bottom: 0;
  margin-left: 0.2rem;
  text-decoration: none;

}

footer a {

  /*    color: #274060;*/
  color: #ece6db;
  margin-left: 0.2rem;
  font-size: 1.5rem;
  letter-spacing: 0.2rem;
  margin-bottom: 1.3rem;
  display: inline-block;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  .contents .contatti a {

    font-size: 1.8rem;

  }

}

footer .tip {

  color: #ece6db;
  opacity: 0.5;
  margin-left: 0.2rem;
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  margin-top: -1.3rem;
  margin-bottom: 1.5rem;
  display: block;
  text-decoration: none;

  -webkit-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 0.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 0.8s cubic-bezier(.17, .67, .83, .67);

}

footer a:hover {

  color: #ece6db;
  letter-spacing: 0.3rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

@media (min-width: 750px) {

  footer a:hover {

    letter-spacing: 0.5rem;

  }

}

footer a::after {

  content: "";
  width: 0;
  height: 0.1rem;
  /*    background-color: #274060;*/
  background-color: #ece6db;
  display: block;
  margin-top: 0.5rem;

  -webkit-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -moz-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -ms-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  -o-transition: all 1.8s cubic-bezier(.17, .67, .83, .67);
  transition: all 1.8s cubic-bezier(.17, .67, .83, .67);

}

footer a:hover::after {

  width: 100%;

}

footer .copy {

  position: absolute;
  left: 2.1rem;
  bottom: 2.1rem;
  z-index: 999;
  color: #ece6db;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;

}

@media (min-width: 750px) {

  footer .copy {

    font-size: 1.3rem;
    letter-spacing: 0.2rem;

  }

}

footer .copy a {
  margin-bottom: 0;
}

.page-id-17 footer .copy {

  position: relative;
  left: 0;
  margin-left: 2.1rem;

}

footer .copy a {

  font-size: 1.1rem;

}

@media (min-width: 750px) {

  footer .copy a {

    font-size: 1.3rem;

  }

}

/*
 *
 *
 * COOKIES POPUP
 *
 *
 */

#cookie-law {

  opacity: 0;

}

.loaded #cookie-law {

  opacity: 1;
  -webkit-transition: all 0.8s cubic-bezier(.89, .04, .49, .95) 1.8s;
  transition: all 0.8s cubic-bezier(.89, .04, .49, .95) 1.8s;

}

#cookie-law {

  background-color: #274060;
  color: #fff;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999;

}

#cookie-law p {

  font-size: 1.1rem;
  line-height: 1.8rem;
  margin-bottom: 0;
  padding: 2.1rem 2.1rem 2.1rem;
  text-align: center;

}

@media (min-width: 750px) {

  #cookie-law p {

    font-size: 1.3rem;
    line-height: 1.8rem;

  }

}

#cookie-law a:link,
#cookie-law a:visited,
#cookie-law a:hover,
#cookie-law a:active {

  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  -webkit-transition: all 300ms ease-in;
  -moz-transition: all 300ms ease-in;
  -ms-transition: all 300ms ease-in;
  -o-transition: all 300ms ease-in;
  transition: all 300ms ease-in;
  font-size: 1.3rem;

}

#cookie-law a:hover,
#cookie-law a:active {

  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  -webkit-transition: all 300ms ease-in;
  -moz-transition: all 300ms ease-in;
  -ms-transition: all 300ms ease-in;
  -o-transition: all 300ms ease-in;
  transition: all 300ms ease-in;

}

#cookie-law a.close-cookie-banner {

  display: inline-block;

}

#cookie-law a.close-cookie-banner:link,
#cookie-law a.close-cookie-banner:visited {

  color: #fff;
  font-weight: 300;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 0.3rem;
  padding-left: 0.3rem;
  padding-right: 0.3rem;
  padding-top: 0.3rem;
  margin-top: 1rem;
  text-transform: uppercase;
  -webkit-transition: all 300ms ease-in;
  -moz-transition: all 300ms ease-in;
  -ms-transition: all 300ms ease-in;
  -o-transition: all 300ms ease-in;
  transition: all 300ms ease-in;

}

#cookie-law a.close-cookie-banner:hover,
#cookie-law a.close-cookie-banner:active {

  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  -webkit-transition: all 300ms ease-in;
  -moz-transition: all 300ms ease-in;
  -ms-transition: all 300ms ease-in;
  -o-transition: all 300ms ease-in;
  transition: all 300ms ease-in;

}

/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {}

/* Larger than desktop */
@media (min-width: 1000px) {}

/* Larger than Desktop HD */
@media (min-width: 1200px) {}



/* NOTE ----------------------------------------

giallo { color: #ece6db; }
blu { color: #274060; }

*/