@charset "UTF-8";
/*
Theme Name: Consilia
Theme URI: https://mindin.it
Author: Davide Devitofrancesco
Author URI: https://davide.devitofrancesco.it
Description: Tema custom per Consilia.
Requires at least: WordPress 6.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: avatarvr
Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

:root {
  font-size: 15px;
  --border-radius-lg: 2.6rem;
  --border-radius: 1.3rem;
  --border-radius-sm: 0.4rem;
  --border-width: 0.07rem;
  --black: #363636;
  --white: #fff;
  --white-50: rgba(255, 255, 255, 0.5);
  --yellow: #ffeb00;
  --consilia-red: #e8412d;
  --consilia-red-faded: #ffebdb;
  --consilia-neutral: #f0e6d9;
  --gray: #ebebeb;
  --gap: 1.3rem;
  --container-width: 80rem;
  --container-width-sm: 48rem;
  --container-width-md: calc(
    var(--container-width) -
      ((var(--container-width) - var(--container-width-sm)) / 2)
  );
}
:focus-visible {
  outline: none;
}
* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}
body {
  margin: 0;
}
body.header-sticky {
  padding-top: var(--header-height);
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
label,
blockquote,
th,
td,
button {
  font-family: 'Raleway', sans-serif;
  margin: 0;
  line-height: 150%;
  color: var(--black);
}
span {
  color: inherit;
}
h1,
h3 {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
}
.title h1 {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 3.4rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  text-align: center;
  flex: 1 1 100%;
}
h2 {
  font-size: 2.3rem;
  line-height: 2.6rem;
}
.boxed.title h2 {
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 2rem;
  margin-top: var(--gap);
  opacity: 0;
  transition-delay: 6s;
  transition: opacity 1.5s ease-in-out;
}
.boxed.title.loaded h2 {
  opacity: 1;
}
.boxed.title h2.sm {
  margin: 6rem auto 0;
  padding-top: 2rem;
  padding-bottom: 0;
  display: block;
  max-width: var(--container-width);
  text-align: center;
  font-weight: 400;
  font-size: 2.3rem;
}
h3 a {
  text-decoration: none;
  color: inherit;
}
h4 {
  font-weight: 400;
  font-size: 1.4rem;
}
h5 {
  font-size: 1rem;
}
h6 {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2rem;
  color: var(--consilia-red);
}
p,
li,
th,
td,
th {
  font-size: 1.1rem;
}
th {
  font-weight: 700;
}
th,
td {
  text-align: center;
}
a,
button {
  cursor: pointer;
}
.the-post p {
  margin-bottom: 1.6rem;
  line-height: 136%;
}
.the-post p:last-child {
  margin-bottom: 0;
}
.the-post a {
  color: var(--consilia-red);
}
.the-post img {
  margin: 0 auto;
  display: block;
}
.the-post ul {
  padding-left: 1.5rem;
}
.format li {
  margin-top: 1rem;
}
.page-id-42 .format ul {
  list-style: none;
  padding-left: 0;
}
.page-id-42 .format li {
  position: relative;
  padding-left: 2.8rem;
}
.page-id-42 .format li:after {
  content: '';
  width: 2rem;
  height: 2rem;
  position: absolute;
  left: 0;
  top: -0.25rem;
  background-image: url('assets/leaves.png');
}
span.tag {
  background-color: var(--color-accent, var(--consilia-red));
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  align-self: flex-start;
  padding: 0.3rem 1.6rem;
  border-radius: var(--border-radius);
  margin-bottom: 1rem;
}
ul {
  margin: 0;
  padding: 0;
}
img {
  display: block;
  max-width: 100%;
}
.btn,
.forminator-button-submit {
  --color: var(--black);
  --border-color: var(--color);
  --bg-color: transparent;
  border-radius: 5rem;
  padding: 0.5rem 0.8rem 0.4rem 1.2rem;
  background-color: var(--bg-color);
  color: var(--color);
  border: var(--border-width) solid var(--border-color);
  text-decoration: none;
  text-transform: uppercase;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  align-self: flex-start;
  line-height: 110%;
}
.btn.big,
.forminator-button-submit {
  min-height: 4rem;
  padding: 0.5rem 2rem 0.4rem;
  border-radius: 4rem;
  gap: 1.5rem;
  font-size: 1.2rem;
}
.btn.small {
  padding: 0.35rem 0.8rem 0.3rem 1.2rem;
}
.btn:after,
.forminator-button-submit:after {
  content: '\f061';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 1.3rem;
  color: inherit;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.btn.left:after {
  content: '\f060';
}
.loaded,
.loaded:before,
.loaded:after {
  transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out,
    background-position 0.6s ease-in-out, background-image 0.6s ease-in-out;
}

.boxed {
  padding: 0 1rem;
  width: 100%;
  max-width: var(--container-width);
  margin: var(--gap) auto 0;
  display: flex;
  align-items: stretch;
  gap: var(--gap);
  flex-wrap: wrap;
}
.boxed.sm {
  max-width: var(--container-width-sm);
}
.bg {
  --bg-color: transparent;
  --bg-img: none;
  background-color: var(--bg-color);
  background-image: var(--bg-img);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  position: relative;
}

header.boxed {
  row-gap: 0;
  margin: 0 auto;
  padding-bottom: 0.5rem;
}
.header-sticky header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(calc(-100% - 0.3rem));
  z-index: 99999;
  background-color: var(--white);
}
.header-sticky.header-animated header {
  transition: transform 0.4s ease-in-out;
}
.header-sticky header:before {
  content: '';
  background-color: var(--white);
  position: absolute;
  width: 200vw;
  height: 100%;
  left: -50vw;
  z-index: -1;
}
.header-sticky.scrolling-up header {
  transform: translateY(0%);
}
header nav {
  flex: 1 1 100%;
  margin: 0.8rem 0 1rem;
}
header nav ul {
  list-style: none;
}
header nav,
header nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  position: relative;
}
header nav a {
  font-size: 0.9rem;
  margin: 0 0.65rem;
  text-decoration: none;
  border-radius: var(--border-radius-sm);
  display: block;
  text-align: center;
  position: relative;
  padding: 0.5rem 0;
}
header nav a.social-platform {
  font-size: 1.2rem;
  margin: 0 0.35rem;
}
header nav a.social-platform:last-child {
  margin-right: 0;
}
header .menu > .current-menu-item > a:after,
header .menu > .current-menu-ancestor > a:after {
  content: '';
  position: absolute;
  width: 90%;
  left: 5%;
  top: 85%;
  height: 0.2rem;
  background-color: var(--black);
  opacity: 0.65;
}
header nav li {
  position: relative;
}
header nav .sub-menu {
  display: none;
  position: absolute;
  background-color: var(--consilia-red-faded);
  border-radius: var(--border-radius-sm);
  flex-direction: column;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 600px) {
  header nav a:hover + .sub-menu,
  header nav a + .sub-menu:hover {
    display: flex;
  }
}
header nav .sub-menu:before {
  content: '';
  position: absolute;
  border: transparent solid 0.5rem;
  border-bottom-color: var(--consilia-red-faded);
  top: -0.9rem;
  left: calc(50% - 0.5rem);
}
header nav .sub-menu a {
  padding: 0.5rem 1rem;
  margin: 0;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}
header nav img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
  object-position: center;
}
header .logo {
  flex: 1 1 12%;
  display: flex;
  justify-content: center;
  cursor: pointer;
}
header .logo img {
  max-width: 11rem;
}
header .banner {
  flex: 1 1 46%;
}
header .banner a {
  display: none;
  justify-content: flex-end;
  align-items: flex-end;
  text-decoration: none;
  gap: 0.7rem;
  color: var(--black);
}
.home header .banner a {
  display: flex;
}
header .banner h6 {
  text-align: right;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5rem;
  color: inherit;
}

section {
  --bg-color: white;
  --arrow-top: 100%;
  --arrow-left: 50%;
  --arrow-rotate: 0deg;
  --arrow-bg-color: var(--bg-color);
  border-radius: var(--border-radius);
  background-color: var(--bg-color);
  position: relative;
  max-width: 100%;
  flex: 1 1 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.info-boxes section {
  flex: 1 1 30%;
}
section .content {
  border-radius: inherit;
  padding: 3rem 2.6rem;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: stretch;
  width: 100%;
}

section .arrow {
  position: absolute;
  top: var(--arrow-top);
  left: var(--arrow-left);
  transform-origin: top center;
  transform: translateX(-50%) rotate(var(--arrow-rotate));
  width: 2.9rem;
  height: 1.1rem;
}
section .big.arrow {
  width: 7.3rem;
  height: 4rem;
}
section .arrow path {
  fill: var(--arrow-bg-color);
}

#store {
  flex: 1 1 12%;
  border-width: 0;
}
#store .content {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: stretch;
  gap: 0.5rem;
  padding: 1.6rem;
}
#store-finder {
  border: var(--yellow) solid var(--border-width);
  border-radius: var(--border-radius);
  padding: 1.8rem 1.5rem 1.8rem 1.8rem;
  min-height: 9rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  position: relative;
  margin-top: 1rem;
  width: 100%;
}
#store-finder svg {
  position: absolute;
  width: 1.1rem;
  height: 1.1rem;
  top: calc(100% - var(--border-width));
  right: 1.5rem;
}
#store-finder svg path {
  fill: var(--consilia-red);
  stroke: var(--yellow);
  stroke-width: var(--border-width);
}
#store-finder p {
  color: var(--white);
  text-align: left !important;
  line-height: 110%;
}
#store-finder p + p {
  margin-top: 0.4rem;
}
#store-finder p.title,
#store-finder p.title a {
  color: var(--yellow);
  font-weight: 700;
  text-decoration: none;
}
#store-finder > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#store-finder > div:after {
  content: '';
  background-image: url('./assets/lets-go.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2.4rem;
  flex: 0 0 2.4rem;
  height: 2.4rem;
  margin-left: 0.5rem;
}
#store h1,
#store p {
  text-align: center;
}
#store .footer {
  background-image: url('assets/pin-center.png');
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  display: block;
  margin-top: 0.5rem;
  margin-right: -1.6rem;
  min-height: 2.3rem;
}
#store .footer a {
  color: var(--yellow);
  font-weight: 700;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.1rem;
}
#hero {
  flex: 1 1 46%;
}
#hero .content {
  display: flex;
  align-items: center;
}
#hero .discount {
  flex: 0 0 16rem;
  display: flex;
  justify-content: center;
  align-items: baseline;
  align-items: last baseline;
  font-family: 'Raleway', sans-serif;
  color: var(--white);
  font-size: 10rem;
  line-height: 10rem;
  font-weight: 800;
  letter-spacing: -0.4rem;
}
#hero .discount:before {
  content: '-';
  font-size: 5rem;
}
#hero .discount:after {
  content: '%';
  font-size: 4rem;
}
#hero .content > svg,
#coupon .content > svg {
  width: 1rem;
  height: 100%;
  flex: 1 0 1rem;
  margin: 0 1rem 0 2rem;
}
#hero .content > svg path,
#coupon .content > svg path {
  stroke: var(--white);
  stroke-width: var(--border-width);
}
#coupon .content > svg {
  height: calc(100% - 4rem);
  align-self: center;
}
#review {
  flex: 1 1 45%;
  border-width: 0;
}
#review h1 span {
  font-weight: 400;
  font-size: 1.1rem;
  font-style: italic;
}
#review .the-review {
  --border-color: var(--white);
  position: relative;
  border-radius: 1rem;
  border: var(--border-color) solid var(--border-width);
  padding: 2rem 1rem;
  margin-top: 1rem;
  width: 100%;
}
#review .the-review svg {
  position: absolute;
  left: calc(100% - 0.1rem);
  top: calc(50% - 1.5rem);
  width: 1rem;
  height: 3rem;
}
#review .the-review svg path {
  stroke: var(--border-color);
  stroke-width: var(--border-width);
  fill: var(--bg-color);
}
#review .the-review h4 {
  font-size: 1.1rem;
  line-height: 1.4rem;
  font-style: italic;
  color: var(--white);
  text-align: center;
}

#coupon {
  flex: 1 1 45%;
  border-width: 0;
}
#coupon .content,
#review .content {
  padding: 0;
}
#coupon .col,
#review .col {
  padding: 2rem 2.5rem;
  position: relative;
  justify-content: center;
}
#coupon .col {
  padding-right: 0;
}
#coupon .bg,
#review .bg {
  flex: 0 0 33%;
}
#coupon .bg {
  background-size: contain;
  margin-right: 1rem;
}
/*
SILOUETTE COUPON

#coupon .col:after {
  content: '';
  position: absolute;
  left: calc(100% - .25rem);
  top: 0;
  bottom: 0;
  border-left: var(--white) dotted .5rem;
  z-index: 2;
}
#coupon .bg:before, #coupon .bg:after {
  content: '';
  position: absolute;
  left: -1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  background-color: var(--white);
}
#coupon .bg:before {
  top: -1rem;
}
#coupon .bg:after {
  bottom: -1rem;
}
*/
#reviews {
  margin: 8rem 0;
}
#reviews .content {
  padding: 0;
  overflow: visible;
}
.splide__arrow {
  background-color: var(--bg-color);
  width: 3.4rem;
  height: 3.4rem;
  border: var(--border-width) solid var(--border-color);
  opacity: 1;
  z-index: 0;
}
.splide__arrow:before {
  content: '';
  position: absolute;
  top: calc(0% - var(--border-width));
  right: calc(0% - var(--border-width));
  bottom: calc(0% - var(--border-width));
  left: calc(0% - var(--border-width));
  background-color: var(--bg-color);
  z-index: 1;
}
.splide__arrow--prev {
  left: -1.7rem;
}
.splide__arrow--prev:before {
  left: calc(50% + var(--border-width) / 2);
}
.splide__arrow--next {
  right: -1.7rem;
}
.splide__arrow--next:before {
  right: calc(50% + var(--border-width) / 2);
}
.splide__arrow svg {
  fill: var(--border-color);
  z-index: 2;
}
.splide__arrow--prev svg {
  margin-right: 0.5rem;
}
.splide__arrow--next svg {
  margin-left: 0.5rem;
}
.review {
  padding: 2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}
