*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

html {
  overflow-x: hidden;
  font-size: 16px;
  font-family: var(--font-principale)
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-size: 1rem;
  line-height: var(--interlinea-principale);
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  margin-bottom: 5px;
}

#menu ul li a {
  font-size: 1rem;
  letter-spacing: .3rem;
}

section {
  position: relative;
  overflow: hidden;
  padding: 25px 0;
}

article section:nth-child(1) {
  height: 400px;
}

article section.row .area {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  padding-left: 0;
  padding-right: 0;
  height: auto;
  z-index: 1;
}

div[class^="cbck_"],
div[class^="acbck_"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sfondobckg {
  position: relative;
  height: auto;
}

.bckg_responsive {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  height: 100%;
}

.bckg_responsive.parallax {
  background-attachment: fixed;
}

.bckg_responsive.fisso {
  background-attachment: scroll;
}

.bckg_absolute {
  position: absolute;
}

.background_video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

section.backroundsezione {
  overflow: hidden;
  position: relative;
}

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0
}

.embed-responsive-16by9 {
  padding-bottom: 56.25%
}

.embed-responsive-4by3 {
  padding-bottom: 75%
}

section.backroundsezione .embed-responsive {
  position: absolute;
  display: flex;
  bottom: 0;
  justify-content: center;
  margin: auto;
}

video {
  width: 100%;
  height: max-content;
}

.selezunder a:hover {
  text-decoration: underline;
}

.colore_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

[id^="mappa"] {
  height: 400px;
}

[id^="map-canvas"] {
  position: relative;
  height: inherit;
  width: inherit;
  z-index: 0;
}

div.el-mappa {
  padding: 0;
}

/** Allinemanti contenuto **/
.anteprimatesti,
.galleriapres {
  padding: 5px
}

a div.elemento_sing,
.galleriapres div {
  display: inline-block;
  vertical-align: top;
}

div.el-mappa {
  display: block;
}

.img-fluid {
  width: auto;
  max-width: 100%;
  height: auto;
}

a figure {
  padding: 8px;
}

a.foto-gallery {
  position: relative;
}

.mask-gallery {
  position: absolute;
  top: 0;
  left: 0;
  padding: 8px;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.5s ease;
}

.mask-gallery span {
  width: 100%;
  background-color: #12121275;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.foto-gallery .mask-gallery:hover {
  opacity: 1;
}

section.positionabsolute {
  position: absolute;
  padding-top: 0;
  margin-top: 30px;
  margin-bottom: 0;
  padding-bottom: 0;
}

div.colonnaarea {
  height: inherit;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  overflow: hidden;
  z-index: 1;
}

div.areasfondobckg.bckg_responsive div.colonnaarea {
  position: relative;
  z-index: 3;
}

div.colonnaarea div[class*="centrale"] {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: center;
  height: 100%;
}

div.colonnaarea div[class*=centrale] {
  /* align-content: center; */
  /* display: flex; */
  /* flex-flow: row wrap; */
  /* height: max-content; */
  /* margin-bottom: auto; */
  /* margin-top: auto; */
}

div.colonnaarea div.centrale.ao_center img {
  top: 50%;
  transform: translateY(-50%);
}

div.colonnaarea div.ao_right {
  text-align: right;
}

div.colonnaarea div.ao_left {
  text-align: left;
}

div.colonnaarea div.ao_center {
  text-align: center;
}

div.colonnaarea div.ao_justify {
  text-align: justify
}

div.row {
  padding: 0;
}

div.row.top {
  display: flex;
  justify-content: start;
  flex-direction: column;
  height: max-content;
  margin-top: 0 !important;
  margin-bottom: auto !important;
}

div.row.end {
  display: flex;
  justify-content: end;
  flex-direction: column;
  height: max-content;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

div.row .elemento_sing.el-fastres {
  padding: 0;
}

.overflowvisible {
  overflow: visible;
}

header li,
footer li,
a.menulingua {
  text-transform: capitalize;
  z-index: 5;
}

.colheader,
.colfooter {
  text-align: center;
}

header .navbar {
  padding: 0
}

header .elem {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}

header .prefix {
  margin-right: 5px;
  display: inline-flex;
}

/** #### Regole custom #### **/
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev span,
#ui-datepicker-div.ui-datepicker .ui-datepicker-next span {
  margin-left: -10px;
  margin-top: -11px;
  min-height: 25px;
  min-width: 25px;
}

/* stile scalax */
.area.scalax {
  z-index: 2 !important;
  overflow: visible;
}

.area.scalax .colonnaarea {
  overflow: visible;
}

.area.scalax .cont-scalax {
  width: 125%;
}

.area.scalax .cont-scalax.left {
  margin-left: 5%;
}

.area.scalax .cont-scalax.-left {
  margin-left: -30%;
}

.area.scalax .cont-scalax.p50 {
  padding: 15% 50px;
}

/* stile scalax */

.hide {
  display: none !important;
}

/** #### Regole custom #### **/

/** Stile Plugin camere **/
.anteprimacamera.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimacamera.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimacamera.visuale_sovrapposti .blocco_dati {
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  padding: 15px;
}

.anteprimacamera.visuale_affiancati .blocco_dati {
  position: relative;
  float: left;
  display: inline;
  width: 47%;
  margin-left: 10px
}

.anteprimacamera.visuale_affiancati img.img-fluid {
  position: relative;
  float: left;
  display: inline;
  width: 100%;
}

.anteprimacamera .blocco_dati span.nome_camera,
.anteprimacamera .blocco_dati span.testo_camera,
.anteprimacamera .blocco_dati span.prezzo_camera,
.anteprimacamera .blocco_dati a.bottone_camera {
  position: relative;
  float: left;
  display: block;
  width: 100%;
}

.el-camera {
  overflow: hidden;
}

/** fine Stile Plugin camere **/

/** Stile Plugin offerte **/
.anteprimaofferta.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimaofferta.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimaofferta.visuale_sovrapposti .blocco_dati {
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  padding: 15px;
}

.anteprimaofferta.visuale_affiancati .blocco_dati {
  position: relative;
  float: left;
  display: inline;
  width: 47%;
  margin-left: 10px
}

.anteprimaofferta.visuale_affiancati img.img-fluid {
  position: relative;
  float: left;
  display: inline;
  width: 100%;
}

