@charset "UTF-8";
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../fonts/nunito-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Nunito";
  font-style: italic;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../fonts/nunito-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/merriweather-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/merriweather-italic.woff2") format("woff2");
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  object-fit: cover;
  font-family: var(--sans-serif);
  transition: var(--transition);
}

html {
  scroll-behavior: smooth;
}

::target-text {
  background-color: var(--target-highlight);
  color: var(--night);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
.scroll-fade {
  animation: none !important;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.scroll-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .scroll-fade {
    transition: none;
    opacity: 1;
    transform: none;
  }
}
.simple-hero .hero-wrapper h1,
.hp-hero-container .hero-wrapper h1 {
  opacity: 0;
  animation: heroFadeIn 0.8s ease forwards;
}

.simple-hero .hero-wrapper h2,
.hp-hero-container .hero-wrapper h2 {
  opacity: 0;
  animation: heroFadeIn 0.8s ease 0.1s forwards;
}

@keyframes heroFadeIn {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .simple-hero .hero-wrapper h1,
  .simple-hero .hero-wrapper h2,
  .hp-hero-container .hero-wrapper h1,
  .hp-hero-container .hero-wrapper h2 {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.instant-fade {
  opacity: 0;
  transform: translateY(40px);
  animation: heroFadeIn 0.8s ease 0.3s forwards !important;
}

@media (prefers-reduced-motion: reduce) {
  .instant-fade {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.7);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    translate: 0 60px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fadeInUpFast {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-in-up {
  opacity: 0;
  translate: 0 60px;
}

.fade-in-up.animate {
  animation: fadeInUp var(--duration) ease forwards;
}

.fade-in-scale {
  animation: fadeInScale var(--duration) ease forwards;
}

:root {
  --amber: #ed613b;
  --amber-hover: #f1876a;
  --target-highlight: #e9d2fd;
  --gold: #f2b749;
  --gold-border: #f8d9a0;
  --cream: #F9EEDC;
  --cream-dark: #F3DEBA;
  --brown: #7a6240;
  --night: #2c1f0e;
  --black: #0f0f0f;
  --black-opacity: #1a1a1a;
  --black-opacity-2: #292929;
  --white: #fdfdfd;
  --grey: #EBEBEB;
  --grey-hover: #e2e2e2;
  --box-shadow: 8px 8px 12px -6px rgba(0, 0, 0, 0.25);
  --box-shadow-white: 5px 5px 20px -5px rgba(255, 255, 255, 0.2);
  --text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  --padding: 80px 40px;
  --padding-box: 40px;
  --max-layer-width: 2000px;
  --max-sub-layer-width: 1400px;
  --min-layer-width: 300px;
  --text-size-clamp-70: clamp(45px, 5vw, 70px);
  --serif: "Merriweather", sans-serif;
  --sans-serif: "Nunito", sans-serif;
  --veil-purple-gradient-horizontal: linear-gradient(
    90deg,
    var(--orange),
    var(--yellow)
  );
  --veil-purple-gradient-vertical: linear-gradient(
    180deg,
    var(--orange),
    var(--yellow)
  );
  --border-radius: 16px;
  --duration: 0.3s;
  --transition: all var(--duration) ease;
  --fadeInUp: fadeInUp 1s ease forwards;
  --fadeInScale: fadeInScale 1s ease forwards;
}

@media (max-width: 1600px) {
  :root {
    --padding: 70px 40px 80px 40px;
    --padding-right-left: 40px;
    --padding-top-bottom: 80px;
  }
}
@media (max-width: 768px) {
  :root {
    --padding: 60px 20px;
    --padding-right-left: 20px;
  }
}
main .layer {
  width: 100%;
  min-width: var(--min-layer-width);
  margin: 0 auto;
  opacity: 0;
  animation: fadeIn 0.5s ease 0s forwards;
}
main .layer .sub-layer {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 40px;
  flex-wrap: wrap;
  width: 100%;
  max-width: var(--max-sub-layer-width);
  padding: var(--padding);
  margin: 0 auto;
}
main .layer .sub-layer h1,
main .layer .sub-layer h2,
main .layer .sub-layer h3,
main .layer .sub-layer h4 {
  color: var(--black);
  font-family: var(--sans-serif);
  font-weight: 300;
}
main .layer .sub-layer h2 {
  font-size: 34px;
  line-height: 42px;
}
@media (max-width: 480px) {
  main .layer .sub-layer h2 {
    font-size: 30px;
    line-height: 38px;
  }
}
main .layer .sub-layer h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin-top: 10px;
  background-color: var(--gold);
}
main .layer .sub-layer .hero-wrapper h2::after {
  content: none;
}
main .layer .sub-layer h3 {
  font-size: 30px;
  line-height: 38px;
}
@media (max-width: 480px) {
  main .layer .sub-layer h3 {
    font-size: 28px;
    line-height: 36px;
  }
}
main .layer .sub-layer p,
main .layer .sub-layer li,
main .layer .sub-layer label {
  font-size: 18px;
  line-height: 26px;
}
@media (max-width: 480px) {
  main .layer .sub-layer p {
    font-size: 16px;
    line-height: 24px;
  }
}
main .layer .sub-layer label.privacy-checkbox {
  font-size: 16px;
  line-height: 24px;
}
main .layer .sub-layer input,
main .layer .sub-layer textarea {
  font-size: 16px;
  line-height: 24px;
}
main .layer .sub-layer img {
  display: block;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}
main .layer.hp-aiuto .sub-layer h2::after, main .layer.hp-form .sub-layer h2::after, main .layer.chs-perche .sub-layer h2::after, main .layer.grey-bg .sub-layer h2::after {
  background-color: var(--amber);
}
main .layer.last .sub-layer {
  padding-bottom: 120px !important;
}
main .layer form {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 30px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 600px;
  background-color: var(--white);
  padding: var(--padding-box);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}
@media (min-width: 1024px) {
  main .layer form {
    max-width: 980px;
  }
}
@media (max-width: 480px) {
  main .layer form {
    padding: 20px;
  }
}
main .layer form .field-row {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  main .layer form .field-row {
    gap: 16px;
  }
}
@media (min-width: 1024px) {
  main .layer form .field-row {
    flex-direction: row;
    align-items: start;
  }
  main .layer form .field-row .field {
    flex: 1;
  }
}
main .layer form .field {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
}
main .layer form .field input,
main .layer form .field textarea {
  border-radius: var(--border-radius);
  border: 1px solid var(--night);
  padding: 10px 18px;
  width: 100%;
}
@media (max-width: 480px) {
  main .layer form .field input,
  main .layer form .field textarea {
    font-size: 14px;
    line-height: 22px;
  }
}
main .layer form .field textarea {
  width: 100%;
  resize: vertical;
  font-family: inherit;
}
main .layer form .field label {
  color: var(--black-opacity-2);
}
main .layer form .field.field--checkbox {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 15px;
  flex-wrap: nowrap;
}
main .layer form .field.field--checkbox label,
main .layer form .field.field--checkbox input {
  width: fit-content;
  cursor: pointer;
}
main .layer form .field.field--checkbox label a,
main .layer form .field.field--checkbox input a {
  text-decoration: underline;
}
main .layer form .field.field--checkbox input {
  display: block;
  width: 25px;
  height: 25px;
}
main .layer form .cta:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
main .layer form span {
  color: var(--black-opacity-2);
}
main .layer .field--honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
}
main .layer .form-message {
  width: 100%;
  padding: var(--padding-box);
  background-color: var(--white);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
}
main .layer .form-message p:first-child {
  font-size: 28px !important;
  line-height: 36px !important;
}
main .layer .form-message p {
  margin-bottom: 30px;
}
main .layer .form-message ul.form-message__contatti {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
main .layer .form-message.form-message--success {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 40px;
  flex-wrap: wrap;
}
main .layer .form-message.form-message--success p {
  margin-bottom: 0 !important;
}

a:link,
a:visited {
  text-decoration: none;
  color: var(--black);
}

a.cta,
button.cta {
  transition: var(--transition);
  background-color: var(--amber);
  color: var(--white);
  font-size: 18px;
  line-height: 26px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 10px 40px;
  text-decoration: none;
  border: 1px solid var(--amber);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  cursor: pointer;
}
@media (max-width: 480px) {
  a.cta,
  button.cta {
    font-size: 16px;
    line-height: 24px;
    padding: 8px 35px;
  }
}
a.cta:hover,
button.cta:hover {
  text-decoration: none !important;
  background-color: var(--amber-hover);
  border-color: var(--amber-hover);
}

.card-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100%;
}
@media (max-width: 1024px) {
  .card-container {
    grid-template-columns: 1fr;
  }
}
.card-container .card,
.card-container a.card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
  background-color: var(--cream);
  background-color: var(--grey);
  border-radius: var(--border-radius);
  padding: 40px;
  box-shadow: var(--box-shadow);
}
@media (max-width: 1170px) {
  .card-container .card,
  .card-container a.card {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (max-width: 480px) {
  .card-container .card,
  .card-container a.card {
    padding: 40px 20px;
  }
}
.card-container .card .icon-text,
.card-container a.card .icon-text {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.card-container .card .icon-text svg,
.card-container a.card .icon-text svg {
  height: 80px;
  width: 100px;
}
.card-container .card .icon-text .text,
.card-container a.card .icon-text .text {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.card-container .card .icon-text .text .title,
.card-container a.card .icon-text .text .title {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.card-container .card .icon-text .text .title span,
.card-container a.card .icon-text .text .title span {
  text-transform: uppercase;
  font-size: 16px;
  line-height: 24px;
  color: var(--amber);
}
.card-container .card .icon-text .text .title h3,
.card-container a.card .icon-text .text .title h3 {
  font-size: 30px;
  line-height: 38px;
  text-align: center;
}
@media (max-width: 480px) {
  .card-container .card .icon-text .text .title h3,
  .card-container a.card .icon-text .text .title h3 {
    font-size: 28px;
    line-height: 36px;
  }
}
.card-container .card .icon-text .text p,
.card-container a.card .icon-text .text p {
  font-size: 16px;
  line-height: 24px;
}
.card-container .card a.cta,
.card-container a.card a.cta {
  margin-top: 40px;
}
.card-container a.card {
  transition: var(--transition);
  text-decoration: none;
  color: var(--white);
  background-color: var(--amber);
}
.card-container a.card:hover {
  background-color: var(--amber-hover);
}
.card-container a.card .icon-text .text {
  align-items: start;
}
.card-container a.card .icon-text .text h3 {
  color: var(--white);
  text-align: start;
}

section.mid .sub-layer {
  padding-top: 0 !important;
}

.cookie-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background-color: var(--night);
  box-shadow: var(--box-shadow);
}
.cookie-notice .cookie-notice-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  max-width: var(--max-sub-layer-width);
  margin: 0 auto;
  padding: 16px var(--padding-box);
}
@media (max-width: 480px) {
  .cookie-notice .cookie-notice-inner {
    padding: 16px 20px;
  }
}
.cookie-notice .cookie-notice-inner p {
  flex: 1 1 280px;
  margin: 0;
  color: var(--white);
  font-size: 14px;
  line-height: 20px;
}
.cookie-notice .cookie-notice-inner p a {
  color: var(--gold);
  text-decoration: underline;
}
.cookie-notice .cookie-notice-inner .cta {
  flex-shrink: 0;
  padding: 6px 32px;
}

body {
  min-width: 350px;
  position: relative !important;
  z-index: 0 !important;
  background-color: var(--white);
}
body main section.layer.hp-hero-container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  min-height: 550px;
}
@media (max-width: 1024px) {
  body main section.layer.hp-hero-container {
    min-height: 440px;
  }
}
body main section.layer.hp-hero-container {
  background-image: url("https://centrokalipe.com/wp-content/uploads/2026/07/centro-kalipe-hero.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
body main section.layer.hp-hero-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
body main section.layer.hp-hero-container .sub-layer {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
body main section.layer.hp-hero-container .sub-layer .hero-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  body main section.layer.hp-hero-container .sub-layer .hero-wrapper {
    align-items: flex-start;
  }
}
body main section.layer.hp-hero-container .sub-layer .hero-wrapper h1 {
  font-size: 50px;
  line-height: 58px;
  font-weight: 300;
  text-align: center;
  letter-spacing: normal;
  color: var(--night);
}
@media (max-width: 1024px) {
  body main section.layer.hp-hero-container .sub-layer .hero-wrapper h1 {
    text-align: left;
    font-size: 45px;
    line-height: 53px;
  }
}
@media (max-width: 480px) {
  body main section.layer.hp-hero-container .sub-layer .hero-wrapper h1 {
    font-size: 35px;
    line-height: 43px;
  }
}
body main section.layer.hp-hero-container .sub-layer .hero-wrapper h2 {
  font-size: 28px;
  line-height: 36px;
  font-weight: 400;
  text-align: center;
  letter-spacing: normal;
  color: var(--brown);
}
@media (max-width: 1024px) {
  body main section.layer.hp-hero-container .sub-layer .hero-wrapper h2 {
    text-align: left;
    font-size: 23px;
    line-height: 31px;
  }
}
@media (max-width: 480px) {
  body main section.layer.hp-hero-container .sub-layer .hero-wrapper h2 {
    font-size: 20px;
    line-height: 28px;
  }
}
body main section.layer.hp-hero-container .sub-layer .hero-wrapper a.cta {
  margin-top: 40px;
}
@media (max-width: 1170px) {
  body main section.layer.hp-servizi .sub-layer .card-container .card .icon-text .text .title h3 {
    max-width: 200px;
  }
}
@media (max-width: 1024px) {
  body main section.layer.hp-servizi .sub-layer .card-container {
    justify-items: center;
  }
  body main section.layer.hp-servizi .sub-layer .card-container .card {
    max-width: 450px;
  }
  body main section.layer.hp-servizi .sub-layer .card-container .card .icon-text .text .title h3 {
    max-width: none;
  }
}
body main section.layer.hp-centro .sub-layer .container, body main section.layer.hp-aiuto .sub-layer .container, body main section.layer.hp-team .sub-layer .container, body main section.layer.chs-missione .sub-layer .container {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 40px;
  flex-wrap: wrap;
}
body main section.layer.hp-centro .sub-layer .container .row, body main section.layer.hp-aiuto .sub-layer .container .row, body main section.layer.hp-team .sub-layer .container .row, body main section.layer.chs-missione .sub-layer .container .row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  width: 100%;
  align-items: center;
}
@media (max-width: 1024px) {
  body main section.layer.hp-centro .sub-layer .container .row, body main section.layer.hp-aiuto .sub-layer .container .row, body main section.layer.hp-team .sub-layer .container .row, body main section.layer.chs-missione .sub-layer .container .row {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}
body main section.layer.hp-centro .sub-layer .container .row .box, body main section.layer.hp-aiuto .sub-layer .container .row .box, body main section.layer.hp-team .sub-layer .container .row .box, body main section.layer.chs-missione .sub-layer .container .row .box {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 1024px) {
  body main section.layer.hp-centro .sub-layer .container .row .box, body main section.layer.hp-aiuto .sub-layer .container .row .box, body main section.layer.hp-team .sub-layer .container .row .box, body main section.layer.chs-missione .sub-layer .container .row .box {
    order: 1;
  }
}
body main section.layer.hp-centro .sub-layer .container .row .box.right, body main section.layer.hp-aiuto .sub-layer .container .row .box.right, body main section.layer.hp-team .sub-layer .container .row .box.right, body main section.layer.chs-missione .sub-layer .container .row .box.right {
  padding-right: 20px;
}
body main section.layer.hp-centro .sub-layer .container .row .box a.cta, body main section.layer.hp-aiuto .sub-layer .container .row .box a.cta, body main section.layer.hp-team .sub-layer .container .row .box a.cta, body main section.layer.chs-missione .sub-layer .container .row .box a.cta {
  margin-top: 40px;
}
body main section.layer.hp-centro .sub-layer .container .row .box.img-box img, body main section.layer.hp-aiuto .sub-layer .container .row .box.img-box img, body main section.layer.hp-team .sub-layer .container .row .box.img-box img, body main section.layer.chs-missione .sub-layer .container .row .box.img-box img {
  width: 100%;
  height: 330px;
  object-position: center;
}
@media (max-width: 480px) {
  body main section.layer.hp-centro .sub-layer .container .row .box.img-box img, body main section.layer.hp-aiuto .sub-layer .container .row .box.img-box img, body main section.layer.hp-team .sub-layer .container .row .box.img-box img, body main section.layer.chs-missione .sub-layer .container .row .box.img-box img {
    height: 240px;
    min-height: 290px;
  }
}
@media (max-width: 1024px) {
  body main section.layer.hp-centro .sub-layer .container .row .box.img-box, body main section.layer.hp-aiuto .sub-layer .container .row .box.img-box, body main section.layer.hp-team .sub-layer .container .row .box.img-box, body main section.layer.chs-missione .sub-layer .container .row .box.img-box {
    order: 2;
  }
}
body main section.layer.hp-centro .sub-layer {
  padding-bottom: 20px !important;
}
body main section.layer.hp-aiuto {
  background-color: var(--cream);
}
body main section.layer.hp-aiuto .sub-layer .container .row {
  align-items: center;
}
body main section.layer.hp-aiuto .sub-layer .container .row .img-box {
  padding-right: 20px;
}
@media (max-width: 480px) {
  body main section.layer.hp-aiuto .sub-layer .container .row .img-box {
    padding-right: 0;
  }
}
body main section.layer.hp-target .sub-layer {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
body main section.layer.hp-target .sub-layer .card-container {
  margin-top: 40px;
}
@media (max-width: 1024px) {
  body main section.layer.hp-target .sub-layer .card-container {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  body main section.layer.hp-target .sub-layer .card-container a.card {
    max-width: 450px;
  }
}
body main section.layer.hp-target .sub-layer .card-container a.card .icon-text .text .title {
  width: fit-content;
  transition: var(--transition);
}
body main section.layer.hp-target .sub-layer .card-container a.card .icon-text .text .title h3 {
  text-align: left;
}
body main section.layer.hp-target .sub-layer .card-container a.card .icon-text .text p {
  color: var(--brown);
  font-size: 16px;
  line-height: 24px;
  margin-top: 0;
  transition: var(--transition);
}
body main section.layer.hp-target .sub-layer .card-container a.card .icon-text .text .scopri-di-piu {
  text-align: left;
  margin-top: 30px;
}
body main section.layer.hp-form {
  background-color: var(--grey);
}
body main section.layer.hp-form .sub-layer {
  gap: 40px;
}
body main section.layer.hp-form .sub-layer .text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
body main section.layer.hp-form .sub-layer .form-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
}
body main section.layer.page-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
  position: relative;
  min-height: 460px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
body main section.layer.page-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
body main section.layer.page-hero .sub-layer {
  position: relative;
  z-index: 2;
  height: 100%;
}
body main section.layer.page-hero .sub-layer h1,
body main section.layer.page-hero .sub-layer h2,
body main section.layer.page-hero .sub-layer p {
  color: var(--white);
  text-shadow: var(--text-shadow);
}
body main section.layer.page-hero .sub-layer .breadcrumbs {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  color: var(--white);
  text-shadow: var(--text-shadow);
  font-size: 14px;
  letter-spacing: 0.5px;
}
body main section.layer.page-hero .sub-layer .breadcrumbs a {
  transition: var(--transition);
}
body main section.layer.page-hero .sub-layer .breadcrumbs a:hover {
  opacity: 0.8;
}
body main section.layer.page-hero .sub-layer .breadcrumbs a {
  color: var(--white);
  text-decoration: underline;
}
body main section.layer.page-hero .sub-layer .breadcrumbs .separator,
body main section.layer.page-hero .sub-layer .breadcrumbs .current {
  color: var(--white);
}
body main section.layer.page-hero .sub-layer .hero-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
body main section.layer.page-hero .sub-layer .hero-wrapper h1 {
  font-size: 50px;
  line-height: 58px;
}
body main section.layer.page-hero .sub-layer .hero-wrapper h2 {
  font-size: 30px;
  line-height: 38px;
}
body main section.layer.chs-storia .sub-layer .text-block, body main section.layer.chs-perche .sub-layer .text-block {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 24px;
  flex-wrap: wrap;
  width: 100%;
}
body main section.layer.chs-storia .sub-layer .text-block p a, body main section.layer.chs-perche .sub-layer .text-block p a {
  color: var(--amber);
  text-decoration: underline;
}
body main section.layer.chs-storia .sub-layer .text-block a:not(.cta),
body main section.layer.chs-storia .sub-layer .text-block p a, body main section.layer.chs-perche .sub-layer .text-block a:not(.cta),
body main section.layer.chs-perche .sub-layer .text-block p a {
  text-decoration: none;
}
body main section.layer.chs-storia .sub-layer .text-block a:not(.cta):hover,
body main section.layer.chs-storia .sub-layer .text-block p a:hover, body main section.layer.chs-perche .sub-layer .text-block a:not(.cta):hover,
body main section.layer.chs-perche .sub-layer .text-block p a:hover {
  text-decoration: underline;
}
body main section.layer.chs-storia .sub-layer .text-block a.cta {
  margin-top: 20px;
}
body main section.layer.chs-perche {
  background-color: var(--grey);
}
body main section.layer.chs-perche .sub-layer .text-block blockquote {
  font-family: var(--serif);
  font-style: italic;
  font-size: 26px;
  line-height: 34px;
  color: var(--brown);
  margin: 0;
}
body main section.layer.chs-perche .sub-layer .text-block a.cta {
  margin-top: 40px;
}
body main section.layer.chs-gallery .sub-layer .chs-slider {
  position: relative;
  width: 100%;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-viewport {
  width: 100%;
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-track {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: stretch;
  gap: 20px;
  flex-wrap: nowrap;
  position: relative;
  transition: transform 0.5s ease;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-track.is-dragging {
  transition: none;
  cursor: grabbing;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-track img {
  flex: 0 0 calc(50% - 10px);
  height: 450px;
  object-fit: cover;
  box-shadow: none;
  user-select: none;
  -webkit-user-drag: none;
}
@media (max-width: 1024px) {
  body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-track img {
    flex: 0 0 100%;
  }
}
@media (max-width: 480px) {
  body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-track img {
    flex: 0 0 100%;
    height: 240px;
  }
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  transition: transform var(--duration) ease;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow:hover {
  transform: scale(1.08);
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background-color: var(--amber);
  color: var(--white);
  box-shadow: var(--box-shadow);
  cursor: pointer;
  z-index: 2;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow.chs-slider-prev {
  left: -20px;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow.chs-slider-next {
  right: -20px;
}
@media (max-width: 768px) {
  body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow.chs-slider-prev {
    left: 10px;
  }
  body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-arrow.chs-slider-next {
    right: 10px;
  }
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-dots {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-dots .chs-slider-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 2px solid var(--amber);
  border-radius: 50%;
  background-color: var(--white);
  cursor: pointer;
}
body main section.layer.chs-gallery .sub-layer .chs-slider .chs-slider-dots .chs-slider-dot.is-active {
  background-color: var(--amber);
}
body main section.layer.chs-missione .row .box.img-box {
  padding-right: 20px;
}
@media (max-width: 480px) {
  body main section.layer.chs-missione .row .box.img-box {
    padding-right: 0;
  }
}
body main section.layer.search-container .sub-layer .blog-list {
  margin-bottom: 40px;
}
body main section.layer.search-container .sub-layer .theme-results-list {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0;
  flex-wrap: wrap;
  width: 100%;
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-group {
  width: 100%;
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-group:not(:last-child) {
  margin-bottom: 32px;
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-group h3 {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: var(--brown);
  text-transform: uppercase;
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-row {
  display: block;
  width: 100%;
  padding: 14px 0;
  border-bottom: 1px solid var(--grey);
  color: var(--black);
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-row:hover {
  color: var(--amber);
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-row:last-child {
  border-bottom: none;
}
body main section.layer.search-container .sub-layer .theme-results-list .theme-result-row p {
  margin: 0;
  font-size: 16px;
  line-height: 22px;
}
body main section.layer.hero-404 {
  background-color: var(--black);
  height: 300px;
  width: 100%;
}
body main section.layer.hero-404 .sub-layer h1 {
  color: var(--white);
}

body.menu-open {
  overflow: hidden;
}

.top-bar {
  width: 100%;
  background-color: var(--brown);
}
.top-bar .sub-layer {
  padding: var(--padding);
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin: 0 auto;
  max-width: var(--max-sub-layer-width);
}
.top-bar .sub-layer p {
  color: var(--white);
  text-align: left;
  font-size: 14px;
  line-height: 20px;
}
@media (max-width: 480px) {
  .top-bar .sub-layer p {
    font-size: 13px;
    line-height: 19px;
  }
}
.top-bar .sub-layer p a {
  transition: var(--transition);
}
.top-bar .sub-layer p a:hover {
  opacity: 0.8;
}
.top-bar .sub-layer p a {
  color: var(--white);
  text-decoration: underline;
}

header.layer {
  max-width: var(--max-layer-width);
  width: 100%;
  z-index: 9999;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: var(--white);
}
header.layer .sub-layer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: var(--max-sub-layer-width);
  padding: var(--padding);
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}
header.layer .sub-layer .logo a {
  display: block;
  width: 100%;
  max-width: 100px;
}
header.layer .sub-layer .logo a:hover {
  opacity: 0.8;
}
header.layer .sub-layer .logo a img {
  width: 100%;
  display: block;
  content: url("https://centrokalipe.com/wp-content/uploads/2026/07/logo-kalipe.webp");
}
header.layer .sub-layer .burger-toggle {
  display: none;
  position: relative;
  width: 32px;
  height: 24px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  z-index: 10001;
}
header.layer .sub-layer .burger-toggle span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--night);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease;
}
header.layer .sub-layer .burger-toggle span:nth-child(1) {
  top: 4px;
}
header.layer .sub-layer .burger-toggle span:nth-child(2) {
  top: 11px;
}
header.layer .sub-layer .burger-toggle span:nth-child(3) {
  top: 18px;
}
@media (max-width: 1024px) {
  header.layer .sub-layer .burger-toggle {
    display: flex;
  }
}
body.menu-open header.layer .sub-layer .burger-toggle span:nth-child(1) {
  top: 11px;
  transform: rotate(45deg);
}
body.menu-open header.layer .sub-layer .burger-toggle span:nth-child(2) {
  opacity: 0;
}
body.menu-open header.layer .sub-layer .burger-toggle span:nth-child(3) {
  top: 11px;
  transform: rotate(-45deg);
}
header.layer .sub-layer nav.main-menu {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
header.layer .sub-layer nav.main-menu .mobile-logo {
  display: none;
}
header.layer .sub-layer nav.main-menu ul {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  gap: 30px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
header.layer .sub-layer nav.main-menu ul li.dropdown-slot {
  display: none;
}
header.layer .sub-layer nav.main-menu ul a {
  color: var(--night);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}
header.layer .sub-layer nav.main-menu ul a:hover {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 4px;
}
header.layer .sub-layer nav.main-menu ul li.menu-active > a {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 4px;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown {
  position: relative;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown > span {
  color: var(--night);
  font-size: 14px;
  cursor: default;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown.menu-active > span {
  color: var(--amber);
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown:hover > span, header.layer .sub-layer nav.main-menu ul li.has-dropdown:focus-within > span {
  color: var(--amber);
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown > a::after,
header.layer .sub-layer nav.main-menu ul li.has-dropdown > span::after {
  content: "▾";
  margin-left: 6px;
  font-size: 11px;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown {
  display: none;
  position: absolute;
  width: 100px;
  top: 100%;
  left: 0;
  padding-top: 15px;
  flex-direction: column;
  gap: 0;
  min-width: 220px;
  z-index: 10;
  border-radius: var(--border-radius);
  overflow: hidden;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li {
  background-color: var(--white);
  border: 1px solid var(--grey);
  width: 200px;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li:last-child {
  border-top: none;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li:first-child {
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  border-bottom: none;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li a {
  display: block;
  padding: 12px 20px;
  color: var(--night);
  white-space: nowrap;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li.menu-active a {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 4px;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li:not(.menu-active):hover {
  background-color: var(--amber);
  border-color: var(--amber);
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown ul.dropdown li:not(.menu-active):hover a {
  color: var(--white);
  text-decoration: none;
}
header.layer .sub-layer nav.main-menu ul li.has-dropdown:hover .dropdown, header.layer .sub-layer nav.main-menu ul li.has-dropdown:focus-within .dropdown {
  display: flex;
}
header.layer .sub-layer nav.main-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: var(--night);
}
header.layer .sub-layer nav.main-menu button .icon-search {
  flex-shrink: 0;
}
header.layer .sub-layer nav.main-menu button:hover {
  color: var(--amber);
}
header.layer .sub-layer nav.main-menu .search-form {
  display: none;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  background-color: var(--grey);
  border-radius: var(--border-radius);
  padding: 8px 16px;
  box-shadow: var(--box-shadow);
  transition: max-width 0.4s ease, opacity 0.3s ease;
}
header.layer .sub-layer nav.main-menu .search-form .search-close,
header.layer .sub-layer nav.main-menu .search-form .search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--night);
  padding: 0;
}
header.layer .sub-layer nav.main-menu .search-form .search-close:hover,
header.layer .sub-layer nav.main-menu .search-form .search-submit:hover {
  color: var(--amber);
}
header.layer .sub-layer nav.main-menu .search-form .search-input {
  width: 240px;
  max-width: 100%;
  border: none;
  border-bottom: 1px solid var(--night);
  background: transparent;
  padding: 6px 2px;
  font-size: 14px;
  color: var(--night);
  outline: none;
}
header.layer .sub-layer nav.main-menu .search-form .search-input::placeholder {
  color: var(--black-opacity-2);
}
header.layer .sub-layer nav.main-menu.search-active ul,
header.layer .sub-layer nav.main-menu.search-active .search-toggle {
  display: none;
}
header.layer .sub-layer nav.main-menu.search-active .search-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
  max-width: 420px;
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 1024px) {
  header.layer .sub-layer nav.main-menu {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 80px 24px 40px;
    background-color: var(--white);
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  header.layer .sub-layer nav.main-menu.mobile-open {
    display: flex;
    min-height: 600px;
    transform: translateX(0);
  }
  header.layer .sub-layer nav.main-menu .mobile-logo {
    display: block;
  }
  header.layer .sub-layer nav.main-menu .mobile-logo a {
    display: block;
    width: 100px;
  }
  header.layer .sub-layer nav.main-menu .mobile-logo a img {
    width: 100%;
    display: block;
  }
  header.layer .sub-layer nav.main-menu ul {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 320px;
    text-align: center;
  }
  header.layer .sub-layer nav.main-menu ul a,
  header.layer .sub-layer nav.main-menu ul li.has-dropdown > span {
    font-size: 20px;
  }
  header.layer .sub-layer nav.main-menu ul li.has-dropdown {
    width: 100%;
  }
  header.layer .sub-layer nav.main-menu ul li.has-dropdown:hover .dropdown, header.layer .sub-layer nav.main-menu ul li.has-dropdown:focus-within .dropdown {
    max-height: 0;
  }
  header.layer .sub-layer nav.main-menu ul .dropdown {
    display: flex;
    flex-direction: column;
    position: static;
    width: 100%;
    min-width: 0;
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    gap: 0;
    box-shadow: none;
    border-radius: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
  }
  header.layer .sub-layer nav.main-menu ul .dropdown li {
    width: 100%;
    background: none;
    border: none;
    border-radius: 0;
    padding: 12px 0;
  }
  header.layer .sub-layer nav.main-menu ul .dropdown li:not(:first-child) {
    border-top: 1px solid var(--grey);
  }
  header.layer .sub-layer nav.main-menu ul .dropdown li a {
    display: block;
    width: 100%;
    font-size: 16px;
    padding: 0;
    white-space: normal;
  }
  header.layer .sub-layer nav.main-menu ul .dropdown li:not(.menu-active):hover {
    background: none;
  }
  header.layer .sub-layer nav.main-menu ul .dropdown li:not(.menu-active):hover a {
    color: var(--amber);
  }
  header.layer .sub-layer nav.main-menu ul li.dropdown-slot {
    display: none;
    width: 100%;
    margin-top: -15px;
  }
  header.layer .sub-layer nav.main-menu ul li.dropdown-slot:not(:empty) {
    display: block;
  }
  header.layer .sub-layer nav.main-menu ul li.dropdown-slot:not(:empty) .dropdown {
    max-height: 400px;
  }
  header.layer .sub-layer nav.main-menu .search-toggle {
    font-size: 20px;
  }
  header.layer .sub-layer nav.main-menu .search-form {
    width: 100%;
    max-width: 320px;
    padding: 14px 20px;
  }
  header.layer .sub-layer nav.main-menu.search-active .search-form {
    width: 100%;
    max-width: 320px;
  }
}

body.has-transparent-header header.layer {
  position: absolute;
  background-color: transparent;
}
body.has-transparent-header header.layer .sub-layer .logo a img {
  content: url("https://centrokalipe.com/wp-content/uploads/2026/07/logo-kalipe.webp");
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul a {
  color: var(--white);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul a:hover {
  color: var(--gold);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul li.has-dropdown > span {
  color: var(--white);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul li.has-dropdown:hover > span,
body.has-transparent-header header.layer .sub-layer nav.main-menu ul li.has-dropdown:focus-within > span {
  color: var(--gold);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul li.has-dropdown.menu-active > span {
  color: var(--gold);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu ul li.menu-active > a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.has-transparent-header header.layer .sub-layer nav.main-menu .dropdown li a {
  color: var(--night);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu .dropdown li.menu-active a {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.has-transparent-header header.layer .sub-layer nav.main-menu button {
  color: var(--white);
}
body.has-transparent-header header.layer .sub-layer nav.main-menu button:hover {
  color: var(--gold);
}
@media (max-width: 1024px) {
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul a,
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul li.has-dropdown > span,
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open button {
    color: var(--night);
  }
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul li.has-dropdown:hover > span,
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul li.has-dropdown:focus-within > span,
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul li.menu-active > a,
  body.has-transparent-header header.layer .sub-layer nav.main-menu.mobile-open ul li.has-dropdown.menu-active > span {
    color: var(--amber);
  }
}
body.has-transparent-header header.layer .sub-layer .burger-toggle span {
  background-color: var(--white);
}

body.menu-open.has-transparent-header header.layer .sub-layer .burger-toggle span {
  background-color: var(--night);
}

footer.layer {
  width: 100%;
  z-index: 9999;
  background-color: var(--cream);
  min-height: 300px;
}
footer.layer .sub-layer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
  padding: var(--padding);
  margin: 0 auto;
  max-width: var(--max-sub-layer-width);
}
footer.layer .sub-layer .box-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100%;
  align-items: stretch;
  justify-items: stretch;
}
footer.layer .sub-layer .box-wrapper .box {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals a {
  transition: var(--transition);
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals a:hover {
  color: var(--amber);
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals a.logo {
  transition: var(--transition);
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals a.logo:hover {
  opacity: 0.8;
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals a.logo {
  margin-bottom: 10px;
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals .data {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals .legals {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}
footer.layer .sub-layer .box-wrapper .box.logo-data-legals .legals a {
  text-decoration: underline;
}
footer.layer .sub-layer .box-wrapper .box.contact h2, footer.layer .sub-layer .box-wrapper .box.social h2 {
  font-weight: 400;
  margin-bottom: 15px;
}
footer.layer .sub-layer .box-wrapper .box.contact h2::after, footer.layer .sub-layer .box-wrapper .box.social h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin-top: 10px;
  background-color: var(--amber);
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper, footer.layer .sub-layer .box-wrapper .box.social .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 25px;
  flex-wrap: wrap;
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p, footer.layer .sub-layer .box-wrapper .box.social .wrapper p {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: start;
  gap: 0;
  flex-wrap: wrap;
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p a,
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p svg, footer.layer .sub-layer .box-wrapper .box.social .wrapper p a,
footer.layer .sub-layer .box-wrapper .box.social .wrapper p svg {
  transition: var(--transition);
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p svg, footer.layer .sub-layer .box-wrapper .box.social .wrapper p svg {
  width: 1.2em;
  height: 1.2em;
  flex-shrink: 0;
  margin-right: 5px;
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p svg path, footer.layer .sub-layer .box-wrapper .box.social .wrapper p svg path {
  fill: var(--black-opacity);
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p:hover a, footer.layer .sub-layer .box-wrapper .box.social .wrapper p:hover a {
  color: var(--amber);
}
footer.layer .sub-layer .box-wrapper .box.contact .wrapper p:hover svg path, footer.layer .sub-layer .box-wrapper .box.social .wrapper p:hover svg path {
  fill: var(--amber);
}
@media (max-width: 990px) {
  footer.layer .sub-layer .box-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  footer.layer .sub-layer .box-wrapper .box.logo-data-legals {
    grid-column: 1/-1;
  }
  footer.layer .sub-layer .box-wrapper .box.contact h2,
  footer.layer .sub-layer .box-wrapper .box.social h2 {
    margin-bottom: 0;
  }
}
@media (max-width: 768px) {
  footer.layer .sub-layer .box-wrapper {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  footer.layer .sub-layer .box-wrapper .box.logo-data-legals {
    grid-column: auto;
  }
  footer.layer .sub-layer .box-wrapper .box {
    align-items: center;
    text-align: center;
  }
  footer.layer .sub-layer .box-wrapper .box.logo-data-legals .data,
  footer.layer .sub-layer .box-wrapper .box.logo-data-legals .legals {
    align-items: center;
  }
  footer.layer .sub-layer .box-wrapper .box.contact .wrapper, footer.layer .sub-layer .box-wrapper .box.social .wrapper {
    align-items: center;
  }
  footer.layer .sub-layer .box-wrapper .box.contact h2::after, footer.layer .sub-layer .box-wrapper .box.social h2::after {
    margin-left: auto;
    margin-right: auto;
  }
}

.whatsapp-fab {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  transition: transform var(--duration) ease;
}
.whatsapp-fab:hover {
  transform: scale(1.08);
}
.whatsapp-fab {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #25d366;
  box-shadow: var(--box-shadow);
  z-index: 9999;
}
.whatsapp-fab svg {
  width: 32px;
  height: 32px;
}
.whatsapp-fab svg path {
  fill: var(--white);
}
@media (max-width: 480px) {
  .whatsapp-fab {
    right: 20px;
    bottom: 20px;
    width: 52px;
    height: 52px;
  }
  .whatsapp-fab svg {
    width: 28px;
    height: 28px;
  }
}

@keyframes kalipeServiceItemFlash {
  0%, 100% {
    background-color: var(--grey);
  }
  25%, 75% {
    background-color: var(--target-highlight);
  }
}
main section.layer.grey-bg {
  background-color: var(--grey) !important;
}
main section.layer.simple-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
  position: relative;
  min-height: 420px;
  background-color: var(--cream);
}
main section.layer.simple-hero.hero-with-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main section.layer.simple-hero.hero-with-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--cream);
  opacity: 0.87;
  z-index: 1;
}
main section.layer.simple-hero.hero-with-bg .sub-layer {
  position: relative;
  z-index: 2;
}
main section.layer.simple-hero .sub-layer .breadcrumbs {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  color: var(--brown);
  font-size: 14px;
  letter-spacing: 0.5px;
}
main section.layer.simple-hero .sub-layer .breadcrumbs a {
  transition: var(--transition);
}
main section.layer.simple-hero .sub-layer .breadcrumbs a:hover {
  opacity: 0.8;
}
main section.layer.simple-hero .sub-layer .breadcrumbs a {
  color: var(--brown);
  text-decoration: underline;
}
main section.layer.simple-hero .sub-layer .breadcrumbs .separator,
main section.layer.simple-hero .sub-layer .breadcrumbs .crumb,
main section.layer.simple-hero .sub-layer .breadcrumbs .current {
  color: var(--brown);
}
main section.layer.simple-hero .sub-layer .hero-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 20px;
  flex-wrap: wrap;
}
main section.layer.simple-hero .sub-layer .hero-wrapper h1 {
  color: var(--night);
  font-size: 50px;
  line-height: 58px;
}
@media (max-width: 480px) {
  main section.layer.simple-hero .sub-layer .hero-wrapper h1 {
    font-size: 35px;
    line-height: 43px;
  }
}
main section.layer.simple-hero .sub-layer .hero-wrapper h2 {
  color: var(--brown);
  font-weight: 400;
  font-size: 30px;
  line-height: 38px;
}
@media (max-width: 480px) {
  main section.layer.simple-hero .sub-layer .hero-wrapper h2 {
    font-size: 20px;
    line-height: 28px;
  }
}
main section.layer.simple-hero .sub-layer .page-tags {
  margin-top: 10px;
}
main section.layer .content-block {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 24px;
  flex-wrap: wrap;
  width: 100%;
}
main section.layer .content-block a:not(.cta) {
  color: var(--amber);
  text-decoration: underline;
}
main section.layer .content-block a.cta {
  margin-top: 20px;
}
main section.layer .content-block ul {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 12px;
  flex-wrap: wrap;
  padding-left: 24px;
  width: 100%;
}
main section.layer .content-block h2 {
  margin-top: 16px;
}
main section.layer.eta-cards .sub-layer {
  gap: 60px;
}
@media (max-width: 1024px) {
  main section.layer.eta-cards .card-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  main section.layer.eta-cards .card-container {
    grid-template-columns: 1fr;
  }
}
main section.layer.eta-cards .card-container a.card {
  position: relative;
  justify-content: flex-end;
  min-height: 420px;
  padding: 0;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 480px) {
  main section.layer.eta-cards .card-container a.card {
    min-height: 290px;
  }
}
main section.layer.eta-cards .card-container a.card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  transition: var(--transition);
  z-index: 1;
}
main section.layer.eta-cards .card-container a.card:hover::before {
  background-color: var(--amber);
}
main section.layer.eta-cards .card-container a.card .icon-text {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
main section.layer.eta-cards .card-container a.card .icon-text .text {
  position: absolute;
  left: 40px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 480px) {
  main section.layer.eta-cards .card-container a.card .icon-text .text {
    left: 20px;
    right: 20px;
  }
}
main section.layer.eta-cards .card-container a.card .icon-text .text .title {
  width: 100%;
  transition: var(--transition);
}
main section.layer.eta-cards .card-container a.card .icon-text .text .title h3 {
  font-size: 34px;
  line-height: 42px;
}
@media (max-width: 768px) {
  main section.layer.eta-cards .card-container a.card .icon-text .text .title h3 {
    font-size: 32px;
    line-height: 40px;
  }
}
@media (max-width: 480px) {
  main section.layer.eta-cards .card-container a.card .icon-text .text .title h3 {
    font-size: 28px;
    line-height: 36px;
  }
}
main section.layer.eta-cards .card-container a.card .icon-text .text .scopri-di-piu {
  position: absolute;
  left: 0;
  width: 100%;
  top: 100%;
  margin-top: 10px;
  text-align: center;
  transform: translateY(-100%);
  opacity: 0;
  transition: var(--transition);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: var(--white);
}
main section.layer.eta-cards .card-container a.card .icon-text .text .scopri-di-piu .label {
  text-decoration: underline;
}
main section.layer.eta-cards .card-container a.card:hover .icon-text .text .title {
  transform: translateY(-10px);
}
main section.layer.eta-cards .card-container a.card:hover .icon-text .text .scopri-di-piu {
  transform: translateY(0);
  opacity: 1;
}
main section.layer.eta-cards.hp-target .card-container a.card {
  align-items: stretch;
  gap: 0;
  justify-content: flex-start;
  background-color: var(--grey);
  min-height: auto;
}
@media (max-width: 480px) {
  main section.layer.eta-cards.hp-target .card-container a.card {
    min-height: auto;
  }
}
main section.layer.eta-cards.hp-target .card-container a.card::before {
  content: none;
}
main section.layer.eta-cards.hp-target .card-container a.card .card-img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 0;
  flex-shrink: 0;
  transition: var(--transition);
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .card-img {
  transform: scale(1.08);
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text {
  width: 100%;
  height: auto;
  background-color: var(--grey);
  padding: 30px 30px 24px;
  gap: 8px;
}
@media (max-width: 480px) {
  main section.layer.eta-cards.hp-target .card-container a.card .icon-text {
    padding: 26px 20px 20px;
  }
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text .text {
  position: static;
  transform: none;
  align-items: flex-start;
  gap: 8px;
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text .text .title h3 {
  color: var(--night);
  font-size: 30px;
  line-height: 38px;
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text .text p {
  color: var(--brown);
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text .text .scopri-di-piu {
  position: static;
  transform: none;
  opacity: 1;
  color: var(--amber);
}
main section.layer.eta-cards.hp-target .card-container a.card .icon-text .text .scopri-di-piu .label {
  text-decoration: none;
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text {
  background-color: var(--amber);
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text .title,
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text p {
  transform: none;
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text .title h3 {
  color: var(--white);
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text p {
  color: var(--white);
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text .scopri-di-piu {
  opacity: 1;
  color: var(--white);
}
main section.layer.eta-cards.hp-target .card-container a.card:hover .icon-text .text .scopri-di-piu .label {
  text-decoration: underline;
}
main section.layer.single-post .post-content {
  margin-bottom: 40px;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
}
main section.layer.single-post .post-content > * {
  min-width: 0;
  max-width: 100%;
}
main section.layer.single-post .post-content h2,
main section.layer.single-post .post-content h3,
main section.layer.single-post .post-content h4 {
  margin-top: 16px;
}
main section.layer.single-post .post-content img {
  width: 100%;
}
main section.layer.single-post .post-content ul,
main section.layer.single-post .post-content ol {
  padding-left: 24px;
}
main section.layer.single-post .post-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
main section.layer.single-post .post-content pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}
main section.layer.single-post .post-share {
  margin-bottom: 40px;
}
main section.layer.single-post .post-share::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin-bottom: 24px;
  background-color: var(--gold);
}
main section.layer.single-post .post-share .label {
  display: block;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: var(--brown);
}
main section.layer.single-post .post-share .share-links {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
}
main section.layer.single-post .post-share .share-links a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--grey);
  transition: var(--transition);
}
main section.layer.single-post .post-share .share-links a svg {
  width: 18px;
  height: 18px;
}
main section.layer.single-post .post-share .share-links a svg path {
  fill: var(--brown);
  transition: var(--transition);
}
main section.layer.single-post .post-share .share-links a:hover {
  background-color: var(--amber);
}
main section.layer.single-post .post-share .share-links a:hover svg path {
  fill: var(--white);
}
main section.layer .page-tags {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
main section.layer .page-tags .tag {
  display: inline-block;
  background-color: var(--amber);
  color: var(--white);
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--transition);
  cursor: pointer;
}
main section.layer .page-tags .tag:hover {
  background-color: var(--amber-hover);
}
main section.layer .service-list {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 50px;
  flex-wrap: wrap;
  width: 100%;
}
main section.layer .service-list .service-item {
  scroll-margin-top: 140px;
  width: 100%;
  background-color: var(--grey);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  padding: 40px;
}
@media (max-width: 480px) {
  main section.layer .service-list .service-item {
    padding: 40px 20px;
  }
}
main section.layer .service-list .service-item h3 {
  margin-bottom: 12px;
}
main section.layer .service-list .service-item .centro-diurno-indirizzo-row {
  margin: 20px 0;
}
main section.layer .service-list .service-item a.centro-diurno-indirizzo {
  transition: var(--transition);
}
main section.layer .service-list .service-item a.centro-diurno-indirizzo:hover {
  opacity: 0.8;
}
main section.layer .service-list .service-item a.centro-diurno-indirizzo {
  text-decoration: underline;
}
main section.layer .service-list .service-item .chiedi-informazioni {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: var(--amber);
  text-decoration: none;
}
main section.layer .service-list .service-item .chiedi-informazioni .label {
  text-decoration: none;
  transition: var(--transition);
}
main section.layer .service-list .service-item .chiedi-informazioni:hover .label {
  text-decoration: underline;
}
main section.layer .service-list .service-item:target {
  animation: kalipeServiceItemFlash 0.6s ease-in-out 2;
}
main section.layer.team-page .team-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
main section.layer.team-page .team-list:not(:last-child) {
  margin-bottom: 20px;
}
@media (max-width: 1024px) {
  main section.layer.team-page .team-list {
    grid-template-columns: 1fr;
  }
}
main section.layer.team-page .team-list details.team-card {
  width: 100%;
  background-color: var(--grey);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  transition: background-color 0.2s ease;
}
main section.layer.team-page .team-list details.team-card:nth-child(1) {
  order: 1;
}
main section.layer.team-page .team-list details.team-card:nth-child(2) {
  order: 2;
}
main section.layer.team-page .team-list details.team-card:nth-child(3) {
  order: 3;
}
main section.layer.team-page .team-list details.team-card:nth-child(4) {
  order: 4;
}
main section.layer.team-page .team-list details.team-card:nth-child(5) {
  order: 5;
}
main section.layer.team-page .team-list details.team-card:nth-child(6) {
  order: 6;
}
main section.layer.team-page .team-list details.team-card:nth-child(7) {
  order: 7;
}
main section.layer.team-page .team-list details.team-card:nth-child(8) {
  order: 8;
}
main section.layer.team-page .team-list details.team-card:nth-child(9) {
  order: 9;
}
main section.layer.team-page .team-list details.team-card:nth-child(10) {
  order: 10;
}
main section.layer.team-page .team-list details.team-card:nth-child(11) {
  order: 11;
}
main section.layer.team-page .team-list details.team-card:nth-child(12) {
  order: 12;
}
main section.layer.team-page .team-list details.team-card:nth-child(13) {
  order: 13;
}
main section.layer.team-page .team-list details.team-card:nth-child(14) {
  order: 14;
}
main section.layer.team-page .team-list details.team-card:nth-child(15) {
  order: 15;
}
main section.layer.team-page .team-list details.team-card:nth-child(16) {
  order: 16;
}
main section.layer.team-page .team-list details.team-card:nth-child(17) {
  order: 17;
}
main section.layer.team-page .team-list details.team-card:nth-child(18) {
  order: 18;
}
main section.layer.team-page .team-list details.team-card:nth-child(19) {
  order: 19;
}
main section.layer.team-page .team-list details.team-card:nth-child(20) {
  order: 20;
}
main section.layer.team-page .team-list details.team-card:nth-child(21) {
  order: 21;
}
main section.layer.team-page .team-list details.team-card:nth-child(22) {
  order: 22;
}
main section.layer.team-page .team-list details.team-card:nth-child(23) {
  order: 23;
}
main section.layer.team-page .team-list details.team-card:nth-child(24) {
  order: 24;
}
main section.layer.team-page .team-list details.team-card:nth-child(25) {
  order: 25;
}
main section.layer.team-page .team-list details.team-card:nth-child(26) {
  order: 26;
}
main section.layer.team-page .team-list details.team-card:nth-child(27) {
  order: 27;
}
main section.layer.team-page .team-list details.team-card:nth-child(28) {
  order: 28;
}
main section.layer.team-page .team-list details.team-card:nth-child(29) {
  order: 29;
}
main section.layer.team-page .team-list details.team-card:nth-child(30) {
  order: 30;
}
main section.layer.team-page .team-list details.team-card:hover {
  background-color: var(--grey-hover);
}
main section.layer.team-page .team-list details.team-card[open] {
  grid-column: 1/-1;
}
main section.layer.team-page .team-list details.team-card[open] summary .who .avatar {
  width: 160px;
  height: 160px;
}
@media (max-width: 1024px) {
  main section.layer.team-page .team-list details.team-card[open] summary .who .avatar {
    width: 100px;
    height: 100px;
  }
}
main section.layer.team-page .team-list details.team-card summary {
  cursor: pointer;
  list-style: none;
  padding: 30px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
}
@media (max-width: 1024px) {
  main section.layer.team-page .team-list details.team-card summary {
    padding: 16px;
  }
}
main section.layer.team-page .team-list details.team-card summary::-webkit-details-marker {
  display: none;
}
main section.layer.team-page .team-list details.team-card summary::after {
  content: "+";
  flex-shrink: 0;
  font-size: 26px;
  line-height: 1;
  color: var(--amber);
}
main section.layer.team-page .team-list details.team-card summary .who {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 16px;
  flex-wrap: nowrap;
}
main section.layer.team-page .team-list details.team-card summary .who .avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: none;
  flex-shrink: 0;
}
main section.layer.team-page .team-list details.team-card summary .who .who-text {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 4px;
  flex-wrap: wrap;
}
main section.layer.team-page .team-list details.team-card summary .who .name {
  font-weight: 700;
  font-size: 20px;
}
main section.layer.team-page .team-list details.team-card summary .who .role {
  color: var(--amber);
  text-transform: uppercase;
  font-size: 14px;
}
main section.layer.team-page .team-list details.team-card[open] summary::after {
  content: "–";
}
main section.layer.team-page .team-list details.team-card .team-body {
  padding: 0 30px 30px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 1024px) {
  main section.layer.team-page .team-list details.team-card .team-body {
    padding: 0 16px 16px;
  }
}
main section.layer.team-page .team-list details.team-card .team-body a {
  cursor: pointer;
}
main section.layer.team-page .team-list details.team-card .team-body .team-logo {
  display: block;
  max-width: 160px;
  max-height: 100px;
  margin-top: 10px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
}
main section.layer.team-page .team-list details.team-card .team-body .formazione-title {
  font-weight: 700;
}
main section.layer.team-page .team-list details.team-card .team-body ul {
  padding-left: 20px;
}
main section.layer.team-page .collabora-box {
  border-radius: var(--border-radius);
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 16px;
  flex-wrap: wrap;
}
main section.layer.team-page .collabora-box a:not(.cta) {
  color: var(--amber);
  text-decoration: underline;
}
main section.layer.team-page .collabora-box a.cta {
  margin-top: 20px;
}
main section.layer.blog-page .blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100%;
}
@media (max-width: 768px) {
  main section.layer.blog-page .blog-list {
    grid-template-columns: 1fr;
  }
}
main section.layer.blog-page .blog-list .blog-card {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 0;
  flex-wrap: wrap;
  background-color: var(--grey);
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--box-shadow);
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card:hover {
  background-color: var(--amber);
}
main section.layer.blog-page .blog-list .blog-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
  flex-shrink: 0;
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card:hover img {
  transform: scale(1.08);
}
main section.layer.blog-page .blog-list .blog-card .blog-card-body {
  padding: 30px 30px 24px;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  main section.layer.blog-page .blog-list .blog-card .blog-card-body {
    padding: 26px 20px 20px;
  }
}
main section.layer.blog-page .blog-list .blog-card .blog-card-body .date {
  font-size: 14px;
  line-height: 22px;
  font-weight: 700;
  color: var(--brown);
  text-transform: uppercase;
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card .blog-card-body h3 {
  font-size: 30px;
  line-height: 38px;
  color: var(--night);
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card .blog-card-body h3 strong {
  font-weight: inherit;
  color: var(--amber);
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card .blog-card-body p {
  color: var(--brown);
  transition: var(--transition);
}
main section.layer.blog-page .blog-list .blog-card:hover .blog-card-body .date,
main section.layer.blog-page .blog-list .blog-card:hover .blog-card-body h3,
main section.layer.blog-page .blog-list .blog-card:hover .blog-card-body h3 strong,
main section.layer.blog-page .blog-list .blog-card:hover .blog-card-body p {
  color: var(--white);
}
main section.layer.contact-page .contact-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  width: 100%;
}
@media (max-width: 1360px) {
  main section.layer.contact-page .contact-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  main section.layer.contact-page .contact-info-grid {
    grid-template-columns: 1fr;
  }
}
main section.layer.contact-page .contact-info-grid .info-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  transition: var(--transition);
  text-align: center;
  width: 100%;
  background-color: var(--amber);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  padding: 40px;
  text-decoration: none;
}
main section.layer.contact-page .contact-info-grid .info-item:hover {
  background-color: var(--amber-hover);
}
main section.layer.contact-page .contact-info-grid .info-item svg {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 0 5px;
}
main section.layer.contact-page .contact-info-grid .info-item svg path {
  fill: var(--white);
}
main section.layer.contact-page .contact-info-grid .info-item .label {
  text-transform: uppercase;
  font-size: 14px;
  color: var(--cream);
  font-weight: 700;
}
main section.layer.contact-page .contact-info-grid .info-item p {
  color: var(--white);
}
main section.layer.contact-page .map-wrapper {
  width: 100%;
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--box-shadow);
}
main section.layer.contact-page .map-wrapper iframe {
  display: block;
  width: 100%;
  height: 400px;
}

body.single-post main section.layer.simple-hero .hero-wrapper {
  gap: 10px;
}
body.single-post main section.layer.simple-hero .hero-wrapper h2 {
  font-size: 20px;
  line-height: 28px;
}

body.error404 main section.layer.simple-hero {
  min-height: 200px;
  background-color: var(--grey);
}
body.error404 main section.layer.simple-hero .sub-layer {
  padding-top: 40px;
  padding-bottom: 40px;
}

body.error404 main section.layer:not(.simple-hero) .sub-layer {
  gap: 20px;
}
body.error404 main section.layer:not(.simple-hero) .sub-layer a.cta {
  margin-top: 40px;
}

body.single-post main section.layer.simple-hero .hero-wrapper h2 {
  font-size: 16px;
  line-height: 24px;
}

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