.review .header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.review .header img {
  width: 6rem;
  height: 6rem;
  border-radius: 6rem;
}

#content .content {
  text-align: center;
  padding: 3rem 15%;
}
#content .content p:not(:last-child) {
  margin-bottom: 1rem;
}

/* HEADER */

.header .content {
  min-height: 34.5rem;
  justify-content: center;
}
.header h1 {
  font-size: 3.2rem;
  font-weight: 400;
}
.header h1,
.header h3 {
  --color-text: var(--white);
  color: var(--color-text);
  text-align: center;
}

/* HEADER SMALL */

.header.with-text .content {
  min-height: auto;
}

/* IMAGE */

.boxed.image {
  display: block;
  margin-top: 6.3rem;
}
.image > img {
  width: 100%;
  border-radius: var(--border-radius);
}

/* LAST BANNER */

.last-banner {
  margin-top: 8rem;
  opacity: 0;
}
.last-banner.loaded {
  opacity: 1;
}
.double + .last-banner {
  margin-top: 5.3rem;
}
.last-banner section {
  border-radius: var(--border-radius-lg);
}
.last-banner .content {
  padding: 0;
}
.last-banner .content a,
.last-banner .col {
  flex: 1 1 50%;
  width: 50%;
}
.last-banner .content a.btn {
  width: auto;
}
.last-banner .bg {
  transform-origin: right;
  transition: transform 1s ease-in-out;
}
@media screen and (hover: hover) {
  .last-banner:hover .bg {
    transform: scale(1.1);
  }
}

/* INFO BOXES WITH POPUP */