.anteprimaofferta .blocco_dati span.nome_offerta,
.anteprimaofferta .blocco_dati span.testo_offerta,
.anteprimaofferta .blocco_dati span.prezzo_offerta,
.anteprimaofferta .blocco_dati a.bottone_offerta {
  position: relative;
  float: left;
  display: block;
  width: 100%
}

/** fine Stile Plugin offerte **/

/** Stile Plugin articoli **/
.anteprimaarticolo.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimaarticolo.visuale_separati .blocco_dati {
  position: relative;
  float: left;
  display: block;
}

.anteprimaarticolo.visuale_sovrapposti .blocco_dati {
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  padding: 15px;
}

.anteprimaarticolo.visuale_affiancati .blocco_dati {
  position: relative;
  float: left;
  display: inline;
  width: 47%;
  margin-left: 10px
}

.anteprimaarticolo.visuale_affiancati img.img-fluid {
  position: relative;
  float: left;
  display: inline;
  width: 100%;
}

.anteprimaarticolo .blocco_dati span.nome_articolo,
.anteprimaarticolo .blocco_dati span.testo_articolo,
.anteprimaarticolo .blocco_dati span.prezzo_articolo,
.anteprimaarticolo .blocco_dati a.bottone_articolo {
  position: relative;
  float: left;
  display: block;
  width: 100%
}

/** fine Stile Plugin articoli **/

.colonnaaside {
  background-color: #fff
}

aside.raccoglitore {
  margin-top: 10px !important
}

aside.raccoglitore .nav-tabs .nav-link {
  padding: 0.5rem 0.5rem;
  border-radius: 0;
}

ul#serinfo-nav {
  position: relative;
  z-index: 6;
  margin: 0;
  border-bottom: 0px solid #ddd;
  width: 101%;
}

/** tablist **/

.tp-img img {
  min-width: 135px;
  min-height: 80px;
}

.bck_video {
  position: absolute;
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

/* Datepicker Custom */
.datepicker-view {
  width: 17.75rem !important;
}

.datepicker-title {
  padding: 0 !important;
  background-color: #F9F9F9 !important;
}

.datepicker-title .s_c_picker {
  background-color: #c2aa60;
  color: #fff;
  padding: 2px 0;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  font-weight: 500;
}

.datepicker-title .d_c_picker {
  text-transform: uppercase;
  font-weight: 300;
  padding: 5px 0;
  background: #d4d4d4;
  color: #000;
  display: none;
}

.datepicker-controls {
  align-items: center;
}

.datepicker-controls button.button.prev-button,
.datepicker-controls button.button.next-button,
.datepicker-controls button.button.view-switch {
  background-image: none !important;
  color: #666;
  text-transform: uppercase;
  font-weight: 300;
}

.datepicker-view .days-of-week {
  color: #666;
  text-transform: uppercase;
}

.datepicker-view .days-of-week .dow {
  font-weight: 300;
}

.datepicker-cell:not(.disabled):hover,
.datepicker-grid .datepicker-cell.today:not(.selected),
.datepicker-cell.focused:not(.selected),
.datepicker-grid span.selected {
  border-radius: 20px !important;
}

.datepicker-grid .datepicker-cell.today:not(.selected) {
  background-color: #e1e1e1;
  color: #a1a1a1;
  font-weight: 600;
}

.datepicker-grid .datepicker-cell {
  color: #505050;
}

.datepicker-grid .datepicker-cell.selected,
.datepicker-grid .datepicker-cell.selected:hover {
  background-color: #c2aa60;
  font-weight: 500;
}

/** tablist sidebar**/
#sidebar-header {
  background-color: #e9e9e9;
}

#sidebar-header li.tab {
  width: 50%;
  padding: 10px 0;
}

#sidebar-body {
  border: 1px solid #ddd;
  padding: 5px;
  min-height: 100px;
}

#sidebar-body .tabpanel .tab-post {
  margin-bottom: 5px;
  overflow: hidden;
  background: #fff;
}

#sidebar-body .tabpanel .tp-txt {
  padding: 0 5px;
  color: #646464;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-around;
  align-items: center;
}

#sidebar-body .tabpanel .tp-img img {
  width: 100%;
  min-width: 135px;
  min-height: 80px;
}

/*** STILE TAG & TIPOGRAFIA ***/
hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

