/*
Theme Name: Plastic
Author: METID - Politecnico di Milano
Description: Theme for the 4zeroPlast website
Version: 0.0.1
*/
html, body, ul {
  margin: 0;
  padding: 0; }

div {
  box-sizing: border-box; }

figure {
  margin: 0; }

body {
  font-family: 'Open Sans', sans-serif;
  color: #c5c5c5;
  font-size: 18px; }
  @media (max-width: 767px) {
    body {
      font-size: 16px; } }

::-moz-selection {
  background-color: #1690a2;
  color: #efefef; }

::selection {
  background-color: #1690a2;
  color: #efefef; }

h1, h2, h3, h4, h5, h6 {
  color: #efefef; }

h2 {
  font-size: 1.7em; }

h2, h3 {
  margin: .2em 0; }

h1.page-title {
  font-size: 2em;
  line-height: 1;
  margin: 0 0 .5em; }
  @media (min-width: 768px) {
    h1.page-title {
      font-size: 4em; } }

h1.post-title {
  font-size: 2em;
  line-height: 1.2;
  margin: .2em 0 0; }

.section-title {
  font-weight: normal;
  text-transform: uppercase;
  margin-bottom: 20px; }

p, p + ul, p + ol {
  margin: .8em 0;
  line-height: 1.8; }

a {
  color: #1CB8CF;
  text-decoration: none;
  transition: color .25s ease-in-out; }
  a:hover {
    color: #50d4e7; }

.post-type a, .post-title a {
  color: #efefef; }

.has-small-font-size {
  font-size: .75em; }

.btn, input[type=button], input[type=submit], .everest-forms .everest-forms-part-button, .everest-forms button, .everest-forms button[type=submit], .everest-forms input[type=submit], .wp-block-button a, .wp-block-file .wp-block-file__button {
  background-color: #1CB8CF;
  padding: 7px 18px;
  border-radius: 20px;
  color: #efefef;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: .9em;
  transition: background-color .25s ease-in-out; }
  .btn:hover, .btn:focus, input[type=button]:hover, input[type=button]:focus, input[type=submit]:hover, input[type=submit]:focus, .everest-forms .everest-forms-part-button:hover, .everest-forms .everest-forms-part-button:focus, .everest-forms button:hover, .everest-forms button:focus, .everest-forms button[type=submit]:hover, .everest-forms button[type=submit]:focus, .everest-forms input[type=submit]:hover, .everest-forms input[type=submit]:focus, .wp-block-button a:hover, .wp-block-button a:focus, .wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:focus {
    background-color: #1690a2;
    color: #efefef; }

.button-link {
  border: none;
  outline: none;
  background-color: transparent;
  color: #1CB8CF;
  cursor: pointer;
  font-size: 1em; }
  .button-link:hover, .button-link:focus {
    color: #50d4e7; }

label, .label {
  font-size: 13px;
  margin-bottom: 10px;
  display: block;
  text-transform: uppercase;
  line-height: 1; }

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]), textarea, select {
  box-sizing: border-box;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: #343635;
  color: #efefef;
  width: 100%; }
  input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):focus, textarea:focus, select:focus {
    border: 1px solid #A4A7A5;
    background-color: #444;
    outline: none; }

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 1px solid #1CB8CF;
  -webkit-text-fill-color: #c5c5c5;
  -webkit-box-shadow: 0 0 0px 1000px #000 inset;
  transition: background-color 5000s ease-in-out 0s; }

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/* Firefox */
input[type=number] {
  -moz-appearance: textfield; }

input[type="checkbox"] {
  opacity: 0; }

input[type="checkbox"] + label, input[type="checkbox"] + span {
  position: relative; }
  input[type="checkbox"] + label::before, input[type="checkbox"] + label::after, input[type="checkbox"] + span::before, input[type="checkbox"] + span::after {
    position: absolute;
    display: inline-block; }
  input[type="checkbox"] + label::before, input[type="checkbox"] + span::before {
    content: "";
    height: 16px;
    width: 16px;
    border: 2px solid #A4A7A5;
    top: -4px;
    left: -20px; }
  input[type="checkbox"] + label::after, input[type="checkbox"] + span::after {
    content: none;
    height: 4px;
    width: 8px;
    border-left: 3px solid #212121;
    border-bottom: 3px solid #212121;
    transform: rotate(-45deg);
    left: -15px;
    top: 1px; }

input[type="checkbox"]:checked + label::before, input[type="checkbox"]:checked + span::before {
  background-color: #1CB8CF;
  border-color: #1CB8CF; }
input[type="checkbox"]:checked + label::after, input[type="checkbox"]:checked + span::after {
  content: ""; }

input[type="checkbox"]:focus + label::before, input[type="checkbox"]:hover + label::before, input[type="checkbox"]:focus + span::before, input[type="checkbox"]:hover + span::before {
  border-color: #efefef;
  background-color: #343635; }

input[type="checkbox"]:checked:focus + label::before, input[type="checkbox"]:checked:hover + label::before, input[type="checkbox"]:checked:focus + span::before, input[type="checkbox"]:checked:hover + span::before {
  border-color: #50d4e7;
  background-color: #50d4e7; }

.everest-forms .StripeElement, .everest-forms canvas.evf-signature-canvas, .everest-forms input[type=date], .everest-forms input[type=datetime-local], .everest-forms input[type=email], .everest-forms input[type=file], .everest-forms input[type=image], .everest-forms input[type=month], .everest-forms input[type=number], .everest-forms input[type=password], .everest-forms input[type=range], .everest-forms input[type=search], .everest-forms input[type=tel], .everest-forms input[type=text], .everest-forms input[type=time], .everest-forms input[type=url], .everest-forms input[type=week], .everest-forms select, .everest-forms textarea {
  box-sizing: border-box;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: #343635;
  color: #efefef;
  width: 100%; }
  .everest-forms .StripeElement:focus, .everest-forms canvas.evf-signature-canvas:focus, .everest-forms input[type=date]:focus, .everest-forms input[type=datetime-local]:focus, .everest-forms input[type=email]:focus, .everest-forms input[type=file]:focus, .everest-forms input[type=image]:focus, .everest-forms input[type=month]:focus, .everest-forms input[type=number]:focus, .everest-forms input[type=password]:focus, .everest-forms input[type=range]:focus, .everest-forms input[type=search]:focus, .everest-forms input[type=tel]:focus, .everest-forms input[type=text]:focus, .everest-forms input[type=time]:focus, .everest-forms input[type=url]:focus, .everest-forms input[type=week]:focus, .everest-forms select:focus, .everest-forms textarea:focus {
    border: 1px solid #A4A7A5;
    background-color: #444;
    outline: none; }

.everest-forms label {
  color: #A4A7A5;
  font-size: 13px;
  margin-bottom: 10px;
  display: block;
  text-transform: uppercase;
  line-height: 1; }

.everest-forms label.evf-field-label {
  font-weight: normal; }

.everest-forms .evf-field-container .evf-frontend-row .evf-frontend-grid {
  padding-left: calc(20px/2);
  padding-right: calc(20px/2); }

.everest-forms .evf-field-container .evf-frontend-row {
  margin-left: calc(-20px/2);
  margin-right: calc(-20px/2); }

.card {
  background-color: #343635;
  margin-bottom: 20px;
  border-radius: 5px;
  overflow: hidden;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  .card .details {
    padding: 20px;
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .card .details .post-type, .card .details .post-category {
      margin: 0; }
    .card .details .post-category {
      -webkit-flex-grow: 1;
      -moz-flex-grow: 1;
      -ms-flex-grow: 1;
      flex-grow: 1;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
      justify-content: flex-end;
      -ms-flex-pack: flex-end; }
    .card .details p {
      line-height: 1.6; }
      .card .details p:not[class^="has"] {
        font-size: 15px; }
  .card img {
    width: 100%; }
  .card.event {
    background-color: #111; }
  .card.inverted {
    background-color: white;
    color: #444;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); }
    .card.inverted h3 {
      color: #444;
      text-transform: uppercase; }

.tags a {
  background-color: #444;
  color: #efefef;
  border-radius: 13px;
  padding: 3px 10px;
  font-size: 0.75em;
  display: inline-block;
  transition: background-color .25s ease-in-out; }
  .tags a:hover {
    background-color: #1690a2; }

.category.has-small-font-size, .tags a {
  margin-top: 0;
  margin-bottom: 10px; }

.pagination {
  text-align: right; }

.nav-next, .nav-previous {
  text-align: center;
  margin-top: 20px; }
  .nav-next a, .nav-previous a {
    background-color: #1CB8CF;
    padding: 7px 18px;
    border-radius: 20px;
    color: #efefef;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: .9em;
    transition: background-color .25s ease-in-out;
    display: inline-block; }
    .nav-next a:hover, .nav-next a:focus, .nav-previous a:hover, .nav-previous a:focus {
      background-color: #1690a2;
      color: #efefef; }

.em-pagination {
  grid-column: 1 / -1; }

.heateor_sss_horizontal_sharing {
  margin-left: -18px; }
  .heateor_sss_horizontal_sharing .heateorSssSharing .heateorSssSharingSvg {
    transition: color .25s ease-in-out; }

.wp-block-pb-accordion-item p {
  margin: 0; }

.c-accordion__title {
  transition: color .25s ease-in-out; }

.c-accordion__title:hover, .c-accordion__title:focus {
  color: #1CB8CF;
  outline: none; }

html {
  overflow-y: scroll;
  overflow-x: hidden; }

body {
  background-color: #212121;
  /* sticky footer rules */
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }

.content-grow {
  -webkit-flex-grow: 1;
  -moz-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1; }

.container {
  max-width: 1300px;
  margin: 0 auto; }
  @media (max-width: 1340px) {
    .container {
      margin-left: 20px;
      margin-right: 20px; } }

.container-narrow {
  max-width: 920px;
  margin: 0 auto; }

.container-narrower {
  max-width: 720px;
  margin: 0 auto; }

.main-content {
  margin: calc(20px*2) 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

img {
  max-width: 100%;
  height: auto; }

section {
  padding-top: 50px;
  padding-bottom: 30px; }

.section-header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: baseline;
  -moz-align-items: baseline;
  -ms-align-items: baseline;
  align-items: baseline;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-transform: uppercase; }
  .section-header h2 {
    margin-right: 20px; }
  @media (max-width: 470px) {
    .section-header a {
      margin-bottom: 20px; }
    .section-header h2 {
      margin-bottom: 0; } }

.card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 20px; }
  @media (max-width: 1300px) {
    .card-grid {
      grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 920px) {
    .card-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) {
    .card-grid {
      grid-template-columns: 1fr; } }

@media (min-width: 921px) and (max-width: 1300px), (max-width: 600px) {
  .related .postcard:nth-child(4) {
    display: none; } }
.top-section {
  padding-top: 0; }

.featuring {
  order: 1;
  padding-top: 0; }
  .featuring .postcard.first-thumbnail {
    grid-column: 1 / 3;
    grid-row: 1; }
    @media (max-width: 920px), (min-width: 1301px) {
      .featuring .postcard.first-thumbnail {
        grid-row: 1 / 3; } }
    @media (max-width: 600px) {
      .featuring .postcard.first-thumbnail {
        grid-column: 1; } }

.card-grid.largefirst .postcard:first-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 20px; }
  @media (max-width: 920px) {
    .card-grid.largefirst .postcard:first-child {
      grid-template-columns: 1fr; } }
  @media (min-width: 921px) {
    .card-grid.largefirst .postcard:first-child .details {
      padding-left: 0; } }

.next-events {
  order: 2;
  background-color: #111; }

.main-content > .next-events:last-child, .main-content > .cta-box:last-child {
  margin-bottom: calc(-1 * calc(20px*2)); }

.next-events, .related {
  border-top: 1px solid #A4A7A5; }

.latest {
  order: 3;
  border-top: 1px solid #A4A7A5; }

.cta-box {
  background-color: #efefef;
  order: 5; }

.main-content > .pagination {
  order: 4; }

p.post-type {
  margin: 0;
  text-transform: uppercase; }

.search-title {
  margin-bottom: 20px; }

.no-results {
  margin-bottom: calc(20px*2); }

@media (min-width: 921px) {
  .top-info {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
    .top-info .thumbnail-container {
      -webkit-flex-basis: 66%;
      -moz-flex-basis: 66%;
      -ms-flex-basis: 66%;
      flex-basis: 66%; }
    .top-info .post-info {
      -webkit-flex-basis: 33%;
      -moz-flex-basis: 33%;
      -ms-flex-basis: 33%;
      flex-basis: 33%;
      padding-left: 20px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .top-info .post-date {
      flex: 1; } }
@media (max-width: 920px) {
  .post-info {
    padding-top: 20px; } }
.thumbnail {
  display: block;
  height: 0;
  padding-bottom: 56.25%;
  background-size: cover;
  background-repeat: no-repeat; }

.single-post .container-narrower {
  padding: 20px 0; }
  .single-post .container-narrower + .container-narrower {
    padding-top: 0; }

.event .top-info {
  background-color: #343635;
  border-radius: 6px; }

.event-info {
  -webkit-flex-basis: 33.3333%;
  -moz-flex-basis: 33.3333%;
  -ms-flex-basis: 33.3333%;
  flex-basis: 33.3333%;
  border-right: 3px solid #1CB8CF;
  padding: 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media (max-width: 920px) {
    .event-info {
      border-right: 0;
      border-bottom: 3px solid #1CB8CF; } }
  .event-info .has-small-font-size {
    margin-bottom: 0; }

.speaker {
  -webkit-flex-grow: 1;
  -moz-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1; }

.infoline {
  font-size: 1.1em; }

.event .post-info {
  -webkit-flex-basis: 66.6666%;
  -moz-flex-basis: 66.6666%;
  -ms-flex-basis: 66.6666%;
  flex-basis: 66.6666%;
  padding: 20px;
  position: relative; }

.single-post.event .day {
  font-size: 84px;
  line-height: .8; }
.single-post.event .month {
  font-size: 35px; }

.event-categories {
  list-style-type: none;
  text-transform: uppercase; }
  .event-categories a {
    pointer-events: none;
    color: #c5c5c5; }

.card .event-cat-container {
  padding: 20px 20px 0; }

.calendar .event {
  padding: 20px 0;
  border: 0 solid #A4A7A5;
  border-bottom-width: 1px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
  .calendar .event:first-child {
    border-top-width: 1px; }
  .calendar .event .details h3, .calendar .event .details p {
    margin: 0; }

.date .day {
  font-family: 'Montserrat', sans-serif;
  font-size: 48px;
  font-weight: 800;
  color: #efefef; }
.date .month {
  font-size: 20px;
  text-transform: uppercase; }

.calendar .date {
  margin-right: 20px;
  min-width: 75px; }

.card .date {
  padding: 10px 20px 20px;
  border-bottom: 3px solid #1CB8CF; }

.pum-container {
  max-width: calc(100vw - (20px*2) - 30px) !important;
  margin: 0 !important; }
  @media (max-width: 580px) {
    .pum-container {
      padding: 20px !important;
      max-width: calc(100vw - (20px*2)) !important; } }

.pum-title, .pum-content {
  max-width: 767px !important;
  margin: 0 auto !important; }

.pum-title {
  margin-bottom: 20px !important;
  padding-right: 32px; }

.pum-content h3.post-title {
  margin: 0; }
.pum-content .post-title a {
  padding: 20px;
  display: block; }
.pum-content p {
  line-height: 1.4; }
.pum-content .button-wrapper {
  text-align: center; }
.pum-content .button-link {
  text-transform: uppercase; }
.pum-content .card-grid {
  grid-template-columns: repeat(2, 1fr); }
  @media (max-width: 580px) {
    .pum-content .card-grid {
      grid-template-columns: 1fr; }
      .pum-content .card-grid .card {
        margin-bottom: 10px; }
      .pum-content .card-grid .post-title a {
        padding: 15px 20px;
        border: 2px solid #343635; }
        .pum-content .card-grid .post-title a:hover, .pum-content .card-grid .post-title a:focus {
          border-color: #1CB8CF; }
      .pum-content .card-grid a.thumbnail {
        display: none; } }

#pum-500, #pum-841 {
  position: fixed;
  margin-right: -20px; }

@media (max-width: 767px) {
  #popmake-500, #popmake-841 {
    top: 20px !important; } }

#popmake-821, #popmake-823 {
  position: fixed; }

html.pum-open.pum-open-overlay, html.pum-open.pum-open-overlay.pum-open-fixed .pum-overlay {
  overflow-y: scroll !important;
  overflow-x: hidden !important; }

html.pum-open.pum-open-overlay.pum-open-scrollable body > [aria-hidden] {
  padding-right: 0 !important; }

.card-grid.contacts {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 30px; }
  @media (max-width: 600px) {
    .card-grid.contacts {
      grid-template-columns: 1fr; } }
  .card-grid.contacts .card {
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    border: 2px solid #343635; }
    .card-grid.contacts .card:hover, .card-grid.contacts .card:focus {
      border-color: #1CB8CF; }
  .card-grid.contacts .label {
    margin-top: 0; }
  .card-grid.contacts [class^="fa"] {
    font-size: 2em;
    margin-left: 20px;
    transition: transform .4s ease-in-out; }
  .card-grid.contacts a {
    color: #efefef; }

.project-logo {
  line-height: 0; }
  .project-logo img {
    width: calc(100vw - 110px);
    max-width: 350px;
    min-width: 240px; }

.top_bar {
  background-color: white;
  padding-top: 20px; }
  .top_bar .container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
  .top_bar .menus {
    -webkit-flex-grow: 1;
    -moz-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between; }
  .top_bar .top-menus {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap-reverse;
    -moz-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    padding-left: 20px; }
  .top_bar .service-menu ul, .top_bar .header-menu ul {
    list-style-type: none;
    text-align: right; }
    .top_bar .service-menu ul li, .top_bar .header-menu ul li {
      display: inline; }
      .top_bar .service-menu ul li a, .top_bar .header-menu ul li a {
        display: inline-block;
        text-align: center;
        padding: 8px 10px;
        text-transform: uppercase; }
  .top_bar .header-menu {
    background-color: #1CB8CF;
    height: 40px;
    margin-left: -1px;
    font-family: 'Montserrat', sans-serif; }
    .top_bar .header-menu a {
      color: white;
      border: 1px solid transparent; }
    @media (max-width: 470px) {
      .top_bar .header-menu {
        display: none; } }
  .top_bar .service-menu a {
    color: #444;
    font-size: .85em;
    font-weight: bold; }
    .top_bar .service-menu a:hover {
      color: #1CB8CF; }
  .top_bar .wpml-ls-current-language a, .top_bar .current-menu-item a {
    color: #1CB8CF; }
  .top_bar .header-menu .current-menu-item a {
    color: #efefef;
    background-color: #212121;
    border-radius: 6px 6px 0 0; }
  @media (max-width: 920px) {
    .top_bar .header-menu .menu, .top_bar .service-menu {
      display: none; } }

/* ------------------------------------------------------------------------------------------------------------------------------
wpml language switcher
-------------------------------------------------------------------------------------------------------------------------------*/
.wpml-ls-first-item::after {
  content: " |"; }
.wpml-ls-first-item a {
  padding-right: 0 !important; }

.wpml-ls-last-item a {
  padding-left: 0 !important; }

.wpml-ls-legacy-list-horizontal a {
  display: inherit; }

.general_filters .wpml-ls-first-item::after {
  content: " | "; }

/* Screen reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.side-panel .menu-toggle {
  background-color: #1CB8CF;
  color: #efefef;
  padding: 6px 18px;
  margin-left: 20px;
  border-radius: 25px;
  border-bottom-right-radius: 0;
  font-size: .9em;
  display: block;
  white-space: nowrap;
  transition: background-color .25s ease-in-out; }
  @media (max-width: 600px) {
    .side-panel .menu-toggle {
      position: fixed;
      top: 20px;
      right: 20px;
      z-index: 1; } }
  @media (max-width: 470px) {
    .side-panel .menu-toggle {
      right: 2px; } }
  .side-panel .menu-toggle:hover {
    background-color: #1690a2; }
  .side-panel .menu-toggle .fa-bars {
    display: none; }
  @media (max-width: 920px) {
    .side-panel .menu-toggle .toggle-label, .side-panel .menu-toggle .fa-sliders-h {
      display: none; }
    .side-panel .menu-toggle .fa-bars {
      display: inline-block; } }

.side-menu {
  position: absolute;
  display: none;
  opacity: 0;
  right: -300px;
  top: 30px;
  max-height: 100%;
  width: 300px;
  box-sizing: border-box;
  transition: all 0.3s ease;
  z-index: 999;
  padding: 0 0 40px;
  overflow-y: auto; }
  @media (max-width: 600px) {
    .side-menu {
      top: 20px; } }

.side-block {
  padding: 40px 0;
  background-color: #212121;
  padding: 20px;
  border-radius: 20px; }

.side-menu .menu-close {
  position: absolute;
  right: 20px;
  top: 20px; }

.backdrop {
  position: absolute;
  display: none;
  opacity: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
  z-index: 998;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  cursor: default; }

/*
toggled style
*/
.side-menu.present {
  display: block;
  outline: none; }
  .side-menu.present.visible {
    right: 10px;
    opacity: 1; }
    @media (max-width: 470px) {
      .side-menu.present.visible {
        right: 2px; } }

.side-menu.present .menu-close {
  z-index: 1001; }

.side-menu.present ul {
  position: relative;
  z-index: 1000; }

.side-menu.present + .backdrop {
  display: block; }

.side-menu.visible + .backdrop {
  opacity: 1; }

@supports (position: fixed) {
  .side-menu,
  .side-menu.present + .backdrop {
    position: fixed; } }
.side-panel .lang-item {
  display: inline;
  text-transform: uppercase; }
.side-panel ul {
  list-style-type: none; }
.side-panel .wpml-ls-legacy-list-horizontal {
  border: 0;
  padding: 0;
  margin-left: -10px;
  font-weight: bold; }
  .side-panel .wpml-ls-legacy-list-horizontal a {
    color: #efefef; }
  .side-panel .wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
    color: #1CB8CF; }
@media (min-width: 921px) {
  .side-panel .wpml-ls, .side-panel .menu-side-mobile-menu-container, .side-panel .menu-side-mobile-menu-inglese-container {
    display: none; } }
.side-panel .menu-side-mobile-menu-container ul, .side-panel .menu-side-mobile-menu-inglese-container ul {
  line-height: 1.8; }
.side-panel .menu-side-mobile-menu-container a, .side-panel .menu-side-mobile-menu-inglese-container a {
  color: #efefef; }

/* search and filter form with categories */
.top_filters {
  width: 1300px;
  max-width: 100%; }
  @media (max-width: 767px) {
    .top_filters h4 {
      display: none; } }

.top_filters .searchandfilter .children {
  display: none; }
.top_filters .searchandfilter ul li {
  padding-top: 0; }
.top_filters .searchandfilter ul li li {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 0; }
.top_filters .searchandfilter input[type="checkbox"] {
  margin-left: -16px; }
.top_filters .searchandfilter input[type="checkbox"] + label {
  padding: 20px 10px 20px 40px;
  border: 2px solid #343635;
  border-radius: 6px;
  background-color: #343635; }
  .top_filters .searchandfilter input[type="checkbox"] + label::before {
    top: 16px;
    left: 10px;
    border-color: #212121;
    background-color: #212121; }
  .top_filters .searchandfilter input[type="checkbox"] + label::after {
    left: 15px;
    top: 21px;
    border-color: #1CB8CF; }
  @media (max-width: 920px) {
    .top_filters .searchandfilter input[type="checkbox"] + label {
      padding: 6px 10px; }
      .top_filters .searchandfilter input[type="checkbox"] + label::before, .top_filters .searchandfilter input[type="checkbox"] + label::after {
        content: none; } }
.top_filters .searchandfilter input[type="checkbox"] + label:hover, .top_filters .searchandfilter .sf-option-active input[type="checkbox"] + label {
  border-color: #1CB8CF; }
.top_filters .searchandfilter input[type="checkbox"]:focus + label {
  border-color: #A4A7A5; }
.top_filters .searchandfilter input[type="checkbox"]:checked:focus + label {
  border-color: #efefef; }
  .top_filters .searchandfilter input[type="checkbox"]:checked:focus + label::after {
    border-color: #efefef; }
.top_filters .searchandfilter .searchandfilter ul li {
  padding-bottom: 0; }

@media (min-width: 601px) {
  .top {
    text-align: right; } }
.top a.btn {
  padding-left: 11px;
  padding-right: 11px; }

footer {
  background-color: #111;
  padding: calc(20px*2) 0;
  border-top: 1px solid #A4A7A5;
  color: #A4A7A5; }
  @media (min-width: 601px) {
    footer .container {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-pack: space-between; } }
  @media (max-width: 600px) {
    footer .container .column {
      margin-bottom: calc(20px*2); } }
  footer ul {
    list-style-type: none;
    line-height: 1.8; }
    footer ul a {
      color: #efefef; }

.mention {
  border-top: 1px solid #A4A7A5;
  margin-top: calc(20px*2); }
  .mention p {
    font-style: italic;
    font-weight: 600;
    font-size: .9em;
    line-height: 1.5;
    margin-top: calc(20px*2);
    margin-bottom: 0; }

.phones {
  padding: 10px 0; }

#floating-block {
  position: fixed;
  right: 20px;
  bottom: 20px;
  color: #efefef;
  background-color: #1CB8CF;
  border-radius: 20px;
  border-bottom-right-radius: 0;
  min-width: 60px;
  min-height: 60px;
  overflow: hidden;
  border: 1px solid #1CB8CF;
  transition: background-color .25s ease-in-out; }
  #floating-block:hover {
    background-color: #1690a2;
    border-color: #1690a2; }
  #floating-block .floating-button {
    border: none;
    outline: none;
    background-color: transparent;
    color: white;
    font-size: 2em;
    cursor: pointer; }
    #floating-block .floating-button .fa {
      position: absolute;
      top: 0;
      left: 0;
      padding: 17px;
      transform: scale(1);
      transition-property: transform, top, left;
      transition-duration: .25s, .25s, .25s, .25s;
      transition-delay: 0s; }
      #floating-block .floating-button .fa::before {
        text-shadow: 0px 0px 0px #efefef;
        transition-property: text-shadow;
        transition-duration: .25s; }
  #floating-block .panel {
    overflow: hidden;
    max-height: 0;
    max-width: 0;
    opacity: 0;
    transition-property: max-width, max-height, opacity;
    transition-duration: .5s, .5s, .25s;
    transition-delay: .5s, 0s, 0s; }
    #floating-block .panel .info {
      padding: 15px;
      padding-top: 0; }
    #floating-block .panel .number {
      display: block;
      font-size: 1.4em;
      font-weight: bold;
      padding-left: 25px; }
    #floating-block .panel a {
      display: block;
      background-color: #343635;
      color: #efefef;
      text-transform: uppercase;
      text-align: center;
      padding: 5px 10px; }
  #floating-block.active .panel {
    max-width: 230px;
    max-height: 115px;
    opacity: 1;
    transition-delay: 0s, .5s, .5s; }
  #floating-block.active .floating-button .fa {
    top: 19px;
    left: -7px;
    transform: scale(0.5);
    transition-delay: .5s, .5s, 0s; }
    #floating-block.active .floating-button .fa::before {
      text-shadow: 0px 50px 0px #efefef;
      transition-delay: .5s; }

#btn-register + #em-booking {
  overflow: hidden;
  max-height: 0;
  width: 100%;
  opacity: 0;
  padding-left: 20px;
  padding-right: 20px;
  transition-property: max-height, opacity;
  transition-duration: .4s, .25s;
  transition-delay: 0s, .4s;
  transition-timing-function: ease-in-out; }

.em-booking-form {
  padding-top: 10px;
  padding-bottom: 20px; }

#em-booking {
  margin: 0; }
  #em-booking .em-booking-message {
    margin: 10px 0;
    text-transform: uppercase;
    font-size: 13px; }
    #em-booking .em-booking-message p {
      margin: 0; }
  #em-booking .em-booking-message-error {
    color: #fa5252; }
  #em-booking > p {
    margin: 0;
    background-color: #343635;
    text-align: right; }
  #em-booking br {
    display: none; }

#booking-box {
  color: #efefef;
  background-color: #212121;
  border-radius: 20px;
  border-bottom-right-radius: 0;
  overflow: hidden;
  width: 100%;
  margin: 0 0 0 auto;
  transition: max-width .4s ease-in-out .4s; }
  #booking-box.booking-open {
    max-width: 105px; }

#btn-register {
  width: 100%;
  border-radius: 0;
  transition: background-color .25s ease-in-out; }

.em-booking-form-details p {
  margin: 10px 0; }
.em-booking-form-details .em-booking-submit {
  background-color: #1CB8CF;
  padding: 7px 18px;
  border-radius: 20px;
  color: #efefef;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: .9em;
  transition: background-color .25s ease-in-out; }
  .em-booking-form-details .em-booking-submit:hover, .em-booking-form-details .em-booking-submit:focus {
    background-color: #1690a2;
    color: #efefef; }

#booking-box.active {
  max-width: 830px;
  transition-delay: 0s; }
  #booking-box.active #em-booking {
    max-height: 600px;
    opacity: 1;
    transition-delay: .4s, .4s; }
  #booking-box.active #btn-register {
    background-color: #111; }

/* ------------------------------------------------------------------------------------------------------------------------------
form styling
-------------------------------------------------------------------------------------------------------------------------------*/
.em-booking-form-details, .wpcf7-form {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 20px;
  color: #A4A7A5; }
  @media (max-width: 470px) {
    .em-booking-form-details, .wpcf7-form {
      grid-template-columns: 1fr; } }

.em-booking-form-details p.input-field-data_privacy_consent, .privacy-consent {
  grid-column: 1 / -1;
  margin-left: 30px; }
  .em-booking-form-details p.input-field-data_privacy_consent input[type="checkbox"], .privacy-consent input[type="checkbox"] {
    margin-left: -19px; }
    .em-booking-form-details p.input-field-data_privacy_consent input[type="checkbox"] + span::before, .privacy-consent input[type="checkbox"] + span::before {
      top: -2px;
      left: -30px; }
    .em-booking-form-details p.input-field-data_privacy_consent input[type="checkbox"] + span::after, .privacy-consent input[type="checkbox"] + span::after {
      top: 3px;
      left: -25px; }

.privacy-consent input[type="checkbox"] {
  margin-left: -16px; }

.em-booking-form-details input.input, .em-booking-form-details textarea {
  width: 100%; }

.em-booking-form span.input-group {
  margin-left: 20px;
  font-size: .8em;
  margin-bottom: 5px;
  line-height: 1.3;
  color: #c5c5c5; }

/* contact form 7 */
span.wpcf7-list-item {
  margin: 0; }

/*# sourceMappingURL=style.css.map */