.info-boxes-wrapper {
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0;
  opacity: 0;
}
.info-boxes-wrapper.loaded {
  opacity: 1;
}
.info-boxes-wrapper .title {
  margin-top: 3rem;
}
.info-boxes-wrapper .title h1 {
  margin-bottom: 0;
}
.info-boxes-wrapper .image {
  margin-top: 2.5rem;
}
.info-boxes-wrapper .the-content {
  margin-top: 4rem;
}
.info-boxes-wrapper .the-content p {
  font-size: 1.1rem;
}
.info-boxes-wrapper .info-boxes {
  margin-top: 4.5rem;
}
.info-boxes-wrapper .button {
  margin-top: 5.4rem;
}
.info-boxes {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.2rem 16%;
  max-width: var(--container-width-md);
}
.info-box {
  --color: var(--consilia-red);
  flex: 0 0 22%;
}
.info-box button {
  appearance: none;
  background-color: transparent;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
  font-size: 1.1rem;
  text-align: left;
}
.info-box button div {
  display: flex;
  flex-direction: column;
  gap: 0.67rem;
  align-items: center;
  margin-top: -0.5rem;
}
.info-box button div i {
  --size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  font-size: 1rem;
  width: var(--size);
  height: var(--size);
  border-radius: 100%;
  border: 0.15rem solid var(--black);
}
.info-box button div:after {
  content: '';
  background-color: var(--color);
  width: 0.67rem;
  height: 1.7rem;
  border-radius: 0.35rem;
  transition: transform 0.25s ease-in;
}
@media screen and (hover: hover) {
  .info-box button:hover div:after {
    transform: scaleY(0);
  }
}
.info-box > div {
  display: none;
  z-index: -100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.info-boxes + .popup {
  display: none;
  position: fixed;
  top: max(20vh, 150px);
  max-height: 70vh;
  overflow: auto;
  padding: 4rem 8rem;
  width: 45rem;
  left: calc(50% - (45rem / 2));
  background-color: var(--gray);
  border-radius: var(--border-radius);
  flex-direction: column;
  box-shadow: 0px 1.6rem 2rem #00000034;
  gap: var(--gap);
  z-index: -2;
}
.info-boxes + .popup.open {
  display: flex;
  z-index: 999;
}
.info-boxes + .popup h4 {
  font-weight: 700;
  display: flex;
  align-items: stretch;
  gap: 0.9rem;
}
.info-boxes + .popup h4:before {
  content: '';
  background-color: var(--color);
  width: 0.67rem;
  flex: 0 0 0.67rem;
  border-radius: 0.35rem;
  margin: 0.5rem 0 0.4rem;
}
.info-boxes + .popup button {
  appearance: none;
  background-color: transparent;
  border: 0;
  padding: 0;
  position: absolute;
  top: 2rem;
  right: 2rem;
}
.info-boxes + .popup button i {
  --size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--black);
  font-size: 1.15rem;
  width: var(--size);
  height: var(--size);
  border-radius: 100%;
  border: 0.15rem solid var(--black);
}
/* SMALL BOXES */

.small-boxes-container {
  margin-top: 3rem;
}
.small-boxes {
  --color-bg: transparent;
  --bg-image: none;
  background-color: var(--color-bg);
  position: relative;
  background-image: var(--bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: 0;
}
.small-boxes h2 {
  margin: 0 auto;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: block;
  max-width: var(--container-width);
  text-align: center;
  font-weight: 400;
}
.small-boxes .bg {
  height: auto;
  top: 0;
  left: 0;
  right: 0;
}
.small-boxes .boxed {
  margin-top: 0;
  padding-top: 2.6rem;
  padding-bottom: 2.6rem;
  justify-content: center;
  align-items: flex-start;
  gap: var(--gap);
  flex-direction: row;
}
.small-boxes .boxed.thight {
  padding-left: 5rem;
  padding-right: 5rem;
}
.box {
  border-radius: var(--border-radius);
  background-color: var(--color-fg);
  padding: 4rem 5.6rem 3rem 2.6rem;
  width: 100%;
  flex: 0 0 23rem;
  z-index: 1;
  background-image: var(--bg-img);
  background-position: calc(100% - 1rem) 1rem;
  background-size: 25%;
  background-repeat: no-repeat;
  transform: translateY(100vh);
  min-height: 22rem;
}

/* TEXT */

.text {
  margin-top: 7.6rem;
  max-width: var(--container-width-sm);
}
.text h2 {
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 2rem;
}
.text img {
  width: 100%;
  margin: 3rem 0;
  border-radius: var(--border-radius);
}
.text blockquote {
  background-color: #ddf4fa;
  border-radius: var(--border-radius);
  padding: 1.5rem;
  position: relative;
  margin: 3rem 0;
}
.text blockquote:before {
  content: '';
  position: absolute;
  top: 100%;
  left: calc(50% - 0.375rem);
  border: transparent solid 0.75rem;
  border-top-color: #ddf4fa;
}
.text blockquote p {
  font-weight: 700;
  font-style: italic;
}

footer {
  background-color: var(--black);
  border-radius: var(--border-radius);
  flex: 1 1 100%;
  padding: 1.8rem;
  margin: 6rem 0 var(--gap);
}
footer > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  gap: var(--gap);
}
footer .policies {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--gap);
}
footer p,
footer a {
  color: var(--white);
  font-size: 0.9rem;
}

/* CROSSLINKS */

.crosslinks {
  gap: 4rem;
  margin-top: 6.6rem;
}
.crosslink {
  flex: 1 1 20%;
  border-width: 0;
}
.crosslink .content {
  flex-direction: column;
  padding: 0;
}
.crosslink .bg {
  height: 14rem;
  transform-origin: bottom;
  transition: transform 1s ease-in-out;
}
.crosslink a:hover .bg {
  transform: scale(1.1);
}
.crosslink .col {
  padding: 1.5rem 1.2rem;
  height: auto;
  flex: 1 1 50%;
}
.crosslink .the-post {
  margin-bottom: 0.5rem;
}
.crosslink a {
  text-decoration: none;
  display: flex;
  height: 100%;
  flex-direction: column;
}
.crosslink .col .btn {
  margin-top: auto;
  align-self: flex-end;
  border-width: 0;
  padding: 0;
}
.crosslink .btn:after {
  font-size: 1.3rem;
}
.crosslink svg {
  position: absolute;
  top: 100%;
  left: calc(50% - 5.8rem / 2);
  height: 2.5rem;
  width: 5.8rem;
}
.crosslink svg path {
  fill: var(--bg-color);
}

/* WIDE */

.wide {
  --img-bg-left: none;
  --img-bg-right: none;
  --color-bg: transparent;
  background-color: var(--color-bg);
  min-height: 38rem;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  margin-top: 8rem;
}
.wide:before,
.wide:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.wide:before {
  background-image: var(--img-bg-right);
  left: 50%;
  background-position: 15% center;
  right: 0;
  transform: translateX(3.4rem);
  opacity: 0;
}
.wide:after {
  background-image: var(--img-bg-left);
  width: calc(50% - var(--container-width-sm) / 2);
  background-position: right center;
  left: 0;
  transform: translateX(-3.4rem);
  opacity: 0;
}
.wide.loaded:before,
.wide.loaded:after {
  transform: translateX(0);
  opacity: 1;
}
.wide .boxed {
  max-width: var(--container-width-sm);
  margin-top: 0;
}
.wide .col {
  max-width: 50%;
}

.col {
  --color-text: var(--black);
  --color-accent: var(--black);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.col.large-padding {
  padding: 7.5rem 6.5rem;
}
.col.medium-padding {
  padding: 5.3rem;
}
.col.small-padding {
  padding: 5.3rem 4rem;
}
.col .the-post {
  margin-top: 0.5rem;
}
.col .btn {
  margin-top: 1.3rem;
}
.col h1,
.col h3 {
  color: var(--color-accent, var(--black));
}
.col p {
  color: var(--color-text, var(--black));
}
.col .btn {
  border-color: var(--color-accent);
  color: var(--color-accent);
}
.col .accent-title {
  font-size: 1.6rem;
  font-weight: 400;
}
.col .accent-title strong {
  font-weight: 400;
  font-size: 5rem;
  line-height: 4rem;
}

/* INFO BOX */

.info-boxes .col {
  gap: 1.4rem;
}
.info-boxes .col .the-post {
  margin-top: auto;
}

/* SLIDES */

.slides {
  --color-bg: transparent;
  background-color: var(--color-bg);
  display: flex;
  justify-content: center;
  align-items: stretch;
  min-height: 38.5rem;
  margin: 6.3rem auto 0;
}
.slides div {
  max-width: 100%;
}
.slides .splide__slide {
  display: flex;
  align-items: stretch;
}
.slides .bgs,
.slides .texts {
  width: 50%;
  flex: 0 0 50%;
}
.slides .bgs {
  display: flex;
  align-items: stretch;
  opacity: 0;
}
.slides .bgs.loaded {
  opacity: 1;
}
.slides .bgs .splide__track {
  width: 100%;
}
.slides .bg {
  width: 100%;
}
.slides .col {
  justify-content: center;
}
.slides .col h3 {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 400;
}
.slides .col .the-post {
  margin-top: 1.4rem;
}
.slides .controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--gap);
  width: 100%;
  margin-top: auto;
}
.slides .splide__slide:first-child .controls .left,
.slides .splide__slide:last-child .controls .right {
  opacity: 0.2;
  cursor: default;
}
.slides .splide__pagination {
  justify-content: flex-start;
  left: 6.5rem;
  padding-left: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .slides .splide__pagination {
    left: 4rem;
  }
}
.splide__pagination {
  bottom: 1.6rem;
  padding: 0 1.6rem;
}
.splide__pagination button {
  opacity: 1;
  background: transparent;
  border: var(--black) solid var(--border-width);
  width: 0.9rem;
  height: 0.9rem;
}
.splide__pagination button.is-active {
  background: var(--black);
  transform: none;
}