h6,
h5,
h4,
h3,
h2,
h1 {
  font-weight: 500;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

abbr[title],
abbr[data-bs-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

li {
  list-style: none;
}

;

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

sub,
sup {
  position: relative;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #0d6efd;
  text-decoration: none;
}

a:hover {
  color: #0a58ca;
}

a:link {
  text-decoration: none
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  direction: ltr
    /* rtl:ignore */
  ;
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  color: #d63384;
  word-wrap: break-word;
}

a>code {
  color: inherit;
}

figure {
  margin: 0;
  padding: 0;
}

img,
svg {
  width: 100%;
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

.button,
button {
  border-radius: 0;
  border: none;
}

input,
button,
select,
optgroup,
textarea,
.button {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.button,
button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

.button,
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
}

legend+* {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

[hidden] {
  display: none !important;
}

/*** FINE STILE TAG & TIPOGRAFIA ***/

/*** STILE GRID ***/
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {

  .container-sm,
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {

  .container-md,
  .container-sm,
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {

  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {

  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {

  .container-xxl,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1320px;
  }
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: 0;
  margin-left: 0;
}

.row>* {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto>* {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1>* {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2>* {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3>* {
  flex: 0 0 auto;
  width: 33.3333333333%;
}

.row-cols-4>* {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5>* {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6>* {
  flex: 0 0 auto;
  width: 16.6666666667%;
}

.row.distanza-0 {
  padding: 0;
  margin: 0;
}

.row.distanza-1 {
  padding-left: 20px;
  padding-right: 20px;
}

.row.distanza-2 {
  padding-left: 70px;
  padding-right: 70px;
}

.row.distanza-3 {
  padding-left: 15%;
  padding-right: 15%;
}

.row.distanza-1.sfondobckg.fullscreen {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 20px;
  padding-right: 20px;
}

.row.distanza-2.sfondobckg.fullscreen {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 70px;
  padding-right: 70px;
}

.row.distanza-3.sfondobckg.fullscreen {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 15%;
  padding-right: 15%;
}

.row.distanza-0 .row,
.row.distanza-1 .row,
.row.distanza-2 .row,
.row.distanza-3 .row {
  margin-left: 0;
  margin-right: 0
}

@media (max-width: 768px) {
  article section.row .area {
    display: block;
  }

  .row.distanza-1,
  .row.distanza-2,
  .row.distanza-3 {
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }

  .row-cols-sm-auto>* {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-sm-1>* {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-sm-2>* {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-sm-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-sm-4>* {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-sm-5>* {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-sm-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }

  .row-cols-md-auto>* {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-md-1>* {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-md-2>* {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-md-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-md-4>* {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-md-5>* {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-md-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }

  .row-cols-lg-auto>* {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-lg-1>* {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-lg-2>* {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-lg-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-lg-4>* {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-lg-5>* {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-lg-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }

  .row-cols-xl-auto>* {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-xl-1>* {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-xl-2>* {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-xl-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-xl-4>* {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-xl-5>* {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-xl-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
}

@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }

  .row-cols-xxl-auto>* {
    flex: 0 0 auto;
    width: auto;
  }

  .row-cols-xxl-1>* {
    flex: 0 0 auto;
    width: 100%;
  }

  .row-cols-xxl-2>* {
    flex: 0 0 auto;
    width: 50%;
  }

  .row-cols-xxl-3>* {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }

  .row-cols-xxl-4>* {
    flex: 0 0 auto;
    width: 25%;
  }

  .row-cols-xxl-5>* {
    flex: 0 0 auto;
    width: 20%;
  }

  .row-cols-xxl-6>* {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

@media (min-width: 576px) {
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.33333333%;
  }

  .offset-sm-2 {
    margin-left: 16.66666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.33333333%;
  }

  .offset-sm-5 {
    margin-left: 41.66666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.33333333%;
  }

  .offset-sm-8 {
    margin-left: 66.66666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.33333333%;
  }

  .offset-sm-11 {
    margin-left: 91.66666667%;
  }

  @media (min-width: 576px) {
    .col-sm-auto {
      flex: 0 0 auto;
      width: auto;
    }

    .col-sm-1 {
      flex: 0 0 auto;
      width: 8.33333333%;
    }

    .col-sm-2 {
      flex: 0 0 auto;
      width: 16.66666667%;
    }

    .col-sm-3 {
      flex: 0 0 auto;
      width: 25%;
    }

    .col-sm-4 {
      flex: 0 0 auto;
      width: 33.33333333%;
    }

    .col-sm-5 {
      flex: 0 0 auto;
      width: 41.66666667%;
    }

    .col-sm-6 {
      flex: 0 0 auto;
      width: 50%;
    }

    .col-sm-7 {
      flex: 0 0 auto;
      width: 58.33333333%;
    }

    .col-sm-8 {
      flex: 0 0 auto;
      width: 66.66666667%;
    }

    .col-sm-9 {
      flex: 0 0 auto;
      width: 75%;
    }

    .col-sm-10 {
      flex: 0 0 auto;
      width: 83.33333333%;
    }

    .col-sm-11 {
      flex: 0 0 auto;
      width: 91.66666667%;
    }

    .col-sm-12 {
      flex: 0 0 auto;
      width: 100%;
    }

    .offset-sm-0 {
      margin-left: 0;
    }

    .offset-sm-1 {
      margin-left: 8.33333333%;
    }

    .offset-sm-2 {
      margin-left: 16.66666667%;
    }

    .offset-sm-3 {
      margin-left: 25%;
    }

    .offset-sm-4 {
      margin-left: 33.33333333%;
    }

    .offset-sm-5 {
      margin-left: 41.66666667%;
    }

    .offset-sm-6 {
      margin-left: 50%;
    }

    .offset-sm-7 {
      margin-left: 58.33333333%;
    }

    .offset-sm-8 {
      margin-left: 66.66666667%;
    }

    .offset-sm-9 {
      margin-left: 75%;
    }

    .offset-sm-10 {
      margin-left: 83.33333333%;
    }

    .offset-sm-11 {
      margin-left: 91.66666667%;
    }
  }
}

@media (min-width: 768px) {
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-md-4-5 {
    flex: 0 0 auto;
    width: 20%;
  }

  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.33333333%;
  }

  .offset-md-2 {
    margin-left: 16.66666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.33333333%;
  }

  .offset-md-5 {
    margin-left: 41.66666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.33333333%;
  }

  .offset-md-8 {
    margin-left: 66.66666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.33333333%;
  }

  .offset-md-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-lg-4-5 {
    flex: 0 0 auto;
    width: 20%;
  }

  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.33333333%;
  }

  .offset-lg-2 {
    margin-left: 16.66666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.33333333%;
  }

  .offset-lg-5 {
    margin-left: 41.66666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.33333333%;
  }

  .offset-lg-8 {
    margin-left: 66.66666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.33333333%;
  }

  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
}

@media (min-width: 1400px) {
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }

  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }

  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }

  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }

  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }

  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }

  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }

  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }

  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }

  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }

  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }

  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }

  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }

  .offset-xxl-0 {
    margin-left: 0;
  }

  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }

  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }

  .offset-xxl-3 {
    margin-left: 25%;
  }

  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }

  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }

  .offset-xxl-6 {
    margin-left: 50%;
  }

  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }

  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }

  .offset-xxl-9 {
    margin-left: 75%;
  }

  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }

  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
}

/*** FINE STILE GRID ***/

/*** STILE COMPONENTI ***/

article section.row.positionabsolute {
  position: absolute;
  width: 100%;
  z-index: 5;
  padding-top: 0;
  margin-top: 30px;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* stile header */
#header {
  z-index: 10;
  padding: 10px;
  transition: .5s;
  background-color: transparent;
  transition: background-color 1.5s ease-in-out, color 1.5s ease-in-out;
  padding: 0;
  height: 75px;
}

#header .sezheader {
  display: flex;
  flex-flow: row wrap;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
}

#header.pos_fixed {
  position: fixed;
  top: 0;
}

#header.pos_absolute {
  position: fixed
}

#header .button.button--standard.button--size-l.button--text-thin.btn-apriFR,
#header button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
  height: 75px;
  width: 100%;
  background: transparent;
  border-left: 1px solid #fff;
}

#header.pos_fixed .button.button--standard.button--size-l.button--text-thin.btn-apriFR,
#header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
  height: 75px;
  width: 100%;
  background: #aaa69d;
  border-left: none;
}

#header .button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover,
#header button.button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover {
  height: 75px;
  width: 100%;
  background: #ccae62;
  border-left: none;
}

#header.pos_fixed .button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover #header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR:hover {
  height: 75px;
  width: 100%;
  background: #ccae62;
  border-left: none;
}