/* THE CONTENT */

.the-content {
  max-width: var(--container-width-sm);
}
.header.with-text + .the-content {
  margin-top: 5rem;
}
.the-content .the-post {
  width: 100%;
}
.the-content p,
.the-content label {
  font-size: 1.4rem;
}

/* DOUBLE */

.double {
  margin-top: 6rem;
  opacity: 0;
}
.home header + .boxed + double {
  margin-top: var(--gap);
}
.home header + .boxed + double section {
  border-radius: var(--border-radius);
}
.double.loaded {
  opacity: 1;
}
.double.sm {
  position: relative;
  z-index: 2;
}
.double.sm,
.double.recipes-cartel,
.home .double {
  opacity: 1;
}
.double + .double {
  margin-top: 5.3rem;
}
.double section {
  border-radius: var(--border-radius-lg);
  min-height: 26rem;
}
.double .content {
  padding: 0;
  display: flex;
  align-items: stretch;
  width: 100%;
}
body:not(.home) double:nth-of-type(even):not(.recipes-cartel) .content {
  flex-direction: row-reverse;
}
.double .content > div {
  flex: 1 1 50%;
  width: 50%;
  height: auto;
}
.double .col {
  justify-content: center;
  position: relative;
  align-items: stretch;
}
.double .col svg {
  position: absolute;
  right: calc(100% - 1px);
  top: calc(50% - 5.8rem / 2);
  height: 5.8rem;
  width: 2.5rem;
}
.double.sm .col svg {
  display: none;
}
body:not(.home) double:nth-of-type(even):not(.recipes-cartel) .col svg {
  left: calc(100% - 1px);
  transform: rotate(180deg);
}
.double .col svg path {
  fill: var(--color-bg);
}
.cartel {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: var(--gap);
  margin-top: 2rem;
}
.cartel p {
  font-size: 1rem;
}
.banner-sm + .recipes-cartel {
  margin-top: -0.5rem;
}
.recipes-cartel h3 {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 400;
}
.recipes-cartel .bg {
  opacity: 0;
  transform-origin: right;
  transition: transform 1s ease-in-out, opacity 0.6s ease-in-out;
}
.recipes-cartel .bg.loaded {
  opacity: 1;
}
@media screen and (hover: hover) {
  .recipes-cartel:hover .bg {
    transform: scale(1.1);
  }
}

.deal .banner {
  position: absolute;
  top: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
  width: auto !important;
  z-index: 999;
  background-color: var(--consilia-red);
  color: var(--white);
  font-size: 1.4rem;
  padding: 0.2rem 1.8rem;
  border-radius: var(--border-radius-sm);
  max-width: 90%;
}

/* YOUTUBE */

.youtube-player {
  max-width: 60%;
  height: 100%;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .youtube-player {
    max-width: 100%;
  }
}

/* DOUBLE WIDE */

.double-wide {
  --color-bg: transparent;
  background-color: var(--color-bg);
  display: flex;
  align-items: stretch;
  margin-top: 6.3rem;
}
.double-wide .bg,
.double-wide .col {
  flex: 1 1 50%;
  width: 50%;
  height: auto;
}
.double-wide .bg {
  opacity: 0;
}
.double-wide .bg.loaded {
  opacity: 1;
}
.double-wide .col {
  width: calc(var(--container-width) / 2);
  justify-content: center;
  position: relative;
}
.double-wide .col svg {
  position: absolute;
  right: 100%;
  top: calc(50% - 5.8rem / 2);
  height: 5.8rem;
  width: 2.5rem;
}
.double-wide .col svg path {
  fill: var(--color-bg);
}
.double-wide .col h3 {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 400;
}
.double-wide .col .the-post {
  margin-top: 1.4rem;
}

/* BANNER SM */

.banner-sm {
  --color-fg: transparent;
  margin-top: 6.3rem;
  z-index: 9;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.double-wide + .banner-sm,
.double + .banner-sm {
  margin-top: -2rem;
}
.double-wide + .banner-sm.point-up,
.double + .banner-sm.point-up {
  margin-top: 1rem;
}
.banner-sm .the-post {
  background-color: var(--color-fg);
  max-width: var(--container-width-md);
  border-radius: var(--border-radius-lg);
  padding: 1.4rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner-sm .the-post p {
  color: var(--color-text);
  font-size: 2rem;
}
.banner-sm .the-post img {
  display: inline;
  vertical-align: middle;
}
.banner-sm svg {
  position: absolute;
  top: calc(100% - var(--border-width));
  left: calc(50% - 5.8rem / 2);
  height: 2.5rem;
  width: 5.8rem;
}
.banner-sm.point-up svg {
  top: auto;
  bottom: calc(100% - 1px);
  transform: rotate(180deg);
}
.banner-sm svg path {
  fill: var(--color-fg);
}

/* RECIPES */

.recipes-filters {
  justify-content: center;
  margin-top: 8rem;
  margin-bottom: 6rem;
  gap: 4rem;
}
.recipes-filters .course {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  gap: 0.2rem;
  text-decoration: none;
}
.recipes-filters .course img {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  object-position: center;
}
.recipes-filters .course p {
  font-style: italic;
  padding: 0.1rem 0.5rem 0.2rem;
  border-radius: var(--border-radius-sm);
}
.recipes-filters .course.is-active p {
  background-color: #76baeb;
  color: var(--white);
}
.recipes {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--gap);
  position: relative;
  padding-bottom: calc(4rem + var(--gap));
}
.recipes.loading:before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 4rem;
  height: 4rem;
  border: 0.25rem solid #76baeb;
  border-right-color: var(--white);
  border-radius: 4rem;
  animation-name: rotation;
  animation-duration: 1.2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.recipe-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  flex: 1 1 58%;
  min-height: 23.3rem;
  border-radius: var(--border-radius);
  position: relative;
  overflow: hidden;
}
.recipe-list-item:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 1;
}
.recipe-list-item:nth-child(4n + 2),
.recipe-list-item:nth-child(4n + 3) {
  flex: 1 1 40%;
}
.recipe-list-item .bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: transform 1s ease-in-out;
  will-change: transform;
}
@media screen and (hover: hover) {
  .recipe-list-item:hover .bg {
    transform: scale(1.2);
  }
}
.recipe-list-item h3 {
  color: var(--white);
  font-size: 2.3rem;
  z-index: 2;
  text-align: center;
}
.recipe-list-item .btn {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 2;
}

.single-ricetta .boxed.sm {
  margin-top: 2.5rem;
}
.single-ricetta .title {
  justify-content: center;
  max-width: var(--container-width-sm);
}
.single-ricetta h3 {
  text-align: center;
}
.time .content {
  padding: 2.1rem;
  justify-content: center;
}
.time p {
  font-size: 1.3rem;
  font-style: italic;
  text-align: center;
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
}
.time p span {
  font-size: 4rem;
  padding: 0 0.5rem 0.5rem;
}

.ingredients {
  background-size: 20%;
  background-position: calc(100% - 4rem) center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='126' height='101' viewBox='0 0 126 101' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_50_49)'%3E%3Cpath d='M44.409 18.167V2.01901C44.403 1.75016 44.4508 1.48281 44.5496 1.23268C44.6483 0.982549 44.796 0.754664 44.9841 0.562404C45.1721 0.370145 45.3966 0.217385 45.6445 0.113093C45.8924 0.00880107 46.1586 -0.0449219 46.4275 -0.0449219C46.6964 -0.0449219 46.9626 0.00880107 47.2105 0.113093C47.4584 0.217385 47.6829 0.370145 47.871 0.562404C48.059 0.754664 48.2067 0.982549 48.3055 1.23268C48.4042 1.48281 48.452 1.75016 48.446 2.01901V18.167C48.452 18.4359 48.4042 18.7032 48.3055 18.9533C48.2067 19.2035 48.059 19.4314 47.871 19.6236C47.6829 19.8159 47.4584 19.9686 47.2105 20.0729C46.9626 20.1772 46.6964 20.2309 46.4275 20.2309C46.1586 20.2309 45.8924 20.1772 45.6445 20.0729C45.3966 19.9686 45.1721 19.8159 44.9841 19.6236C44.796 19.4314 44.6483 19.2035 44.5496 18.9533C44.4508 18.7032 44.403 18.4359 44.409 18.167ZM62.576 20.186C63.1115 20.186 63.625 19.9733 64.0037 19.5947C64.3823 19.216 64.595 18.7025 64.595 18.167V2.01901C64.5833 1.49145 64.3655 0.989451 63.9882 0.620492C63.6109 0.251534 63.1042 0.044939 62.5765 0.044939C62.0488 0.044939 61.5421 0.251534 61.1648 0.620492C60.7876 0.989451 60.5698 1.49145 60.558 2.01901V18.167C60.558 18.7023 60.7706 19.2157 61.149 19.5943C61.5274 19.9729 62.0407 20.1857 62.576 20.186ZM78.725 20.186C79.2605 20.186 79.774 19.9733 80.1527 19.5947C80.5313 19.216 80.744 18.7025 80.744 18.167V2.01901C80.75 1.75016 80.7022 1.48281 80.6035 1.23268C80.5047 0.982549 80.357 0.754664 80.169 0.562404C79.9809 0.370145 79.7564 0.217385 79.5085 0.113093C79.2607 0.00880107 78.9944 -0.0449219 78.7255 -0.0449219C78.4566 -0.0449219 78.1904 0.00880107 77.9425 0.113093C77.6946 0.217385 77.4701 0.370145 77.2821 0.562404C77.094 0.754664 76.9463 0.982549 76.8476 1.23268C76.7488 1.48281 76.701 1.75016 76.707 2.01901V18.167C76.707 18.7021 76.9195 19.2154 77.2977 19.594C77.6759 19.9725 78.1899 20.1855 78.725 20.186ZM124.345 44.005L109.003 55.511V86.798C108.99 90.5415 107.497 94.1278 104.85 96.7749C102.203 99.4219 98.6165 100.915 94.873 100.928H30.279C26.5357 100.915 22.9496 99.4215 20.3028 96.7745C17.656 94.1275 16.1632 90.5413 16.15 86.798V55.511L0.808021 44.005C0.391574 43.6796 0.119332 43.2039 0.0497484 42.6799C-0.0198354 42.156 0.118787 41.6257 0.435853 41.2029C0.752918 40.78 1.22314 40.4984 1.74557 40.4184C2.26799 40.3384 2.80095 40.4664 3.23002 40.775L16.15 50.464V38.35C16.15 36.7439 16.7881 35.2035 17.9238 34.0678C19.0595 32.932 20.5999 32.294 22.206 32.294H102.95C104.556 32.294 106.097 32.932 107.232 34.0678C108.368 35.2035 109.006 36.7439 109.006 38.35V50.464L121.925 40.775C122.137 40.6097 122.379 40.4882 122.638 40.4177C122.897 40.3472 123.168 40.3291 123.434 40.3645C123.7 40.3998 123.957 40.4879 124.188 40.6236C124.42 40.7593 124.622 40.9398 124.783 41.1547C124.945 41.3695 125.061 41.6143 125.127 41.8748C125.192 42.1352 125.205 42.4061 125.164 42.6715C125.123 42.9369 125.03 43.1916 124.89 43.4206C124.75 43.6495 124.565 43.8482 124.347 44.005H124.345ZM104.966 38.35C104.966 37.8145 104.753 37.301 104.375 36.9224C103.996 36.5437 103.482 36.331 102.947 36.331H22.204C21.6687 36.3313 21.1554 36.5441 20.777 36.9227C20.3986 37.3013 20.186 37.8147 20.186 38.35V86.798C20.1992 89.4708 21.2668 92.0303 23.1567 93.9203C25.0467 95.8103 27.6062 96.8779 30.279 96.891H94.873C97.5458 96.8779 100.105 95.8103 101.995 93.9203C103.885 92.0303 104.953 89.4708 104.966 86.798V38.35Z' fill='%2376BAEB'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_50_49'%3E%3Crect width='125.151' height='100.928' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  border: var(--border-color) solid calc(var(--border-width) * 3);
}
.ingredients .content {
  padding: 3rem 14rem 3rem 4rem;
}
.ingredients li {
  font-size: 1.3rem;
}

.single-ricetta .btn {
  margin: 3rem auto 0;
}

/* PROMO */

.promo .content {
  padding: 0;
  min-height: 34.5rem;
}
.promo .splide {
  width: 100%;
}
.promo .splide__track {
  height: 100%;
}
.promo div {
  max-width: 100%;
}
.promo .splide__slide {
  --color-bg: var(--consilia-red);
  background-color: var(--color-bg);
  display: flex;
  align-items: stretch;
}
.promo .bg,
.promo .bg + div {
  flex: 1 1 50%;
  width: 50%;
  height: auto;
}
.promo .bg {
  background-size: contain;
  margin: 1rem;
}
.promo .bg + div {
  padding: 2.3rem 5.3rem 4.3rem 0;
}
.promo .col {
  justify-content: center;
}
.promo h4 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--white);
}
.promo h3 {
  font-size: 2.1rem;
  line-height: 2.4rem;
  font-weight: 200;
  margin: 1.4rem 0 2rem;
}
.promo .price {
  font-size: 2.9rem;
  font-weight: 200;
  margin: 1.2rem 0 0.8rem;
}
.promo .price span {
  font-size: 6.6rem;
  font-weight: 700;
}
.promo .store {
  width: 17.5rem;
  margin-top: 2rem;
  padding-top: 0.5rem;
  border-top: var(--white) solid var(--border-width);
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.promo .store .title {
  font-weight: 700;
}
.promo .store:after {
  content: '';
  background-image: url('./assets/lets-go-white.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2.4rem;
  flex: 0 0 2.4rem;
  height: 2.4rem;
  margin-left: 0.5rem;
}

/* TABS */
.tabs-selector {
  justify-content: center;
  margin-top: 6rem;
  position: sticky;
  top: 0.5rem;
  transition: top 0.4s ease-in-out;
  z-index: 10000;
}
.header-sticky.scrolling-up .tabs-selector {
  top: calc(var(--header-height) + 1rem);
}
.tabs-selector-inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tabs-button {
  flex: 1 1 18rem;
  min-width: 14rem;
  padding: 0.5rem;
  text-align: center;
  color: #d9c0a1;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  border: var(--consilia-neutral) solid calc(var(--border-width) * 3);
  border-left-width: 0;
  border-right-width: 0;
  border-radius: var(--border-radius);
  position: relative;
  background-color: var(--white);
}
.tabs-button:first-child {
  border-radius: var(--border-radius) 0 0 var(--border-radius);
  border-left-width: calc(var(--border-width) * 3);
}
.tabs-button:last-child {
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  border-right-width: calc(var(--border-width) * 3);
}
.tabs-button.is-active {
  background-color: var(--consilia-neutral);
  color: var(--black);
  transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
}
.tabs-button svg {
  position: absolute;
  top: 100%;
  left: calc(50% - 5.8rem / 2);
  height: 2.5rem;
  width: 5.8rem;
}
.tabs-button.is-active svg path {
  fill: var(--consilia-neutral);
  transition: fill 0.4s ease-in-out;
}
.tabs-content {
  display: none;
}
.tabs-content.is-active {
  display: block;
}

/* BUTTON */

.button {
  margin-top: 6.6rem;
  justify-content: center;
}

/* ARTICOLI */

.articles {
  display: flex;
  gap: var(--gap);
  margin-top: calc(var(--gap) * 2);
}
.double + .articles {
  margin-top: 6rem;
}
article.list-item {
  flex: 0 0 calc((100% - var(--gap) - var(--gap)) / 3);
  display: flex;
  flex-direction: column;
  background-color: var(--consilia-neutral);
  border: var(--consilia-neutral) solid var(--border-width);
  border-radius: var(--border-radius);
  min-height: 23rem;
}
article.list-item .col {
  padding: 2rem 1.4rem 1.3rem;
  align-items: stretch;
  height: auto;
  flex-grow: 1;
}
article.list-item.advise h3 {
  font-weight: 400;
  margin-bottom: 1.6rem;
}
article.list-item.advise h3:nth-child(2) {
  color: var(--consilia-red);
  text-transform: uppercase;
  font-weight: 700;
}
article.list-item > img {
  height: 14rem;
  object-fit: cover;
  width: 100%;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  position: relative;
}
.archive .double .content {
  border: var(--consilia-neutral) solid var(--border-width);
}
.meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
.meta .btn {
  padding: 0.4rem 0.6rem;
  margin-top: 0;
}
.back {
  justify-content: center;
}
.back a {
  text-decoration: none;
}
.back a:before {
  content: '<';
  padding-right: 0.4rem;
}

article.item {
  justify-content: center;
  margin-top: 0;
  gap: 0;
}
article.item .thumb {
  margin: 2rem 0;
  border-radius: var(--border-radius);
}
article.item h1 {
  margin-bottom: 2rem;
}
article.item.advise > h3 {
  text-align: center;
  margin: 4rem 0;
}
article.item.advise > div {
  display: flex;
  justify-content: center;
  align-items: center;
}
article.item.advise > div > img,
article.item.advise > div > .col {
  flex: 1 1 50%;
  width: 50%;
}
article.item.advise .col {
  height: auto;
  padding: 1rem 2rem 1rem 1rem;
}
article.item.advise .pdf {
  margin-top: 2rem;
  padding-top: 1.6rem;
  border-top: var(--border-width) solid var(--black);
  width: 100%;
  flex: 1 1 100%;
}

/* MAP */

.maps .content {
  flex-direction: column;
  padding: 2rem 0 0;
  width: 100%;
}
.maps .content h3 {
  padding: 0 1.5rem 1rem;
}
#map-filters {
  margin: 0 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
}
#map-filters .the-select {
  flex: 1 0 20%;
}
#map-filters select {
  border: 0;
  max-width: 100%;
}
#map-filters select:disabled {
  opacity: 0.75;
}
#show-all-container {
  margin: 0.6rem 2rem 0;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.1rem;
}
#show-all {
  border: 0;
}