/* fine stile header */

/* menu lingue */
nav.navmenu-lingue {
  flex-flow: column nowrap;
  float: left;
}

nav.navmenu-lingue button {
  border: none;
  text-transform: uppercase;
  background: none;
  padding: 0.5rem 1rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
}

nav.navmenu-lingue button.multilingue::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 10px solid #ffffff;
  margin-top: 3px;
  margin-left: 5px;
  display: none;
}

nav.navmenu-lingue ul {
  position: absolute;
  width: initial;
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: 0;
  height: 0;
  overflow: hidden;
  z-index: 5;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: center;
  padding: 0 0.9rem;
}

nav.navmenu-lingue ul.sottolingue-attivo {
  height: auto;
  color: #fff;
}

nav.navmenu-lingue ul>li {
  cursor: pointer;
}

ul.menubody li {
  list-style: none;
  display: inline;
}

ul.menubody li.nav-item {
  padding: 5px 10px
}

ul.menubody li.nav-item a {
  width: auto;
  display: inline
}

/* fine menu lingue */

header .logosito img {
  max-height: 150px;
  height: 60px;
}

.logodesktop.fix {
  position: absolute;
}

/* fine stile logo */

/* stile footer */
#footer {
  display: flex;
  padding: 5px 10px;
  z-index: 10;
  flex-direction: column;
  flex-wrap: nowrap;
  margin-top: 0;
  background-color: var(--color2);
}

#footer .sezfooter {
  display: flex;
  flex-flow: row wrap;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  padding: 10px 0;
}

#footer .label {
  display: block;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 5px;
}

#footer #sezfooter3 {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  padding: 1% 5%;
  border-top: solid 1px #ffffff4f;
}

#footer #sezfooter3 .datiaziendali {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  margin-bottom: 15px;
}

#footer #sezfooter3 .datiaziendali .dat-aziend {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

#footer #sezfooter3 .datiaziendali .dat-circin {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

#footer #sezfooter3 .datiaziendali .dat-circin span.prefix {
  display: inline;
  margin: 0 5px;
  color: #fff;
}

#footer #sezfooter3 .datiaziendali .dat-circin .elem {
  margin: 2px 10px;
}

#footer span.elem,
#footer span.elem {
  display: flex;
  margin: 2px;
  font-family: var(--font-family-6);
  color: var(--color1);
  font-size: 1.2rem;
}

#footer span.elem.easyc {
  margin-top: 20px;
}

#footer a.mlinguaattiva,
#footer a.mlingua {
  width: auto;
  display: inline-block;
  padding: 5px;
}

#footer a.mlinguaattiva img,
#footer a.mlingua img {
  width: 2rem;
}

#footer h4 {
  margin-bottom: 10px;
  font-weight: 300;
  text-transform: uppercase;
}

footer .logosito img {
  max-height: 100px;
  width: auto;
  filter: brightness(12.5);
}

/* fine stile footer */

/** stile full-slide **/
.full-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.p-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: -2;
}

.p-slide.is-active {
  opacity: 1;
  z-index: -1;
}

.p-slide-cont {
  display: flex;
  padding: 20px;
  position: absolute;
  left: -100%;
  bottom: 50px;
  max-width: 100%;
  max-height: 100%;
  color: #333;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 0 2px 2px 0;
  overflow: auto;
  transition: left 0.5s ease;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
}

.p-slide.is-active .p-slide-cont {
  left: 0;
  z-index: 1;
}

@media (max-height: 320px) {

  .p-slide-cont {
    bottom: 0;
  }
}

@media (max-width: 480px) {

  .p-slide-cont {
    bottom: 0;
  }
}

.p-slide-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  /* Cuz font... Else '0' */
  padding-top: 2px;
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0);
  border: 2px solid #fff;
  border-radius: 50%;
  transition: background 300ms ease;
  z-index: 3;
  cursor: pointer;
}

.p-slide-arrow:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

.p-slide-arrow.is-prev {
  left: 15px;
}

.p-slide-arrow.is-next {
  right: 15px;
}

.p-disable {
  display: none !important;
}

/** css controlli **/
ul.p-slide-control {
  display: flex;
  align-items: center;
  list-style: none;
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  color: #fff;
  z-index: 2;
}

.p-slide-control li {
  cursor: pointer;
  margin: 0 0.5rem;
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  background-color: transparent;
  border-radius: 50px;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.p-slide-control li.active {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50px;
}

.bck_video iframe {
  height: 100%;
  width: 100%
}

.bck_video video {
  position: relative;
  display: block;
  width: 100%;
  height: 100vh;
  border: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

/** fine css full-slide **/

/** Responsive Componenti **/
@media (max-width: 576px) {
  nav.navmenu-lingue {
    float: none;
  }
}

@media (max-width: 1024px) {
  #header .sezheader {
    height: 72px;
  }

  .btn-apriFR {
    margin-top: 0 !important;
  }

  .navbar-menu.menumobile li {
    margin-bottom: 20px;
  }

  #bottone_menu_header {
    display: flex !important;
    z-index: 6;
  }

  #header a.logosito.logodesktop {
    width: 100%;
  }

  nav.navmenu-lingue button {
    margin-right: 20px;
  }

  #header nav.navmenu-lingue ul {
    position: fixed;
  }

  .colheader {
    display: flex;
  }

  #header.pos_fixed button.button.button--standard.button--size-l.button--text-thin.btn-apriFR {
    height: 72px;
  }
}

/** Fine Responsive Componenti **/
/*** FINESTILE COMPONENTI ***/