#map {
  margin-top: 1rem;
  height: 38rem;
  border-radius: var(--border-radius);
  border: var(--consilia-red) solid 0.2rem;
  border-top: 0;
}
.marker {
  padding: 0.6rem 1rem 1rem;
}
.marker h4,
.marker p {
  text-align: center;
}
.marker h4 {
  font-weight: 700;
  font-size: 1.2rem;
}
.marker p {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  font-weight: 400;
}
.marker a {
  color: var(--consilia-red);
}
.page-template-page-dove-ci-trovi .banner-sm {
  margin-top: 2.8rem;
}
.page-template-page-dove-ci-trovi .the-post {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.page-template-page-dove-ci-trovi label {
  color: var(--color-text);
  font-size: 1.4rem;
}
.page-template-page-dove-ci-trovi .banner-sm svg {
  top: auto;
  bottom: calc(100% - 1px);
  transform: rotate(180deg);
}

/* SHORTCODE */

.shortcode {
  margin-top: 6rem;
}
.shortcode .content {
  flex-direction: column;
}
.shortcode .boxed {
  margin-top: 0;
  justify-content: center;
}

/* FORM */

input,
textarea,
select,
label {
  font-family: 'Raleway', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--black);
}
input,
textarea,
select {
  background-color: var(--white);
  border-radius: var(--border-radius-sm);
  border: var(--black) solid var(--border-width);
  resize: none;
  padding: 1.2rem 1.4rem 1rem;
  width: 100%;
  appearance: none;
}
select {
  padding: 1.2rem 2rem 1rem 1.4rem;
}
input[type='checkbox'] {
  padding: 0;
  aspect-ratio: 1/1;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
input[type='checkbox']:checked:before {
  content: '\f00c';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 1.8rem;
  position: absolute;
  left: 0.1rem;
  top: -0.2rem;
  color: var(--consilia-red);
}
label {
  padding: 0.5rem 0;
  cursor: pointer;
  display: block;
}
::placeholder {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
.text-align-center {
  text-align: center;
}
.forminator-edit-module {
  display: none;
}
.forminator-row {
  gap: var(--gap) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
.forminator-col {
  padding: 0 !important;
  margin-bottom: var(--gap) !important;
  flex: 1 1 40% !important;
}
.forminator-col .forminator-col {
  margin-bottom: 0 !important;
}
.forminator-border {
  border: 0 !important;
}
.forminator-border:after {
  content: '';
  display: block;
  border-top: var(--border-width) solid var(--black);
}
.forminator-error-message,
.forminator-description {
  font-family: 'Raleway', sans-serif;
  color: var(--consilia-red);
  padding: 0.5rem 0 0 0;
  display: block;
  font-size: 0.9rem;
}
.forminator-response-message.forminator-error {
  display: none;
}
.forminator-description {
  color: var(--black);
}
.the-select {
  position: relative;
}
.the-select:after {
  content: '\f0d7';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  right: 1rem;
  font-size: 1rem;
  line-height: 1rem;
  top: 1.25rem;
  pointer-events: none;
}
.datepicker {
  position: relative;
}
.datepicker label {
  content: "Data d'acquisto* ";
  position: absolute;
  padding: 1.2rem 1.4rem 1rem;
}
.forminator-required {
  display: none;
}
.forminator-datepicker {
  padding-left: 9.5rem;
}
.ui-datepicker {
  background-color: var(--white);
  border-radius: var(--border-radius-sm);
  border: 0;
  padding: 0.5rem;
}
.ui-datepicker-header,
.ui-datepicker-title {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.ui-datepicker-title {
  flex: 1 1 100%;
  flex-wrap: nowrap;
}
.ui-datepicker-title select {
  font-size: 0.9rem;
  padding: 0.8rem 1rem 0.6rem 0.6rem;
}
.ui-datepicker-calendar {
  width: 100%;
  margin-top: 0.5rem;
}
.ui-datepicker-calendar a {
  text-decoration: none;
}
.ui-datepicker-current-day {
  background-color: var(--consilia-red);
  border-radius: var(--border-radius-sm);
}
.ui-datepicker-current-day a {
  color: var(--white);
  font-weight: 700;
}
.ui-datepicker-unselectable {
  background-color: var(--consilia-neutral);
  border-radius: var(--border-radius-sm);
}
.ui-state-disabled span,
.ui-datepicker-unselectable span {
  opacity: 0.5;
}
.forminator-checkbox__wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
.forminator-button-submit {
  display: flex;
  margin: 0 auto;
}
.forminator-uploaded-files {
  background-color: var(--white);
  border-radius: var(--border-radius-sm);
  padding: 0.4rem 0.5rem;
  list-style: none;
  display: none;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: var(--gap);
}
.forminator-uploaded-files.forminator-has-files {
  display: flex;
}
.forminator-uploaded-file--content {
  display: flex;
  justify-content: flex-start;
  gap: var(--gap);
}
.forminator-img-preview {
  height: 3rem;
  width: 3rem;
  background-size: cover;
  background-position: center;
  border-radius: var(--border-radius-sm);
}
.forminator-uploaded-file--title {
  font-size: 1rem;
}
.forminator-uploaded-file--size {
  font-size: 0.8rem;
}
.forminator-uploaded-file--delete {
  margin-left: auto;
  background-color: transparent;
  border-radius: var(--border-radius-sm);
  border: 0;
  width: 3rem;
  height: 3rem;
  text-align: center;
}

/* BANNER NO GEO */

.no-geo-banner-visible .no-geo-banner-container {
  display: flex;
}
.no-geo-banner-container {
  position: fixed;
  display: none;
  bottom: 2rem;
  left: 0;
  right: 0;
  justify-content: center;
  align-items: flex-end;
  z-index: 9999999999999999999999999999999;
}
.no-geo-banner {
  display: none;
  background-color: var(--consilia-red);
  border-radius: var(--border-radius);
  padding: 2rem 3.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  transform: translateY(140%);
  box-shadow: 0 0.5rem 0.65rem rgba(0, 0, 0, 0.3);
  width: var(--container-width-md);
  max-width: calc(100% - 4rem);
}
.no-geo-banner h3 {
  color: var(--white);
}
.no-geo-banner p {
  color: var(--yellow);
}
.no-geo-banner a {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 0 0 21rem;
}
.no-geo-banner a:after {
  content: '';
  background-image: url('./assets/lets-go.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 4.8rem;
  flex: 0 0 4.8rem;
  height: 4.8rem;
}
.no-geo-banner p {
  font-weight: 700;
  text-align: right;
}
.no-geo-banner .close {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 2rem;
  background-color: var(--consilia-red);
  border: var(--white) solid var(--border-width);
  display: flex;
  justify-content: center;
  align-items: center;
  top: -1.2rem;
  right: -1.2rem;
}
.no-geo-banner .close i {
  font-size: 1.4rem;
  color: var(--white);
}

.fancybox-container {
  z-index: 999999 !important;
}

.tablet {
  display: none;
}
.mobile {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .tablet {
    display: block;
  }
  .no-tablet {
    display: none;
  }
  #hero .content {
    flex-direction: column;
  }
  #hero .discount {
    flex: 0 0 auto;
  }
  .col.large-padding {
    padding: 7.5rem 4rem;
  }

  #review .content {
    flex-direction: column;
  }
  #review .col {
    padding: 3rem 2.6rem 1rem 2.6rem;
  }
  #review .the-review {
    margin-bottom: 0.5rem;
  }
  #review .the-review svg {
    top: calc(100% - 1.05rem);
    left: calc(50% - 0.5rem);
    transform-origin: center;
    transform: rotate(90deg);
  }
  #coupon .content {
    flex-direction: column;
  }
  #review .bg,
  #coupon .bg {
    height: 16rem;
    flex: 0 0 16rem !important;
  }
  #coupon .col {
    padding-right: 2.5rem;
  }
  #hero .content > svg,
  #coupon .content > svg {
    width: calc(100% - 5rem);
    height: 1rem;
    flex: 0 0 1rem;
    margin: 0;
  }
  #coupon .bg {
    margin: 0 auto;
    width: 50%;
  }
  .small-boxes .boxed.thight {
    padding-left: 0;
    padding-right: 0;
  }

  .info-box {
    flex: 0 0 35%;
  }
}
@media screen and (max-width: 768px) {
  :root {
    --gap: 2rem;
  }
  .desktop {
    display: none;
  }
  .mobile {
    display: flex;
  }
  .bg {
    height: 28rem;
    flex: 0 0 28rem !important;
  }
  .deal .bg {
    min-height: 10rem;
    height: auto;
    flex: 0 0 auto !important;
    aspect-ratio: 768 / 525;
  }
  .btn.big {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    min-height: auto;
  }
  .title h1 {
    font-size: 2.5rem;
    line-height: 3rem;
    margin-top: 0;
  }
  .col.large-padding,
  .col.small-padding {
    padding: 3rem 2.5rem;
  }
  section .content {
    padding: 2rem 2.5rem;
  }
  section .arrow {
    --arrow-left: 50% !important;
  }
  header.boxed {
    justify-content: center;
    align-items: center;
    padding-top: 1rem;
  }
  header nav.mobile {
    position: absolute;
    right: 1rem;
    z-index: 999999999;
  }
  header nav.mobile button {
    height: 2rem;
    width: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0;
    background-color: transparent;
    align-self: flex-end;
  }
  header nav.mobile button i {
    font-size: 1.5rem;
    color: var(--consilia-red);
  }
  header nav.mobile > ul {
    flex-direction: column;
    position: absolute;
    top: calc(100% + 2rem);
    right: -1rem;
    background-color: var(--white);
    width: 100vw;
    width: 100dvw;
    z-index: 99999;
    display: none;
  }
  .hamburger-menu-open header nav.mobile > ul {
    display: flex;
  }

  header nav.mobile li {
    width: 100%;
  }
  header nav.mobile ul,
  header nav.mobile li + li {
    border-top: #ccc solid var(--border-width);
  }
  header nav.mobile li.menu-item-has-children {
    position: relative;
  }
  header nav.mobile li.menu-item-has-children:after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 1rem;
    font-size: 1rem;
    line-height: 1rem;
    top: 1.25rem;
    color: var(--consilia-red);
    transition: transform 0.25s ease-in-out;
  }
  header nav.mobile li.menu-item-has-children.is-open:after {
    transform: rotate(90deg);
  }
  header nav.mobile ul .sub-menu {
    max-height: 0;
    position: static;
    display: flex;
    flex-direction: column;
    transform: none;
    border-radius: 0;
    overflow: hidden;
    transition: max-height 0.45s ease-in-out, border-width 0.45s ease-in-out;
    border-width: 0;
  }
  header nav.mobile ul .is-open .sub-menu {
    max-height: 20rem;
    border-width: var(--border-width);
  }
  header nav.mobile .sub-menu:before {
    display: none;
  }
  header nav.mobile > ul {
    border-bottom: #ccc solid var(--border-width);
  }
  header nav.mobile li a {
    padding: 1rem 2rem;
    display: block;
    margin: 0;
  }
  header .menu > .current-menu-item > a:after,
  header .menu > .current-menu-ancestor > a:after {
    display: none;
  }
  #store,
  #hero,
  #review,
  #coupon {
    flex: 1 1 100%;
    width: 100%;
  }
  #hero .content {
    flex-direction: column;
  }
  #hero .discount {
    flex: 0 0 auto;
  }

  #review .content {
    flex-direction: column;
  }
  #review .col {
    padding: 3rem 2.6rem 1rem 2.6rem;
  }
  #review .the-review {
    margin-bottom: 0.5rem;
  }
  #review .the-review svg {
    top: calc(100% - 1.05rem);
    left: calc(50% - 0.5rem);
    transform-origin: center;
    transform: rotate(90deg);
  }
  #review .bg {
    opacity: 0;
  }
  #review .bg.loaded {
    opacity: 1;
  }
  #coupon .content {
    flex-direction: column-reverse;
  }
  #coupon .col {
    padding-right: 2.5rem;
  }
  #coupon .bg {
    margin-left: 1rem;
  }
  #hero .content > svg,
  #coupon .content > svg {
    width: calc(100% - 5rem);
    height: 1rem;
    flex: 0 0 1rem;
    margin: 0;
  }
  .home .double.deal section,
  .home .last-banner section {
    border-radius: var(--border-radius);
  }
  .double .content,
  .double-wide,
  .last-banner .content,
  .slides .splide__slide {
    flex-direction: column !important;
  }
  .double-wide .bg,
  .double .content > div,
  .double-wide > div,
  .last-banner .content > a,
  .last-banner .col,
  .slides .bg,
  .slides .bg + div {
    width: 100%;
  }
  .double .bg,
  .double-wide .bg,
  .double-wide .bg .last-banner .bg,
  .slides .bg {
    order: 1;
  }
  .slides .bg + div {
    order: 2;
  }
  .double-wide .col,
  .double .col,
  .double.sm .col,
  .last-banner .col,
  .slides .col {
    order: 2;
  }

  .double,
  .double + .double,
  .double + .last-banner {
    margin-top: var(--gap);
  }
  .last-banner + .double {
    margin-top: 6rem;
  }
  .last-banner .bg {
    transform-origin: bottom;
  }
  .wide {
    min-height: auto;
    margin: var(--gap) 1rem 0 !important;
    padding: 3rem 2.5rem;
    border-radius: var(--border-radius);
  }
  .wide:before,
  .wide:after {
    display: none;
  }
  .wide .boxed {
    padding: 0;
  }
  .wide .col {
    max-width: 100%;
  }

  .slides {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 2rem);
    border-radius: var(--border-radius);
    overflow: hidden;
    flex-direction: column;
  }
  .slides .bgs,
  .slides .texts {
    width: 100%;
    flex: 0 0 100%;
  }
  .slides .texts .splide__slide > div {
    height: 100%;
  }
  .slides .texts .splide__track {
    overflow: visible;
  }
  .slides .col {
    justify-content: flex-start;
  }
  .slides .controls {
    position: absolute;
    bottom: calc(100% + 3.4rem);
  }
  .slides .controls a {
    color: var(--white);
    border-color: var(--white);
    background-color: rgba(36, 36, 36, 0.4);
  }
  .slides .splide__pagination {
    left: 2.5rem;
    bottom: calc(100% + 1rem);
  }
  .slides .splide__pagination button {
    border-color: var(--white);
    background-color: rgba(36, 36, 36, 0.4);
  }
  .slides .splide__pagination button.is-active {
    background-color: var(--white);
  }

  .banner-sm {
    margin-top: var(--gap);
  }
  .banner-sm .the-post p {
    font-size: 1.1rem;
  }

  .recipes {
    gap: 1rem;
  }
  .recipe-list-item {
    flex: 1 1 40% !important;
    aspect-ratio: 1/1;
    height: auto;
    min-height: auto;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .recipe-list-item.not-loaded {
    opacity: 0;
  }
  .recipe-list-item:nth-child(3n + 1) {
    flex: 1 1 100% !important;
    aspect-ratio: 2/1;
  }
  .recipe-list-item h3 {
    font-size: 1.4rem;
    text-align: left;
  }
  .recipe-list-item .btn {
    left: 1.5rem;
    right: auto;
  }
  .recipe-list-item .btn span {
    display: none;
  }

  .header .content {
    min-height: 14rem;
  }
  .header h1 {
    font-size: 1.6rem;
  }

  .last-banner {
    margin-top: var(--gap);
  }
  .last-banner + .last-banner {
    margin-top: calc(var(--gap) * 2.5);
  }

  .small-boxes-container {
    height: auto !important;
  }
  .small-boxes .bg {
    padding: 16rem 0 0;
    background-image: none;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    overflow: hidden;
    width: calc(100% - 2rem);
    margin: 0 auto;
    position: relative !important;
  }
  .small-boxes .bg:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 16rem;
    background-image: var(--bg-img);
    background-position: inherit;
    background-size: cover;
  }
  .small-boxes .boxed {
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding: 0;
    flex-direction: column;
  }
  .small-boxes .boxed.thight {
    padding-left: 0;
    padding-right: 0;
  }
  .box {
    background-color: var(--original-color);
    background-position: 1.5rem 6rem;
    background-image: url('./assets/empty.svg') !important;
    padding: 2rem 1rem 0 6rem;
    background-size: 3rem;
    border-radius: 0;
    transform: none !important;
    opacity: 1 !important;
    margin-top: -1px;
    min-height: auto;
    flex: 0 0 auto;
  }
  .box.loaded {
    background-position: 1.5rem 2rem;
    background-image: var(--bg-img) !important;
  }
  .box .col {
    opacity: 0;
    transition-delay: 0.25s;
  }
  .box .col.loaded {
    opacity: 1;
  }
  .box:last-child {
    padding-bottom: 2rem;
    border-radius: 0 0 var(--border-radius) var(--border-radius);
  }

  .double-wide {
    margin-left: 1rem;
    margin-right: 1rem;
    width: calc(100% - 2rem);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .double-wide .col {
    width: 100%;
  }
  .double-wide .col h3,
  .slides .col h3,
  .recipes-cartel h3 {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }

  .text .the-post {
    padding: 0 2rem;
  }

  .single-ricetta .boxed.sm {
    margin-top: 1.25rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .time p {
    font-size: 1rem;
  }
  .ingredients {
    background-position: center 1.5rem;
  }
  .ingredients .content {
    padding: 28% 2.5rem 2rem;
  }
  .ingredients li {
    font-size: 1rem;
  }

  .tabs-selector {
    margin-bottom: 4rem;
  }
  .header-sticky.scrolling-up .tabs-selector {
    top: 6.5rem;
  }
  .tabs-button {
    flex: 0 0 10rem;
    width: 10rem;
    min-width: 10rem;
    font-size: 1.2rem;
    padding: 0.6rem 1rem;
  }
  .tabs-button svg {
    height: 1.5rem;
  }

  .crosslinks {
    flex-direction: column;
  }
  .crosslink .content a {
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    min-height: 6.66rem;
  }
  .crosslink .bg {
    height: auto;
    width: 8rem;
    flex: 0 0 8rem !important;
  }
  .crosslink .col {
    justify-content: center;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
  .crosslink h3 {
    font-size: 1.6rem;
    line-height: 1.8rem;
  }
  .crosslink h3 a {
    text-decoration: none;
  }
  .crosslink .the-post {
    display: none;
  }
  .crosslink .col .btn {
    align-self: center;
    margin-top: 0;
  }
  .crosslink svg {
    left: calc(100% - 8rem);
  }

  .promo .splide__slide {
    flex-direction: column;
    align-items: center;
  }
  .promo .bg + div {
    width: 100%;
  }
  .promo .bg {
    order: 2;
    width: calc(100% - 2rem);
    margin: 1rem;
    height: auto;
    flex: 0 0 auto !important;
    aspect-ratio: 1/1;
  }
  .promo .bg + div {
    padding: 2rem 2.5rem 0;
    order: 1;
    flex: 0 0 auto;
  }
  .promo .mobile {
    order: 3;
    padding-bottom: 3rem;
  }
  .promo .mobile * {
    color: var(--white);
  }
  .promo .mobile .store {
    margin-top: 0;
  }
  .promo .col {
    justify-content: flex-start;
    align-items: center;
    height: auto;
    flex: 0 0 auto;
  }
  .promo h4 {
    text-align: center;
  }
  .promo h3 {
    font-size: 2rem;
    line-height: 2.2rem;
    text-align: center;
    margin: 1.4rem 0 1rem;
  }
  .promo .price span {
    font-size: 7.5rem;
    text-align: center;
  }
  .promo .btn {
    align-self: center;
  }

  article.list-item {
    flex: 1 1 100%;
    align-items: stretch;
    min-height: 15rem;
  }
  article.list-item h3 {
    text-align: center;
  }
  .back a {
    font-size: 0.8rem;
  }
  article.item.advise > div {
    flex-direction: column;
  }
  article.item.advise > div > img,
  article.item.advise > div > .col {
    width: 100%;
    flex: 1 1 100%;
  }
  article.item.advise .col {
    padding: 0 1rem;
    margin-top: var(--gap);
  }
  article.list-item > img {
    display: none;
  }

  .shortcode .content {
    padding-left: 0;
    padding-right: 0;
  }

  .forminator-col .forminator-col {
    margin-bottom: var(--gap) !important;
  }

  .splide__pagination {
    bottom: 0.5rem;
  }
  footer > div {
    flex-direction: column;
    align-items: stretch;
  }
  footer .policies {
    justify-content: center;
  }
  .no-geo-banner {
    flex-direction: column;
    padding: 2rem 2.5rem;
    gap: 1rem;
  }
  .no-geo-banner h3,
  .no-geo-banner p {
    font-size: 1.2rem;
    line-height: 1.2rem;
  }
  .no-geo-banner a {
    flex: 0 0 auto;
  }
  .recipes-filters {
    gap: 2rem;
  }
  #map-filters {
    margin: 0 1.5rem;
    flex-wrap: wrap;
  }
  #map-filters .the-select {
    flex: 1 0 100%;
  }
  #show-all-container {
    margin: 1rem 1.5rem 0;
  }
  #map {
    height: 28rem;
  }

  .info-box {
    flex: 0 0 35%;
  }
}

@media screen and (max-width: 540px) {
  .recipe-list-item {
    flex: 1 1 100% !important;
    aspect-ratio: 2/1;
  }

  .info-boxes-wrapper .the-content {
    margin-top: 2rem;
  }
  .info-boxes-wrapper .button {
    margin-top: 3rem;
  }
  .info-boxes {
    gap: 3rem 16%;
  }
  .info-box {
    flex: 0 0 70%;
  }
  .info-boxes + .popup {
    width: 90%;
    left: 5%;
    padding: 6rem 2rem 3rem;
  }
}