/*** STILE BOTTONI ***/
.button {
  padding: 2em 2em;
  border: none;
  background: none;
  color: inherit;
  vertical-align: middle;
  position: relative;
  z-index: 1;
  align-content: center;
  align-items: center;
  width: max-content;
  -webkit-backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'EB Garamond';
}

.button>span {
  vertical-align: middle;
  vertical-align: middle;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* Sizes */
.button--size-s {
  font-size: 0.8rem;
}

.button--size-m {
  font-size: 1rem;
}

.button--size-l {
  font-size: 1.5rem;
}

/* Typography and Roundedness */
.button--text-upper {
  letter-spacing: 2px;
  text-transform: uppercase;
}

.button--text-thin {
  font-weight: 300;
}

.button--text-medium {
  font-weight: 500;
}

.button--text-thick {
  font-weight: 600;
}

.button--round-s {
  border-radius: 5px;
}

.button--round-m {
  border-radius: 15px;
}

.button--round-l {
  border-radius: 40px;
}

/* Borders */
.button--border-thin {
  border: 1px solid;
}

.button--border-medium {
  border: 2px solid;
}

.button--border-thick {
  border: 3px solid;
}

/* Antiman */
.button--standard:hover {
  background-color: #ccae62;
}

/* Antiman */
.button--antiman {
  background: none;
  border: none;
  height: 60px;
}

.button--antiman.button--inverted,
.button--antiman.button--inverted-alt {
  transition: color 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--antiman>span {
  padding-left: 0.35em;
}

.button--antiman::before,
.button--antiman::after {
  content: '';
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--antiman::before {
  border: 2px solid #37474f;
  opacity: 0;
  transform: scale3d(1.2, 1.2, 1);
}

.button--antiman.button--border-thin::before {
  border-width: 1px;
}

.button--antiman.button--border-medium::before {
  border-width: 2px;
}

.button--antiman.button--border-thick::before {
  border-width: 3px;
}

.button--antiman.button--inverted::before {
  border-color: #7986cb;
}

.button--antiman.button--inverted-alt::before {
  border-color: #3f51b5;
}

.button--antiman::after {
  background: #fff;
}

.button--antiman.button--inverted::after {
  background: #7986cb;
}

.button--antiman.button--inverted-alt::after {
  background: #3f51b5;
}

.button--antiman.button--inverted:hover {
  color: #7986cb;
}

.button--antiman.button--inverted-alt:hover {
  color: #3f51b5;
}

.button--antiman:hover::before {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

.button--antiman:hover::after {
  opacity: 0;
  transform: scale3d(0.8, 0.8, 1);
}

/* Aylen */
.button.button--aylen {
  background: #fff;
  color: #37474f;
  overflow: hidden;
  transition: color 0.3s;
}

.button--aylen.button--inverted {
  background: none;
  color: #fff;
}

.button--aylen::before,
.button--aylen::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  bottom: 100%;
  left: 0;
  z-index: -1;
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--aylen::before {
  background: #7986cb;
}

.button--aylen::after {
  background: #3f51b5;
}

.button--aylen:hover {
  color: #fff;
}

.button--aylen:hover::before,
.button--aylen:hover::after {
  transform: translate3d(0, 100%, 0);
}

.button--aylen:hover::after {
  transition-delay: 0.175s;
}

/* Isi */
.button--isi {
  padding: 1.2em 2em;
  color: #fff;
  background: #7986cb;
  overflow: hidden;
}

.button--isi::before {
  content: '';
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 100%;
  margin: -15px 0 0 1px;
  width: 100%;
  height: 30px;
  background: #3f51b5;
  transform-origin: 100% 50%;
  transform: scale3d(1, 2, 1);
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.9, 1);
}

.button--isi .zmdi {
  vertical-align: middle;
}

.button--isi>span {
  vertical-align: middle;
  padding-left: 0.75em;
}

.button--isi:hover::before {
  transform: scale3d(9, 9, 1);
}

/* Itzel */
.button--itzel {
  border: none;
  padding: 0px;
  overflow: hidden;
  width: 255px;
}

.button--itzel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid;
  border-radius: inherit;
  -webkit-clip-path: polygon(0% 0%, 0% 100%, 35% 100%, 35% 60%, 65% 60%, 65% 100%, 100% 100%, 100% 0%);
  clip-path: url(../index.html#clipBox);
  transform: translate3d(0, 100%, 0) translate3d(0, -2px, 0);
  transform-origin: 50% 100%;
}

.button--itzel.button--border-thin::before {
  border: 1px solid;
  transform: translate3d(0, 100%, 0) translate3d(0, -1px, 0);
}

.button--itzel.button--border-thick::before {
  border: 3px solid;
  transform: translate3d(0, 100%, 0) translate3d(0, -3px, 0);
}

.button--itzel::before,
.button--itzel .zmdi {
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--itzel .zmdi {
  position: absolute;
  top: 100%;
  left: 50%;
  padding: 20px;
  transform: translate3d(-50%, 0, 0);
}

.button--itzel>span {
  display: block;
  padding: 20px;
  transition: transform 0.3s, opacity 0.3s;
  transition-delay: 0.3s;
}

.button--itzel:hover::before {
  transform: translate3d(0, 0, 0);
}

.button--itzel:hover .zmdi {
  transition-delay: 0.1s;
  transform: translate3d(-50%, -100%, 0);
}

.button--itzel:hover>span {
  opacity: 0;
  transform: translate3d(0, -50%, 0);
  transition-delay: 0s;
}

/* Moema */
.button--moema {
  background: #7986cb;
  color: #fff;
  transition: background-color 0.3s, color 0.3s;
}

.button--moema.button--inverted {
  background: #ECEFF1;
  color: #37474f;
}

.button--moema::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  bottom: -20px;
  right: -20px;
  background: inherit;
  border-radius: inherit;
  z-index: -1;
  opacity: 0.4;
  transform: scale3d(0.8, 0.5, 1);
}

.button--moema:hover {
  transition: background-color 0.1s 0.3s, color 0.1s 0.3s;
  color: #ECEFF1;
  background-color: #3f51b5;
  animation: anim-moema-1 0.3s forwards;
}

.button--moema.button--inverted:hover {
  color: #ECEFF1;
  background-color: #7986cb;
}

.button--moema:hover::before {
  animation: anim-moema-2 0.3s 0.3s forwards;
}

@keyframes anim-moema-1 {
  60% {
    transform: scale3d(0.8, 0.8, 1);
  }

  85% {
    transform: scale3d(1.1, 1.1, 1);
  }

  100% {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes anim-moema-2 {
  to {
    opacity: 0;
    transform: scale3d(1, 1, 1);
  }
}

/* Naira */
.button--naira {
  padding: 0;
  overflow: hidden;
  transition: background-color 0.3s;
}

.button--naira::before {
  content: '';
  position: absolute;
  left: -50%;
  width: 200%;
  height: 200%;
  background: #37474f;
  top: -50%;
  z-index: -1;
  transform: translate3d(0, -100%, 0) rotate3d(0, 0, 1, -10deg);
}

.button--naira.button--inverted::before {
  background: #7986cb;
}

.button--naira-up::before {
  transform: translate3d(0, 100%, 0) rotate3d(0, 0, 1, 10deg);
}

.button--naira>span {
  display: block;
}

.button--naira .zmdi {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  color: #fff;
  transform: translate3d(0, -100%, 0);
}

.button--naira-up .zmdi {
  transform: translate3d(0, 100%, 0);
}

.button--naira>span,
.button--naira .zmdi {
  padding: 1em 2em;
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--naira:hover::before {
  animation: anim-naira-1 0.3s forwards ease-in;
}

.button--naira-up:hover::before {
  animation: anim-naira-2 0.3s forwards ease-in;
}

@keyframes anim-naira-1 {
  50% {
    transform: translate3d(0, -50%, 0) rotate3d(0, 0, 1, -10deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform: translate3d(0, 0%, 0) rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes anim-naira-2 {
  50% {
    transform: translate3d(0, 50%, 0) rotate3d(0, 0, 1, 10deg);
    animation-timing-function: ease-out;
  }

  100% {
    transform: translate3d(0, 0%, 0) rotate3d(0, 0, 1, 0deg);
  }
}

.button--naira:hover {
  background-color: #37474f;
  transition: background-color 0s 0.3s;
}

.button--naira.button--inverted:hover {
  background-color: #7986cb;
}

.button--naira:hover .zmdi {
  transform: translate3d(0, 0, 0);
}

.button--naira:hover>span {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}

.button--naira-up:hover>span {
  transform: translate3d(0, -100%, 0);
}

/* Nina */
.button--nina {
  padding: 0 2em;
  background: #7986cb;
  color: #fff;
  overflow: hidden;
  transition: background-color 0.3s;
}

.button--nina.button--inverted {
  background: #fff;
  color: #7986cb;
}

.button--nina>span {
  display: inline-block;
  padding: 1em 0;
  opacity: 0;
  color: #fff;
  transform: translate3d(0, -10px, 0);
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--nina::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1em 0;
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--nina:hover {
  background-color: #3f51b5;
}

.button--nina:hover::before {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}

.button--nina:hover>span {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.button--nina:hover>span:nth-child(1) {
  transition-delay: 0.045s;
}

.button--nina:hover>span:nth-child(2) {
  transition-delay: 0.09s;
}

.button--nina:hover>span:nth-child(3) {
  transition-delay: 0.135s;
}

.button--nina:hover>span:nth-child(4) {
  transition-delay: 0.18s;
}

.button--nina:hover>span:nth-child(5) {
  transition-delay: 0.225s;
}

.button--nina:hover>span:nth-child(6) {
  transition-delay: 0.27s;
}

.button--nina:hover>span:nth-child(7) {
  transition-delay: 0.315s;
}

.button--nina:hover>span:nth-child(8) {
  transition-delay: 0.36s;
}

.button--nina:hover>span:nth-child(9) {
  transition-delay: 0.405s;
}

.button--nina:hover>span:nth-child(10) {
  transition-delay: 0.45s;
}

/* Nuka */
.button--nuka {
  margin: 1em 2em;
  transition: color 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--nuka.button--inverted {
  color: #37474f;
}

.button--nuka::before,
.button--nuka::after {
  content: '';
  position: absolute;
  border-radius: inherit;
  background: #7986cb;
  z-index: -1;
}

.button--nuka::before {
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
  opacity: 0.2;
  transform: scale3d(0.7, 1, 1);
  transition: transform 0.3s, opacity 0.3s;
}

.button--nuka::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale3d(1.1, 1, 1);
  transition: transform 0.3s, background-color 0.3s;
}

.button--nuka::before,
.button--nuka::after {
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--nuka.button--inverted::before,
.button--nuka.button--inverted::after {
  background: #fff;
}

.button--nuka:hover {
  color: #fff;
}

.button--nuka:hover::before {
  opacity: 1;
}

.button--nuka:hover::after {
  background-color: #37474f;
}

.button--nuka.button--inverted:hover::after {
  background-color: #7986cb;
}

.button--nuka:hover::after,
.button--nuka:hover::before {
  transform: scale3d(1, 1, 1);
}

/* Pipaluk */
.button--pipaluk {
  color: #fff;
}

.button--pipaluk.button--inverted {
  color: #7986cb;
}

.button--pipaluk::before,
.button--pipaluk::after {
  content: '';
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: transform 0.3s, background-color 0.3s;
  transition-timing-function: cubic-bezier(0.25, 0, 0.3, 1);
}

.button--pipaluk::before {
  border: 2px solid #7986cb;
}

.button--pipaluk.button--inverted::before {
  border-color: #fff;
}

.button--pipaluk::after {
  background: #7986cb;
}

.button--pipaluk.button--inverted::after {
  background: #fff;
}

.button--pipaluk:hover::before {
  transform: scale3d(1, 1, 1);
}

.button--pipaluk::before,
.button--pipaluk:hover::after {
  transform: scale3d(0.7, 0.7, 1);
}

.button--pipaluk:hover::after {
  background-color: #3f51b5;
}

.button--pipaluk.button--inverted:hover::after {
  background-color: #fff;
}

/* Quidel */
.button--quidel {
  background: #7986cb;
  color: #7986cb;
  overflow: hidden;
  transition: color 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--quidel.button--inverted {
  background: #fff;
  color: #fff;
}

.button--quidel::before,
.button--quidel::after {
  content: '';
  position: absolute;
  z-index: -1;
  border-radius: inherit;
}

.button--quidel::after {
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  background: #fff;
}

.button--quidel.button--inverted::after {
  background: #37474f;
}

.button--quidel::before {
  background: #37474f;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--quidel.button--inverted::before {
  background: #7986cb;
}

.button--round-s.button--quidel::after {
  border-radius: 3px;
}

.button--round-m.button--quidel::after {
  border-radius: 13px;
}

.button--round-l.button--quidel::after {
  border-radius: 40px;
}

.button--quidel>span {
  padding-left: 0.35em;
}

.button--quidel:hover {
  color: #37474f;
}

.button--quidel.button--inverted:hover {
  color: #7986cb;
}

.button--quidel:hover::before {
  transform: translate3d(0, 0, 0);
}

/* Rayen */
.button--rayen {
  overflow: hidden;
  padding: 0;
  width: 230px;
}

.button--rayen.button--inverted {
  color: #fff;
}

.button--rayen::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #7986cb;
  transform: translate3d(-100%, 0, 0);
}

.button--rayen.button--inverted::before {
  background: #fff;
  color: #37474f;
}

.button--rayen>span {
  display: block;
}

.button--rayen::before,
.button--rayen>span {
  padding: 1em 2em;
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--rayen:hover::before {
  transform: translate3d(0, 0, 0);
}

.button--rayen:hover>span {
  transform: translate3d(0, 100%, 0);
}

/* Sacnite */
.button.button--sacnite {
  width: 70px;
  height: 70px;
  min-width: 0;
  padding: 0;
  color: #fff;
  transition: color 0.3s;
}

.button--scanite.button--round-l {
  border-radius: 50%;
}

.button--sacnite.button--inverted {
  color: #37474f;
}

.button--sacnite::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  z-index: -1;
  box-shadow: inset 0 0 0 35px #37474f;
  transform: scale3d(0.9, 0.9, 1);
  transition: box-shadow 0.3s, transform 0.3s;
}

.button--sacnite.button--inverted::before {
  box-shadow: inset 0 0 0 35px #fff;
}

.button--sacnite .zmdi {
  width: 22px;
}

.button--sacnite>span {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.button--sacnite:hover {
  color: #37474f;
}

.button--sacnite.button--inverted:hover {
  color: #fff;
}

.button--sacnite:hover::before {
  box-shadow: inset 0 0 0 2px #37474f;
  transform: scale3d(1, 1, 1);
}

.button--sacnite.button--inverted:hover::before {
  box-shadow: inset 0 0 0 2px #fff;
}

/* Saqui */
.button.button--saqui {
  overflow: hidden;
  color: #fff;
  background: #37474f;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}

.button--saqui.button--inverted {
  background: #fff;
  color: #37474f;
}

.button--saqui::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1em 2em;
  color: #37474f;
  transform-origin: -25% 50%;
  transform: rotate3d(0, 0, 1, 45deg);
  transition: transform 0.3s ease-in;
}

.button--saqui.button--inverted::after {
  color: #fff;
}

.button--saqui:hover::after,
.button--saqui:hover {
  transition-timing-function: ease-out;
}

.button--saqui:hover {
  background-color: #7986cb;
  color: #7986cb;
}

.button--saqui.button--inverted:hover {
  background-color: #3f51b5;
  color: #3f51b5;
}

.button--saqui:hover::after {
  transform: rotate3d(0, 0, 1, 0deg);
}

/* Shikoba */
.button.button--shikoba {
  padding: 1em 30px 1em 50px;
  overflow: hidden;
  background: #fff;
  color: #37474f;
  border-color: #37474f;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.button--shikoba.button--inverted {
  color: #fff;
  background: #7986cb;
}

.button--shikoba>span {
  display: inline-block;
  transform: translate3d(-10px, 0, 0);
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--shikoba .zmdi {
  position: absolute;
  left: 20px;
  transform: translate3d(-40px, 2.5em, 0);
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--shikoba:hover .zmdi,
.button--shikoba:hover>span {
  transform: translate3d(0, 0, 0);
}

.button--shikoba:hover {
  background: #3f51b5;
  border-color: #3f51b5;
  color: #fff;
}

/* Tamaya */
.button--tamaya {
  overflow: hidden;
  color: #7986cb;
  min-width: 180px;
}

.button--tamaya.button--inverted {
  color: #37474f;
  border-color: #37474f;
}

.button--tamaya::before,
.button--tamaya::after {
  content: attr(data-text);
  position: absolute;
  width: 100%;
  height: 50%;
  left: 0;
  background: #7986cb;
  color: #fff;
  overflow: hidden;
  transition: transform 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--tamaya.button--inverted::before,
.button--tamaya.button--inverted::after {
  background: #fff;
  color: #37474f;
}

.button--tamaya::before {
  top: 0;
  padding-top: 1em;
}

.button--tamaya::after {
  bottom: 0;
  line-height: 0;
}

.button--tamaya>span {
  display: block;
  transform: scale3d(0.2, 0.2, 1);
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--tamaya:hover::before {
  transform: translate3d(0, -100%, 0);
}

.button--tamaya:hover::after {
  transform: translate3d(0, 100%, 0);
}

.button--tamaya:hover>span {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/* Ujarak */
.button--ujarak {
  transition: border-color 0.4s, color 0.4s;
}

.button--ujarak::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ccae62;
  z-index: -1;
  opacity: 0;
  transform: scale3d(0.7, 1, 1);
  transition: transform 0.4s, opacity 0.4s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--ujarak.button--round-s::before {
  border-radius: 2px;
}

.button--ujarak.button--inverted::before {
  background: #7986CB;
}

.button--ujarak,
.button--ujarak::before {
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--ujarak:hover {
  color: #fff;
  border-color: #37474f;
}

.button--ujarak.button--inverted:hover {
  color: #37474F;
  border-color: #fff;
}

.button--ujarak:hover::before {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Wapasha */
.button.button--wapasha {
  background: #37474f;
  color: #fff;
  transition: background-color 0.3s, color 0.3s;
}

.button--wapasha.button--inverted {
  background: #fff;
  color: #37474f;
}

.button--wapasha::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #3f51b5;
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
  transform: scale3d(0.6, 0.6, 1);
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--wapasha.button--inverted::before {
  border-color: #7986cb;
}

.button--wapasha:hover {
  background-color: #fff;
  color: #3f51b5;
}

.button--wapasha.button--inverted:hover {
  background-color: #37474f;
  color: #7986cb;
}

.button--wapasha:hover::before {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

/* Wayra */
.button--wayra {
  overflow: hidden;
  width: 245px;
  transition: border-color 0.3s, color 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--wayra::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 150%;
  height: 100%;
  background: #37474f;
  z-index: -1;
  transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
  transform-origin: 0% 100%;
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}

.button--wayra:hover {
  color: #fff;
  border-color: #3f51b5;
}

.button--wayra.button--inverted:hover {
  color: #3f51b5;
  border-color: #fff;
}

.button--wayra:hover::before {
  opacity: 1;
  background-color: #3f51b5;
  transform: rotate3d(0, 0, 1, 0deg);
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--wayra.button--inverted:hover::before {
  background-color: #fff;
}

/* Winona */
.button--winona {
  overflow: hidden;
  padding: 0;
  transition: border-color 0.3s, background-color 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--winona::after {
  content: attr(data-text);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  color: #485e51;
  transform: translate3d(0, 25%, 0);
}

.button--winona>span {
  display: block;
}

.button--winona.button--inverted {
  color: #7986cb;
}

.button--winona.button--inverted:after {
  color: #fff;
}

.button--winona::after,
.button--winona>span {
  padding: 1em 2em;
  transition: transform 0.3s, opacity 0.3s;
  transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button--winona:hover {
  border-color: #ae8d3b;
  background-color: #e7b435;
}

.button--winona.button--inverted:hover {
  border-color: #21333C;
  background-color: #21333C;
}

.button--winona:hover::after {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.button--winona:hover>span {
  opacity: 0;
  transform: translate3d(0, -25%, 0);
}

/*** FINE STILE BOTTONI***/

/* Carousel OWL */
.carouselbackground {
  padding: 0;
}

.carouselbackground .carousel-inner {
  padding: 0;
  display: flex;
  flex-flow: row;
}

.owl-carousel.owl-loaded .owl-item {
  display: inline-block;
  vertical-align: top;
}

.owlbtns {
  position: absolute;
  width: initial;
  width: -moz-available;
  height: -webkit-fill-available;
  height: -moz-available;
  z-index: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.owlNext,
.owlPrev {
  background: #2d9070;
  color: #fff;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  user-select: none;
}

.owl-carousel {
  padding: 0;
  margin: 0;
}

/* fine Carousel OWL */

/* Effetto animazione testo */
.animTxt {
  display: flex;
  white-space: pre;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

.animTxt span {
  opacity: 0;
  letter-spacing: 0.02em;
  font-size: inherit;
}

.animTxt[data-efftxt="fadeInTxt"] span {
  animation: fadeInTxt 0.5s forwards;
}

.animTxt[data-efftxt="fadeInUpTxt"] span {
  animation: fadeInUpTxt 1s forwards;
}

@-webkit-keyframes fadeInTxt {
  to {
    opacity: 1;
    transform: translateX(0);
    transform: translateY(0);
  }
}

@keyframes fadeInTxt {
  to {
    opacity: 1;
    transform: translateX(0);
    transform: translateY(0);
  }
}

/** EFFETTI GSAP **/

/* Scroll Orizzontale */
.contenGspOriz {
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.contenGspOriz .pannellogsp {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  padding: 0px;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  border-right: 3px solid #FFF;
}

.contenGspOriz .pannellogsp figure {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

/* fine Scroll Orizzontale */

/* Scroll Swipe Verticale */
.contenGspSwipe {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

.contenGspSwipe .pannellogsp {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* fine Scroll Verticale */
.contenGspVert .pannellogsp {
  position: relative;
  height: 100vh;
  width: 100%;
  background-color: #fff;
}

/* fine Scroll Verticale */

/** TIMELINE **/
.boxtimeline {
  width: 100vw !important;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.rowtimeline {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fototimeline {
  position: absolute;
  height: auto;
  max-width: 100vw;
  max-height: 100vh;
  left: 50%;
}

.layertimeline {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: #000;
  top: 0;
  left: 0;
}

.elementotimeline {
  position: absolute;
  z-index: 2;
  bottom: 0px;
  text-align: center;
  line-height: 1;
}

/** TIMELINE **/

div#headermenumobile\ bottone-fix {
  display: flex;
  z-index: 1;
  align-content: center;
  justify-content: flex-end;
  align-items: center;
}

i.zmdi.zmdi-chevron-right {
  margin-left: 5px;
  display: none;
}

#menu_header.grndm {
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
}

#menu_header.grndm {
  width: 100%;
  display: flex;
  padding: 0;
}

#menu_header.grndm .areabck {
  position: absolute;
  width: 50%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  top: 0;
  z-index: -1;
}

#menu_header.grndm .areamenu {
  width: 50%;
  height: 100vh;
  padding: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#menu_header .areabck .sezab {
  position: relative;
  height: 100%;
  width: 100%;
}

.menu-aperto .navbar-nav-menu {
  align-items: flex-start;
  align-content: flex-start;
}

.menu-aperto .navbar-nav-menu li.nav-item .nav-link {
  justify-content: flex-start;
}

.menu-aperto .navbar-nav-menu ul.sottomenu {
  position: relative;
}

.menu-aperto .navbar-nav-menu ul.sottomenu {
  margin-left: 0 !important;
  height: auto !important;
}

.menu-aperto .navbar-nav-menu li.nav-item .nav-link {
  padding: 5px 5px !important;
  font-family: var(--font-family-2);
  font-size: 1.8rem;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: var(--font-family-6);
  text-transform: math-auto;
  background-color: transparent;
  font-weight: 300;
}

.navbar-menu label {
  color: #000;
}

.anteprimacamera picture img,
picture img {
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.anteprimacamera picture:hover img,
picture:hover img {
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}


.navbar-nav-menu li.nav-item .nav-link {
  line-height: 20px;
  display: flex;
  padding: 0 5px;
  flex-direction: row;
  align-items: center;
  align-content: center;
  justify-content: center;
  color: #000;
  margin-bottom: 15px;
  font-size: 1.8rem;
  padding: 5px 5px !important;
  font-family: var(--font-family-6);
  text-transform: math-auto;
}