﻿@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap");
:root {
  --color-black: #1A202D;
  --color-white: #fff;
  --color-grey: #EFF1F2;
  --color-grey-2: #666;
  --color-grey-3: #B0B8BC;
  --color-grey-4: #E4E4E4;
  --color-blue: #377082;
  --color-blue-2: #214855;
  --color-blue-3: #86B0BD;
  --color-blue-4: #043750;
  --color-blue-5: #28B0B6;
  --color-blue-6: #91a5af;
  --color-blue-7: #6AAEDB;
  --color-blue-8: #468EA5;
  --color-blue-9: #dee4e7;
  --color-blue-10: #52A4BE;
  --color-orange: #F58B00;
  --color-yellow: #FBBA00;
  --color-green: #7BC4A6;
  --color-green-2: #BAC629;
  --color-red: #CB0A0A;
  --color-pink: #FD7096;
  --color-violet: #A33BCF;
  --color-transparent: transparent;
  --linear-gradient: linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(84, 84, 84, 0));
  --linear-gradient-2: linear-gradient(90deg, rgba(55, 112, 130, 1) 60%, rgba(55, 112, 130, 0));
  --font-family-pt-sans: "PT Sans", serif;
  --font-family-montserrat: "Montserrat", serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --font-size: 16px;
  --font-size-sm: 12px;
  --font-size-md: 20px;
  --font-size-lg: 30px;
  --font-size-xl: 50px;
  --font-size-xxl: 100px;
  --cubic-bezier-linear: cubic-bezier(.6,.03,.44,.89);
  --cubic-bezier-linear-2: cubic-bezier(.48,.13,.51,1.01);
  --cubic-bezier-elastic: cubic-bezier(.64,.21,.55,1.56);
  --header-height: 130px;
  --header-height-lg: 64px;
  --header-height-md: 100px;
  --header-search-width: 240px;
  --header-contacts-width: 160px;
  --header-nav-height: 60px;
  --box-margin: 50px;
  --box-margin-sm: 25px;
  --border-radius-0: 0;
  --border-radius-3: 3px;
  --border-radius-15: 15px;
  --border-radius-22: 22px;
  --border-radius-30: 30px;
  --border-radius-70: 70px;
  --box-shadow-6: 0 6px 6px rgba(0, 0, 0, .7);
  --box-shadow-99: 0 0 99px rgba(0, 0, 0, .16);
}

:root {
  --color-black: #1A202D;
  --color-white: #fff;
  --color-grey: #EFF1F2;
  --color-grey-2: #666;
  --color-grey-3: #B0B8BC;
  --color-grey-4: #E4E4E4;
  --color-blue: #377082;
  --color-blue-2: #214855;
  --color-blue-3: #86B0BD;
  --color-blue-4: #043750;
  --color-blue-5: #28B0B6;
  --color-blue-6: #91a5af;
  --color-blue-7: #6AAEDB;
  --color-blue-8: #468EA5;
  --color-blue-9: #dee4e7;
  --color-blue-10: #52A4BE;
  --color-orange: #F58B00;
  --color-yellow: #FBBA00;
  --color-green: #7BC4A6;
  --color-green-2: #BAC629;
  --color-red: #CB0A0A;
  --color-pink: #FD7096;
  --color-violet: #A33BCF;
  --color-transparent: transparent;
  --linear-gradient: linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(84, 84, 84, 0));
  --linear-gradient-2: linear-gradient(90deg, rgba(55, 112, 130, 1) 60%, rgba(55, 112, 130, 0));
  --font-family-pt-sans: "PT Sans", serif;
  --font-family-montserrat: "Montserrat", serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --font-size: 16px;
  --font-size-sm: 12px;
  --font-size-md: 20px;
  --font-size-lg: 30px;
  --font-size-xl: 50px;
  --font-size-xxl: 100px;
  --cubic-bezier-linear: cubic-bezier(.6,.03,.44,.89);
  --cubic-bezier-linear-2: cubic-bezier(.48,.13,.51,1.01);
  --cubic-bezier-elastic: cubic-bezier(.64,.21,.55,1.56);
  --header-height: 130px;
  --header-height-lg: 64px;
  --header-height-md: 100px;
  --header-search-width: 240px;
  --header-contacts-width: 160px;
  --header-nav-height: 60px;
  --box-margin: 50px;
  --box-margin-sm: 25px;
  --border-radius-0: 0;
  --border-radius-3: 3px;
  --border-radius-15: 15px;
  --border-radius-22: 22px;
  --border-radius-30: 30px;
  --border-radius-70: 70px;
  --box-shadow-6: 0 6px 6px rgba(0, 0, 0, .7);
  --box-shadow-99: 0 0 99px rgba(0, 0, 0, .16);
}

.tran {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.tran *, .tran::before, .tran::after,
.tran ::before,
.tran ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}

.sectionmaxddl {
  max-width: 300px;
}

.sectionmaxddl {
  max-width: 300px;
}

.no-ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.color-black {
  color: var(--color-black) !important;
}

.color-white {
  color: var(--color-white) !important;
}

.color-grey {
  color: var(--color-grey) !important;
}

.color-grey-2 {
  color: var(--color-grey-2) !important;
}

.color-grey-3 {
  color: var(--color-grey-3) !important;
}

.color-grey-4 {
  color: var(--color-grey-4) !important;
}

.color-blue {
  color: var(--color-blue) !important;
}

.color-blue-2 {
  color: var(--color-blue-2) !important;
}

.color-blue-3 {
  color: var(--color-blue-3) !important;
}

.color-blue-4 {
  color: var(--color-blue-4) !important;
}

.color-blue-5 {
  color: var(--color-blue-5) !important;
}

.color-blue-6 {
  color: var(--color-blue-6) !important;
}

.color-blue-7 {
  color: var(--color-blue-7) !important;
}

.color-blue-8 {
  color: var(--color-blue-8) !important;
}

.color-blue-9 {
  color: var(--color-blue-9) !important;
}

.color-orange {
  color: var(--color-orange) !important;
}

.color-yellow {
  color: var(--color-yellow) !important;
}

.color-green {
  color: var(--color-green) !important;
}

.color-green-2 {
  color: var(--color-green-2) !important;
}

.color-red {
  color: var(--color-red) !important;
}

.color-pink {
  color: var(--color-pink) !important;
}

.color-violet {
  color: var(--color-violet) !important;
}

.color-transparent {
  color: var(--color-transparent) !important;
}

.border-color-black {
  border-color: var(--color-black) !important;
}

.border-color-white {
  border-color: var(--color-white) !important;
}

.border-color-grey {
  border-color: var(--color-grey) !important;
}

.border-color-grey-2 {
  border-color: var(--color-grey-2) !important;
}

.border-color-grey-3 {
  border-color: var(--color-grey-3) !important;
}

.border-color-grey-4 {
  border-color: var(--color-grey-4) !important;
}

.border-color-blue {
  border-color: var(--color-blue) !important;
}

.border-color-blue-2 {
  border-color: var(--color-blue-2) !important;
}

.border-color-blue-3 {
  border-color: var(--color-blue-3) !important;
}

.border-color-blue-4 {
  border-color: var(--color-blue-4) !important;
}

.border-color-blue-5 {
  border-color: var(--color-blue-5) !important;
}

.border-color-blue-6 {
  border-color: var(--color-blue-6) !important;
}

.border-color-blue-7 {
  border-color: var(--color-blue-7) !important;
}

.border-color-blue-8 {
  border-color: var(--color-blue-8) !important;
}

.border-color-blue-9 {
  border-color: var(--color-blue-9) !important;
}

.border-color-orange {
  border-color: var(--color-orange) !important;
}

.border-color-yellow {
  border-color: var(--color-yellow) !important;
}

.border-color-green {
  border-color: var(--color-green) !important;
}

.border-color-green-2 {
  border-color: var(--color-green-2) !important;
}

.border-color-red {
  border-color: var(--color-red) !important;
}

.border-color-pink {
  border-color: var(--color-pink) !important;
}

.border-color-violet {
  border-color: var(--color-violet) !important;
}

.border-color-transparent {
  border-color: var(--color-transparent) !important;
}

.background-black {
  background-color: var(--color-black) !important;
}

.background-white {
  background-color: var(--color-white) !important;
}

.background-grey {
  background-color: var(--color-grey) !important;
}

.background-grey-2 {
  background-color: var(--color-grey-2) !important;
}

.background-grey-3 {
  background-color: var(--color-grey-3) !important;
}

.background-grey-4 {
  background-color: var(--color-grey-4) !important;
}

.background-blue {
  background-color: var(--color-blue) !important;
}

.background-blue-2 {
  background-color: var(--color-blue-2) !important;
}

.background-blue-3 {
  background-color: var(--color-blue-3) !important;
}

.background-blue-4 {
  background-color: var(--color-blue-4) !important;
}

.background-blue-5 {
  background-color: var(--color-blue-5) !important;
}

.background-blue-6 {
  background-color: var(--color-blue-6) !important;
}

.background-blue-7 {
  background-color: var(--color-blue-7) !important;
}

.background-blue-8 {
  background-color: var(--color-blue-8) !important;
}

.background-blue-9 {
  background-color: var(--color-blue-9) !important;
}

.background-orange {
  background-color: var(--color-orange) !important;
}

.background-yellow {
  background-color: var(--color-yellow) !important;
}

.background-green {
  background-color: var(--color-green) !important;
}

.background-green-2 {
  background-color: var(--color-green-2) !important;
}

.background-red {
  background-color: var(--color-red) !important;
}

.background-violet {
  background-color: var(--color-violet) !important;
}

.background-transparent {
  background-color: var(--color-transparent) !important;
}

.background-box-icon {
  background: url("../../images/background-box-icon.webp") no-repeat center center transparent !important;
  background-size: cover;
}

.font-family-pt-sans {
  font-family: var(--font-family-pt-sans) !important;
}

.font-family-montserrat {
  font-family: var(--font-family-montserrat) !important;
}

.font-size-sm {
  font-size: var(--font-size-sm) !important;
}

.font-size-md {
  font-size: var(--font-size-md) !important;
}

.font-size-lg {
  font-size: var(--font-size-lg) !important;
}

.font-size-xl {
  font-size: var(--font-size-xl) !important;
}

.font-size-xxl {
  font-size: var(--font-size-xxl) !important;
}

.font-weight-regular {
  font-weight: var(--font-weight-regular) !important;
}

.font-weight-medium {
  font-weight: var(--font-weight-medium) !important;
}

.font-weight-bold {
  font-weight: var(--font-weight-bold) !important;
}

.font-weight-black {
  font-weight: var(--font-weight-black) !important;
}

.box-shadow-99 {
  box-shadow: var(--box-shadow-99) !important;
}

.border-top-left-radius-0 {
  border-top-left-radius: var(--border-radius-0) !important;
}

.border-top-right-radius-0 {
  border-top-right-radius: var(--border-radius-0) !important;
}

.border-bottom-left-radius-0 {
  border-bottom-left-radius: var(--border-radius-0) !important;
}

.border-bottom-right-radius-0 {
  border-bottom-right-radius: var(--border-radius-0) !important;
}

.border-radius-0 {
  border-radius: var(--border-radius-0) !important;
}

.border-top-left-radius-3 {
  border-top-left-radius: var(--border-radius-3) !important;
}

.border-top-right-radius-3 {
  border-top-right-radius: var(--border-radius-3) !important;
}

.border-bottom-left-radius-3 {
  border-bottom-left-radius: var(--border-radius-3) !important;
}

.border-bottom-right-radius-3 {
  border-bottom-right-radius: var(--border-radius-3) !important;
}

.border-radius-3 {
  border-radius: var(--border-radius-3) !important;
}

.border-top-left-radius-15 {
  border-top-left-radius: var(--border-radius-15) !important;
}

.border-top-right-radius-15 {
  border-top-right-radius: var(--border-radius-15) !important;
}

.border-bottom-left-radius-15 {
  border-bottom-left-radius: var(--border-radius-15) !important;
}

.border-bottom-right-radius-15 {
  border-bottom-right-radius: var(--border-radius-15) !important;
}

.border-radius-15 {
  border-radius: var(--border-radius-15) !important;
}

.border-top-left-radius-22 {
  border-top-left-radius: var(--border-radius-22) !important;
}

.border-top-right-radius-22 {
  border-top-right-radius: var(--border-radius-22) !important;
}

.border-bottom-left-radius-22 {
  border-bottom-left-radius: var(--border-radius-22) !important;
}

.border-bottom-right-radius-22 {
  border-bottom-right-radius: var(--border-radius-22) !important;
}

.border-radius-22 {
  border-radius: var(--border-radius-22) !important;
}

.border-top-left-radius-30 {
  border-top-left-radius: var(--border-radius-30) !important;
}

.border-top-right-radius-30 {
  border-top-right-radius: var(--border-radius-30) !important;
}

.border-bottom-left-radius-30 {
  border-bottom-left-radius: var(--border-radius-30) !important;
}

.border-bottom-right-radius-30 {
  border-bottom-right-radius: var(--border-radius-30) !important;
}

.border-radius-30 {
  border-radius: var(--border-radius-30) !important;
}

.border-top-left-radius-70 {
  border-top-left-radius: var(--border-radius-70) !important;
}

.border-top-right-radius-70 {
  border-top-right-radius: var(--border-radius-70) !important;
}

.border-bottom-left-radius-70 {
  border-bottom-left-radius: var(--border-radius-70) !important;
}

.border-bottom-right-radius-70 {
  border-bottom-right-radius: var(--border-radius-70) !important;
}

.border-radius-70 {
  border-radius: var(--border-radius-70) !important;
}

.rotate-90 {
  transform: rotate(90deg);
}

.rotate-180 {
  transform: rotate(180deg);
}

.rotate-270 {
  transform: rotate(270deg);
}

@font-face {
  font-family: "maugeri";
  src: url("/fonts/maugeri-sitoweb/fonts/maugeri.eot?rset06");
  src: url("/fonts/maugeri-sitoweb/fonts/maugeri.eot?rset06#iefix") format("embedded-opentype"), url("/fonts/maugeri-sitoweb/fonts/maugeri.ttf?rset06") format("truetype"), url("/fonts/maugeri-sitoweb/fonts/maugeri.woff?rset06") format("woff"), url("/fonts/maugeri-sitoweb/fonts/maugeri.svg?rset06#maugeri") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.ico-m {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "maugeri" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-ico-maugeri:before {
  content: "\e900";
}

.icon-maugeri-logo-img-b:before {
  content: "\e909";
}

.icon-ico-calendar:before {
  content: "\e901";
}

.icon-ico-phone:before {
  content: "\e902";
}

.icon-ico-search:before {
  content: "\e903";
}

.icon-ico-arrow:before {
  content: "\e904";
}

.icon-ico-social-facebook:before {
  content: "\e905";
}

.icon-ico-social-instagram:before {
  content: "\e906";
}

.icon-ico-social-linkedin:before {
  content: "\e907";
}

.icon-ico-social-youtube:before {
  content: "\e908";
}

.icon-ico-marker:before {
  content: "\e90a";
}

.icon-ico-email:before {
  content: "\e90b";
}

.icon-ico-arrow-radius:before {
  content: "\e90c";
}

.icon-ico-download:before {
  content: "\e90d";
}

body {
  color: var(--color-grey-2);
  font-family: var(--font-family-pt-sans);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size);
  line-height: normal;
  width: 100vw;
  overflow-x: hidden;
}

:focus-visible {
  outline: dashed 3px var(--color-blue-2) !important;
  outline-offset: 3px;
  transition: none !important;
}

::selection {
  background-color: var(--color-blue-5);
}

::before,
::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
::before *, ::before::before, ::before::after,
::before ::before,
::before ::after,
::after *,
::after::before,
::after::after,
::after ::before,
::after ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}

a {
  transition: all 0.5s var(--cubic-bezier-linear);
  color: var(--color-blue);
  text-decoration: none;
}
a *, a::before, a::after,
a ::before,
a ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
a:hover {
  text-decoration: underline dashed var(--color-blue-2);
}
a.arrow {
  padding-left: 25px;
  position: relative;
  display: inline-block;
}
a.arrow::before {
  font-family: "maugeri";
  content: "\e90c";
  position: absolute;
  top: 0;
  left: 0;
}
a:has(.accordion-button) {
  display: block;
}
a:has(.accordion-button) .accordion-button > * {
  font-size: var(--font-size);
  font-weight: var(--font-weight-regular);
  color: var(--color-grey-2);
}
a:has(.accordion-button) .accordion-button::after {
  background-color: var(--color-white) !important;
  color: var(--color-blue) !important;
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
}

h1 {
  font-size: var(--font-size-md);
}
h1.line {
  font-size: var(--font-size-xxl);
  color: var(--color-blue-6);
  display: inline-block;
  padding-right: 80px;
  position: relative;
}
h1.line::after {
  content: "";
  position: absolute;
  bottom: 20px;
  right: 0;
  width: 50px;
  height: 10px;
  background-color: var(--color-blue-6);
  pointer-events: none;
}

h2 {
  font-size: var(--font-size-lg);
  color: var(--color-blue);
}

input[type=text],
input[type=password],
textarea,
select {
  color: var(--color-black);
  font-family: var(--font-family-pt-sans);
  font-size: var(--font-size);
  padding: 10px 15px;
  border: solid 1px var(--color-grey);
  border-radius: var(--border-radius-3);
}

input[type=checkbox] {
  appearance: none;
  background-color: var(--color-white);
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-3);
  position: relative;
  cursor: pointer;
}
input[type=checkbox]:checked::before, input[type=checkbox]:checked::after {
  content: "";
  width: 9px;
  height: 3px;
  top: 10px;
  left: 1px;
  background-color: var(--color-blue);
  transform: rotate(45deg);
  position: absolute;
}
input[type=checkbox]:checked::after {
  width: 15px;
  transform: rotate(-45deg);
  top: 8px;
  left: 4.5px;
}

input[type=file]::file-selector-button {
  background-color: var(--color-blue);
  color: var(--color-white);
}
input[type=file]::file-selector-button:hover {
  background-color: var(--color-blue-2);
}

button,
.button,
.accordion-button {
  background-color: var(--color-blue);
  color: var(--color-white);
  text-transform: uppercase;
  padding: 12px 45px 10px 12px;
  font-size: var(--font-size-md);
  display: inline-block;
  position: relative;
  border: none;
  transition: all 0.5s var(--cubic-bezier-linear);
}
button *, button::before, button::after,
button ::before,
button ::after,
.button *,
.button::before,
.button::after,
.button ::before,
.button ::after,
.accordion-button *,
.accordion-button::before,
.accordion-button::after,
.accordion-button ::before,
.accordion-button ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
button::after,
.button::after,
.accordion-button::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  right: 0;
  left: unset;
  width: 35px;
  background-color: var(--color-blue-2);
  font-family: "maugeri";
  content: "\e904";
  display: flex;
  justify-content: center;
  align-items: center;
}
button:hover,
.button:hover,
.accordion-button:hover {
  background-color: var(--color-blue-2);
  color: var(--color-white);
  letter-spacing: 0.3px;
}
button:hover::after,
.button:hover::after,
.accordion-button:hover::after {
  transform: scale(0.8);
}

.container {
  position: relative;
}

.box-data {
  padding: var(--box-margin) 0;
  position: relative;
}
.box-data .box-title {
  font-size: var(--font-size-lg);
  color: var(--color-grey-2);
  margin-bottom: 60px;
}
.box-data .box-title h2 {
  color: var(--color-blue);
  font-size: var(--font-size-xl);
  text-transform: uppercase;
}

.box-icon {
  background-color: var(--color-white);
  font-size: var(--font-size-lg);
  color: var(--color-blue);
  position: relative;
  padding: 20px 70px 20px 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  transition: none;
  /*&:hover {
       color: $color-white !important;
       @include letter-spacing;

       > span:not(.ico-m) {
           width: 100%;
       }

       > div[class*="color-"] {
           color: $color-white !important;
       }

       .ico-m {
           color: $color-white !important;
       }
   }*/
}
.box-icon *,
.box-icon *::before,
.box-icon *::after {
  transition: none;
}
.box-icon > span:not(.ico-m) {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 6px;
  background-color: var(--color-blue);
  pointer-events: none;
}
.box-icon .ico-m {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  font-size: var(--font-size-xl);
}
.box-icon > div {
  position: relative;
  z-index: 3;
}
.box-icon[class*=background-] {
  color: var(--color-white);
  font-size: var(--font-size-md);
  padding: 15px 50px 15px 15px;
}
.box-icon[class*=background-] > span:not(.ico-m) {
  width: 0;
}
.box-icon[class*=background-] .ico-m {
  width: 40px;
  height: 40px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100%;
  background-color: var(--color-white);
  font-size: var(--font-size-md);
  display: flex;
  justify-content: center;
  align-items: center;
}
.box-icon.icon-rounded {
  font-size: var(--font-size-md);
  background-color: var(--color-transparent);
  padding: 90px 0 0 0;
  text-align: center;
}
.box-icon.icon-rounded > div {
  width: 100%;
}
.box-icon.icon-rounded > span:not(.ico-m) {
  width: 80px;
  height: 80px;
  left: calc(50% - 40px);
  border-radius: 100%;
}
.box-icon.icon-rounded .ico-m {
  color: var(--color-white) !important;
  right: unset;
  left: 50%;
  top: 38px;
  transform: translateX(-50%) translateY(-50%);
}
.box-icon:hover {
  color: var(--color-blue);
}
.box-icon:hover[class*=background-] {
  color: var(--color-white);
}
.box-icon[class*=background-]:hover .ico-m {
  color: var(--color-blue-2) !important;
}

.box-image {
  display: block;
  overflow: hidden;
  position: relative;
  color: var(--color-white);
  height: 100%;
  min-height: 150px;
}
.box-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  mix-blend-mode: multiply;
  opacity: 0;
  z-index: 1;
  transition-duration: 1s;
}
.box-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-duration: 1s !important;
  transition-timing-function: var(--cubic-bezier-linear-2);
}
.box-image > div {
  position: absolute;
  bottom: 14%;
  left: 20px;
  z-index: 2;
}
.box-image > div * {
  display: inline-block;
  padding: 8px;
  margin-bottom: 6px;
  background-color: var(--color-blue-4);
  max-width: 75%;
  margin-right: 20%;
  transition-duration: 1s !important;
}
.box-image.image-rounded {
  width: 90px !important;
  height: 90px !important;
  min-height: unset !important;
  border-radius: 100%;
}
.box-image:hover {
  color: var(--color-white);
}
.box-image:hover::before {
  opacity: 0.5;
}
.box-image:hover img {
  scale: 1.1;
}
.box-image:hover > div * {
  padding-right: 30px;
  padding-left: 15px;
  letter-spacing: 2px;
}

.box-text {
  display: inline-block;
  background-color: var(--color-blue);
  display: inline-block;
  color: var(--color-white);
  transition: all 0.5s var(--cubic-bezier-linear);
  overflow: hidden;
  position: relative;
  width: 100%;
}
.box-text *, .box-text::before, .box-text::after,
.box-text ::before,
.box-text ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.box-text .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 210px;
  overflow: hidden;
  z-index: 1;
}
.box-text .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);
}
.box-text .img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  mix-blend-mode: multiply;
  opacity: 0;
}
.box-text > div:not(.img) {
  padding: 222px 12px 12px 12px;
}
.box-text > div:not(.img) > h3,
.box-text > div:not(.img) > strong {
  padding: 12px;
  background-color: var(--color-blue-5);
  color: var(--color-white);
  font-size: var(--font-size-md);
  margin-bottom: 20px;
  position: relative;
  display: block;
  z-index: 2;
}
.box-text > div:not(.img) > span {
  position: relative;
  z-index: 2;
}
.box-text > div:not(.img) > div {
  margin: 20px -12px -12px -12px;
  padding: 0 12px;
  height: 30px;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-blue-2);
}
.box-text.text-content {
  padding: 35px 15px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.box-text.text-content .img {
  right: 5px;
  left: unset;
  width: unset;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-xl);
  pointer-events: none;
}
.box-text.text-content .img::after {
  content: none;
}
.box-text.text-content:has(.img) {
  padding-right: 45px;
}
.box-text.text-content.first {
  border-top-left-radius: var(--border-radius-30);
}
.box-text.text-content.last {
  border-bottom-right-radius: var(--border-radius-30);
}
.box-text:hover {
  color: var(--color-white);
}
.box-text:hover .img {
  height: 100%;
}
.box-text:hover .img::after {
  opacity: 0.7;
}
.box-text:hover > div:not(.img) > div {
  opacity: 0;
}

.box-swiper .swiper .swiper-slide {
  position: relative;
}
.box-swiper .swiper .swiper-slide img {
  transition: all 0.5s var(--cubic-bezier-linear);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box-swiper .swiper .swiper-slide img *, .box-swiper .swiper .swiper-slide img::before, .box-swiper .swiper .swiper-slide img::after,
.box-swiper .swiper .swiper-slide img ::before,
.box-swiper .swiper .swiper-slide img ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.box-swiper .swiper[slidesperview=auto] .swiper-slide {
  width: auto;
}
.box-swiper .swiper-pagination {
  transition: none;
}
.box-swiper .swiper-pagination .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background-color: var(--color-black);
  opacity: 1;
  margin: 0 7px;
}
.box-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-blue);
}

[class*=swiper-button-] {
  background-color: var(--color-blue);
  width: 36px;
  height: 36px;
  border-radius: 100%;
  margin: 0;
  transition: all 0.5s var(--cubic-bezier-linear);
}
[class*=swiper-button-] *, [class*=swiper-button-]::before, [class*=swiper-button-]::after,
[class*=swiper-button-] ::before,
[class*=swiper-button-] ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
[class*=swiper-button-]::after {
  font-family: "maugeri";
  content: "\e904";
  color: var(--color-white);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-regular);
  margin-left: 3px;
}
[class*=swiper-button-].swiper-button-prev {
  transform: rotate(180deg);
}
[class*=swiper-button-]:hover {
  background-color: var(--color-blue-2);
}

.tooltip {
  --bs-tooltip-color: var(--color-white);
  --bs-tooltip-bg: var(--color-blue);
}

.accordion .accordion-item {
  margin-bottom: 10px;
  color: var(--color-grey-2);
  background-color: var(--color-transparent);
  border: none;
}
.accordion .accordion-item .accordion-header {
  display: inline-block;
}
.accordion .accordion-item .accordion-header .accordion-button {
  background-color: var(--color-blue-8);
  color: var(--color-white);
  padding: 8px 50px 8px 10px;
  min-width: 280px;
  border-radius: 0 var(--border-radius-22) 0 0 !important;
  position: relative;
  transition: all 0.5s var(--cubic-bezier-linear);
}
.accordion .accordion-item .accordion-header .accordion-button *, .accordion .accordion-item .accordion-header .accordion-button::before, .accordion .accordion-item .accordion-header .accordion-button::after,
.accordion .accordion-item .accordion-header .accordion-button ::before,
.accordion .accordion-item .accordion-header .accordion-button ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.accordion .accordion-item .accordion-header .accordion-button::after {
  background-image: none;
  background-color: var(--color-white);
  color: var(--color-blue-8);
  width: 40px;
  height: 40px;
  transform: scale(0.7);
  border-radius: 100%;
}
.accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) {
  box-shadow: none;
}
.accordion .accordion-item .accordion-header .accordion-button:not(.collapsed)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 100%;
  height: 24px;
  background-color: var(--color-white);
  border-bottom-right-radius: var(--border-radius-22);
  z-index: 2;
  pointer-events: none;
}
.accordion .accordion-item .accordion-header .accordion-button:not(.collapsed)::after {
  transform: scale(0.7) rotate(90deg);
}
.accordion .accordion-item .accordion-header .accordion-button:focus {
  box-shadow: none;
}
.accordion .accordion-item .accordion-collapse {
  background-color: var(--color-blue-9);
  border-bottom-right-radius: var(--border-radius-70);
}
.accordion .accordion-item .accordion-collapse .accordion-body {
  padding: 40px;
}
.accordion .accordion-item .accordion-collapse .accordion-body ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  padding-left: 20px;
}
.accordion .accordion-item .accordion-collapse .accordion-body ul > li {
  padding-left: 35px;
  position: relative;
}
.accordion .accordion-item .accordion-collapse .accordion-body ul > li::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: var(--color-white);
  position: absolute;
  top: 8px;
  left: 0;
  pointer-events: none;
}
.accordion .accordion-item:first-of-type {
  margin-top: 30px;
}
.accordion .accordion-item:has(.accordion-button:not(.collapsed)) {
  margin-bottom: 25px;
}
.accordion.bullet .accordion-item .accordion-header .accordion-button {
  background-color: var(--color-transparent);
  text-transform: none;
  color: var(--color-blue);
  font-weight: var(--font-weight-bold);
  border-bottom: solid 1px var(--color-grey-3);
  padding-left: 0;
  margin-left: 50px;
}
.accordion.bullet .accordion-item .accordion-header .accordion-button::before {
  content: none;
}
.accordion.bullet .accordion-item .accordion-header .accordion-button::after {
  background-color: var(--color-blue);
  color: var(--color-white);
}
.accordion.bullet .accordion-item .accordion-collapse {
  background-color: var(--color-transparent);
  border-radius: 0;
}
.accordion.bullet .accordion-item .accordion-collapse .accordion-body {
  margin-top: 20px;
  padding: 0;
}

.nav-tabs .nav-link {
  border-radius: 0;
  font-weight: var(--font-weight-bold);
  text-transform: unset;
  padding: 15px 30px;
  color: var(--color-blue);
  border: none;
}
.nav-tabs .nav-link::after {
  content: none;
}
.nav-tabs .nav-link:hover {
  background-color: var(--color-transparent);
  color: var(--color-blue-5);
}
.nav-tabs .nav-link.active {
  background-color: var(--color-white);
  color: var(--color-blue);
}

.tab-content {
  background-color: var(--color-white);
  padding: 40px;
}
.tab-content h3 {
  font-size: var(--font-size-md);
  color: var(--color-blue);
  margin-bottom: 15px;
}

.strut {
  border: solid 3px var(--color-blue);
  padding: 25px 35px;
}
.strut .border-bottom {
  display: block;
  padding-bottom: 16px;
  margin-bottom: 15px;
  border-bottom: solid 8px var(--color-blue) !important;
}

[class*=col-]:has(.strut):first-of-type .strut {
  border-bottom-left-radius: var(--border-radius-30);
}
[class*=col-]:has(.strut):last-of-type .strut {
  border-bottom-right-radius: var(--border-radius-30);
}

#skip-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: unset;
  height: unset;
  font-size: var(--font-size);
  font-weight: var(--font-weight-bold);
  background-color: var(--color-white);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}
#skip-link:focus-visible {
  opacity: 1;
  pointer-events: fill;
}

#loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 100vw;
  position: fixed;
  background-color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--color-white);
  z-index: 2000;
}
#loader > div {
  position: relative;
}
#loader > div svg {
  width: 70px;
  transform: scale(1.2);
}
#loader > div svg #logo-2,
#loader > div svg #logo-3 {
  opacity: 0;
}
#loader > div > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 40%;
  height: unset;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  width: 100vw;
  height: var(--header-height);
  background-color: var(--color-white);
  font-size: var(--font-size-md);
  z-index: 1000;
}
header a,
header span {
  color: var(--color-blue-4);
}
header ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header ul li {
  display: inline-block;
  margin: 0 15px;
  position: relative;
}
header > div {
  position: relative;
  height: 100%;
}
header > div .container {
  height: calc(100% - 4px);
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
}
header > div .container .logo {
  display: inline-block;
  width: 185px;
  margin-left: 50px;
  position: relative;
  font-size: var(--font-size);
  color: var(--color-blue);
  font-weight: var(--font-weight-bold);
}
header > div::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: unset;
  bottom: 0;
  height: 4px;
  background-color: var(--color-blue);
}
header > div .search {
  background-color: var(--color-blue-3);
  padding: 6px 0 6px 10px;
  margin-right: 0;
  position: absolute;
  top: 0;
  right: 0;
  left: unset;
  width: var(--header-search-width);
  height: 60px;
}
header > div .search > div {
  position: relative;
}
header > div .search input[type=text] {
  background-color: var(--color-transparent);
  border: none;
}
header > div .search input[type=text]::selection {
  background-color: var(--color-blue-2);
}
header > div .search input[type=text],
header > div .search label {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
}
header > div .search input[type=text] {
  padding-right: 50px;
}
header > div .search label {
  position: absolute;
  top: 10px;
  left: 15px;
  pointer-events: none;
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div .search label *, header > div .search label::before, header > div .search label::after,
header > div .search label ::before,
header > div .search label ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div .search label.hidden {
  opacity: 0;
}
header > div .search .ico-m {
  position: absolute;
  top: 6px;
  right: 20px;
  color: var(--color-white);
  padding: 8px;
  border-radius: 100%;
  transition: all 0.5s var(--cubic-bezier-linear);
  cursor: pointer;
}
header > div .search .ico-m *, header > div .search .ico-m::before, header > div .search .ico-m::after,
header > div .search .ico-m ::before,
header > div .search .ico-m ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div .search .ico-m:hover {
  background-color: var(--color-blue-2);
}
header > div .contacts {
  position: absolute;
  right: var(--header-search-width);
  bottom: 4px;
  height: 60px;
  width: var(--header-contacts-width);
}
header > div .contacts > a {
  color: var(--color-white);
  padding: 0 20px;
  background-color: var(--color-blue-2);
  display: block;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
header > div .contacts > a .ico-m {
  padding: 8px;
  background-color: var(--color-blue);
  border-radius: 100%;
  margin-left: 10px;
}
header > div .contacts > a:hover .ico-m {
  background-color: var(--color-blue-3);
}
header > div .booking {
  position: absolute;
  right: 0;
  bottom: 4px;
  width: var(--header-search-width);
  height: 60px;
}
header > div .booking > a {
  color: var(--color-white);
  padding: 11px 20px;
  background-color: var(--color-blue-6);
  display: block;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-items: center;
}
header > div .booking > a .ico-m {
  position: absolute;
  top: 16px;
  right: 20px;
  font-size: var(--font-size-lg);
  pointer-events: none;
}
header > div .booking > a:hover {
  color: var(--color-blue-2);
}
header > div > nav {
  position: absolute;
  right: var(--header-search-width);
}
header > div > nav .box-swiper-head {
  height: var(--header-height-lg);
}
header > div > nav:nth-of-type(1) {
  top: 0;
  background-color: var(--color-grey);
  border-bottom-left-radius: var(--border-radius-30);
  padding: 0 40px;
}
header > div > nav:nth-of-type(1) ul {
  height: 60px;
}
header > div > nav:nth-of-type(2) {
  bottom: 4px;
  right: calc(var(--header-search-width) + var(--header-contacts-width));
}
header > div > nav:nth-of-type(2) > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header > div > nav:nth-of-type(2) > div > div {
  height: 60px;
  display: inline-block;
  margin: 0 15px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
header > div > nav:nth-of-type(2) > div > div > a,
header > div > nav:nth-of-type(2) > div > div > span {
  transition: all 0.5s var(--cubic-bezier-linear);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
header > div > nav:nth-of-type(2) > div > div > a *, header > div > nav:nth-of-type(2) > div > div > a::before, header > div > nav:nth-of-type(2) > div > div > a::after,
header > div > nav:nth-of-type(2) > div > div > a ::before,
header > div > nav:nth-of-type(2) > div > div > a ::after,
header > div > nav:nth-of-type(2) > div > div > span *,
header > div > nav:nth-of-type(2) > div > div > span::before,
header > div > nav:nth-of-type(2) > div > div > span::after,
header > div > nav:nth-of-type(2) > div > div > span ::before,
header > div > nav:nth-of-type(2) > div > div > span ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)) {
  margin: 0;
  padding: 0 30px 0 10px;
  cursor: pointer;
}
header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m))::after {
  content: "";
  width: 10px;
  height: 10px;
  background-color: var(--color-blue-3);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  margin-left: 10px;
  transform: translateY(2px);
}
header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):hover > span, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):focus > span, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):active > span, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):has(a:focus) > span {
  color: var(--color-blue-3);
}
header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):hover > ul, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):focus > ul, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):active > ul, header > div > nav:nth-of-type(2) > div > div:has(> span:not(.ico-m)):has(a:focus) > ul {
  transform: none;
  opacity: 1;
  visibility: visible;
}
header > div > nav:nth-of-type(2) > div > div ul {
  position: absolute;
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-99);
  top: 64px;
  left: 0;
  display: block;
  min-width: 200px;
  transform: translateY(-10px);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s var(--cubic-bezier-linear);
  padding: 3px 0;
}
header > div > nav:nth-of-type(2) > div > div ul *, header > div > nav:nth-of-type(2) > div > div ul::before, header > div > nav:nth-of-type(2) > div > div ul::after,
header > div > nav:nth-of-type(2) > div > div ul ::before,
header > div > nav:nth-of-type(2) > div > div ul ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div > nav:nth-of-type(2) > div > div ul > li {
  display: block;
  padding: 12px 0;
  cursor: default;
}
header > div #nav-mob {
  transition: all 0.5s var(--cubic-bezier-linear);
  display: none;
}
header > div #nav-mob *, header > div #nav-mob::before, header > div #nav-mob::after,
header > div #nav-mob ::before,
header > div #nav-mob ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div #nav-mob > * {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header > div #nav-mob > * *, header > div #nav-mob > *::before, header > div #nav-mob > *::after,
header > div #nav-mob > * ::before,
header > div #nav-mob > * ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
header.back > div .container {
  align-items: flex-end;
}
header.back > div .container .b {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 50vw;
  left: calc(260px - 50vw);
  height: unset;
  background-color: var(--color-grey-3);
  color: var(--color-white);
  border-bottom-right-radius: var(--border-radius-30);
  padding: 15px 50px;
  font-size: var(--font-size);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  z-index: 1;
}
header.back > div .container .b::before {
  font-family: "maugeri";
  content: "\e900";
  font-size: var(--font-size-lg);
  position: absolute;
  top: 5px;
  right: 205px;
}
header.back > div .container .b > span {
  display: inline-block;
  position: relative;
  padding-left: 30px;
  color: var(--color-white);
}
header.back > div .container .b > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 10px;
  height: 12px;
  top: 3px;
  left: 7px;
  background-color: var(--color-white);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
header.back > div .container .b:hover {
  background-color: var(--color-blue-3);
}
header.back > div .container .b:hover > span::before {
  left: 4px;
}
header.back > div .container .logo {
  margin-bottom: 10px;
}
header.back > div .container .logo > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: unset;
  height: unset;
  left: 77px;
}
header.back > div .container .logo > span:nth-of-type(2) {
  top: unset;
  bottom: -3px;
}
header.back > div::after {
  background-color: var(--color-grey-3);
}

main {
  padding-top: var(--header-height);
}

footer {
  margin-top: var(--box-margin);
  padding-top: 25px;
  position: relative;
  background-color: var(--color-blue);
  color: var(--color-white);
}
footer a {
  color: var(--color-white);
}
footer b {
  display: block;
  font-size: var(--font-size-md);
  color: var(--color-blue-7);
  margin-bottom: 15px;
  text-transform: uppercase;
}
footer ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
footer ul li {
  margin: 10px 0;
}
footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 22px;
  height: 3px;
  background-color: var(--color-white);
  pointer-events: none;
}
footer > div {
  position: relative;
  padding: var(--box-margin);
}
footer > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  mix-blend-mode: multiply;
  opacity: 0.3;
  z-index: 1;
  pointer-events: none;
}
footer > div > * {
  position: relative;
  z-index: 2;
}
footer > div > .row :focus-visible {
  outline-color: var(--color-white) !important;
}
footer > div > .row > *:nth-of-type(1) {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
footer > div > .row > *:nth-of-type(1)::before {
  content: "";
  position: absolute;
  top: -20px;
  right: 30px;
  left: unset;
  width: 2px;
  height: calc(100% + 40px);
  background-color: var(--color-blue-7);
}
footer > div > .row > *:nth-of-type(1) img {
  width: 80px;
}
footer > div > .row > *:nth-of-type(1) nav {
  margin-top: 30px;
  font-size: var(--font-size-md);
}
footer > div > .row > *:nth-of-type(1) nav a {
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  width: 35px;
  height: 35px;
  border-radius: 100%;
  color: var(--color-white);
  margin: 4px;
}
footer > div > .row > *:nth-of-type(1) nav a:hover {
  color: var(--color-white);
  background-color: var(--color-blue-5);
}
footer > div .bottom {
  margin: var(--box-margin) calc(var(--box-margin) * -1) calc(var(--box-margin) * -1) calc(var(--box-margin) * -1);
  padding: 20px var(--box-margin);
  background-color: var(--color-white);
  color: var(--color-black);
}
footer > div .bottom .row > * {
  opacity: 0.7;
}

.slideshow {
  height: calc(100vh - var(--header-height));
  position: relative;
  text-align: center;
}
.slideshow ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.slideshow > img {
  width: 100%;
}
.slideshow > .title,
.slideshow > .subtitle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: var(--color-white);
  text-transform: uppercase;
  font-family: var(--font-family-montserrat);
  font-weight: var(--font-weight-black);
  text-align: left;
  font-size: var(--font-size-lg);
  padding: 3px 0 7px 0;
}
.slideshow > .title::before,
.slideshow > .subtitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.slideshow > .title > *,
.slideshow > .subtitle > * {
  position: relative;
  z-index: 2;
}
.slideshow > .title h1 {
  font-weight: var(--font-weight-black);
  font-size: var(--font-size-xl);
  margin: 0;
}
.slideshow .box-swiper .swiper .swiper-slide {
  height: calc(100vh - var(--header-height));
}
.slideshow .box-swiper .swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slideshow .box-swiper .swiper-pagination {
  bottom: 100px;
}
.slideshow .box-swiper .swiper-pause {
  position: absolute;
  width: 10px;
  height: 10px;
  right: 10px;
  bottom: 10px;
  left: unset;
  z-index: 10;
  cursor: pointer;
}
.slideshow .box-swiper .swiper-pause::before, .slideshow .box-swiper .swiper-pause::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 4px;
  background-color: var(--color-blue);
  pointer-events: none;
  transition: none;
}
.slideshow .box-swiper .swiper-pause::after {
  right: 0;
  left: unset;
}
.slideshow .box-swiper .swiper-pause.paused::before {
  width: 100%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.slideshow .box-swiper .swiper-pause.paused::after {
  content: none;
}
.slideshow .claim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  pointer-events: none;
}
.slideshow .claim::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: var(--color-black);
  opacity: 0.5;
  mix-blend-mode: multiply;
}
.slideshow .claim > * {
  position: relative;
  z-index: 2;
}
.slideshow .claim h1 {
  font-size: var(--font-size-xxl);
  pointer-events: fill;
}
.slideshow .claim h1 > span {
  position: relative;
  opacity: 0.52;
  overflow: hidden;
  display: inline-block;
}
.slideshow .claim h1 > span i {
  position: absolute;
  bottom: 0;
  left: 5px;
  height: 6px;
  background-color: var(--color-white);
  width: calc(100% - 35px);
  transform: translateX(calc(-100% - 5px));
}
.slideshow .claim i {
  display: block;
  font-size: var(--font-size-lg);
  pointer-events: fill;
}
.slideshow .claim.text {
  justify-content: flex-end;
}
.slideshow .claim.text::before,
.slideshow .claim.text > div {
  width: 45%;
  height: 150px;
  padding: 25px;
}
.slideshow .claim.text::before {
  background-color: var(--color-blue);
  background-blend-mode: multiply;
  top: calc(50% - 75px);
  right: 0;
  left: unset;
  opacity: 1;
}
.slideshow .claim.text > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slideshow .claim.text > div {
  text-align: left;
}
.slideshow .claim.text > div h1 {
  font-size: var(--font-size-lg);
}
.slideshow .options {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: unset;
  bottom: 0;
  height: unset;
  pointer-events: none;
  z-index: 2;
}
.slideshow .options ul {
  background-color: var(--color-blue);
  border-radius: var(--border-radius-30) var(--border-radius-30) 0 0;
  display: inline-flex;
  flex-wrap: wrap;
  padding: 0 20px;
}
.slideshow .options ul > li {
  display: inline-block;
  margin: 0 30px;
  position: relative;
  clip-path: polygon(-30% -50%, 130% -50%, 130% 100%, -30% 100%);
}
.slideshow .options ul > li::before {
  content: "";
  background-color: var(--color-blue-5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: calc(100% - 12px);
  border-radius: var(--border-radius-15) var(--border-radius-15) 0 0;
  z-index: 1;
}
.slideshow .options ul > li a {
  color: var(--color-white);
  pointer-events: fill;
  padding: 20px 20px 35px 20px;
  display: inline-block;
  font-size: var(--font-size-md);
  position: relative;
  z-index: 2;
}
.slideshow .options ul > li:nth-of-type(2)::before {
  background-color: var(--color-orange);
}
.slideshow .options ul > li:nth-of-type(3)::before {
  background-color: var(--color-yellow);
}
.slideshow .options ul > li:nth-of-type(4)::before {
  background-color: var(--color-green);
}
.slideshow .options ul > li:has(a:hover)::before, .slideshow .options ul > li:has(a.selected)::before {
  top: 0;
  transform-origin: bottom center;
  transform: scale(1.15);
}
.slideshow .options ul.tabs {
  background-color: var(--color-transparent);
  border-radius: 0;
}
.slideshow .options ul.tabs > li {
  margin-right: 10px;
  margin-left: 10px;
  clip-path: none;
}
.slideshow .options ul.tabs > li::before {
  content: none;
}
.slideshow .options ul.tabs > li::after {
  font-family: "maugeri";
  content: "\e904";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: 13px;
  right: 10px;
  left: unset;
  width: 40px;
  height: 40px;
  background-color: var(--color-white);
  border-radius: 100%;
  color: var(--color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  font-size: var(--font-size-md);
}
.slideshow .options ul.tabs > li a {
  background-color: var(--color-blue);
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
  border-radius: var(--border-radius-15) var(--border-radius-15) 0 0;
  padding-right: 70px;
  padding-bottom: 20px;
}
.slideshow .options ul.tabs > li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: unset;
  bottom: -5px;
  height: 10px;
  background-color: var(--color-blue);
  transform: scaleX(0);
}
.slideshow .options ul.tabs > li a:hover {
  background-color: var(--color-grey-3);
}
.slideshow .options ul.tabs > li a:hover::before {
  transform-origin: center center;
  transform: scale(1);
  top: unset;
}

.bilancio-impatto {
  background: url("../../Scss/images/bilancio-impatto.webp") no-repeat center center var(--color-transparent);
  background-size: cover;
  font-family: var(--font-family-montserrat);
  font-size: var(--font-size-lg);
  color: var(--color-blue);
}
.bilancio-impatto .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.bilancio-impatto .container > div {
  display: inline-block;
  width: 50%;
  position: relative;
  font-weight: var(--font-weight-medium);
  padding: 30px 20px;
  color: var(--color-white);
}
.bilancio-impatto .container > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue-2);
  mix-blend-mode: multiply;
  opacity: 0.7;
}
.bilancio-impatto .container > div i {
  position: relative;
  z-index: 2;
}
.bilancio-impatto .container h2 {
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
  text-align: right;
}
.bilancio-impatto .container h2 b {
  display: inline-block;
  position: relative;
  font-size: var(--font-size-xxl);
  font-weight: var(--font-weight-black);
}
.bilancio-impatto .container h2 b::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: unset;
  bottom: 0;
  height: 8px;
  background-color: var(--color-blue);
}

.home .slideshow :focus-visible {
  outline-color: var(--color-white) !important;
}
.home .riabilitazione .swiper {
  height: 380px;
}
.home .prestazioni {
  position: relative;
  overflow: hidden;
}
.home .prestazioni > .ico-m {
  position: absolute;
  z-index: 1;
  color: var(--color-white);
  opacity: 0.06;
  font-size: var(--font-size-xxl);
  top: 70px;
  right: 250px;
  transform: scale(5.5) rotate(45deg);
}
.home .prestazioni .container {
  z-index: 2;
}
.home .now .box-title h2 {
  text-transform: none;
}
.home .now .box-title h2 i {
  font-weight: var(--font-weight-regular);
}
.home .centri .centro {
  border-radius: 0 0 0 var(--border-radius-30);
  padding: 35px 35px 90px 35px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 30px 100%, 0 100%);
  color: var(--color-white);
}
.home .centri .centro .text {
  width: 70%;
  background-color: var(--color-white);
  overflow: hidden;
  padding: 10px 40px 10px 60px;
  text-transform: uppercase;
  display: block;
  position: relative;
  margin-bottom: 40px;
  min-height: 55px;
  transition: all 0.5s var(--cubic-bezier-linear);
}
.home .centri .centro .text *, .home .centri .centro .text::before, .home .centri .centro .text::after,
.home .centri .centro .text ::before,
.home .centri .centro .text ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.home .centri .centro .text::before {
  font-family: "maugeri";
  font-size: var(--font-size-lg);
  transform: scale(2.2);
  content: "\e900";
  color: var(--color-black);
  position: absolute;
  bottom: -1px;
  left: -5px;
  pointer-events: none;
}
.home .centri .centro:hover .text {
  letter-spacing: 0.3px;
}
.home .centri .centro:hover .text::before {
  transform: scale(2.2) rotate(30deg);
}

.sede {
  background-color: var(--color-grey);
}
.sede header > div > nav:nth-of-type(2) {
  top: 100%;
  right: var(--header-search-width);
  bottom: unset;
  max-height: calc(100vh - var(--header-height));
  background-color: var(--color-white);
  display: none;
  overflow-y: auto;
}
.sede header > div > nav:nth-of-type(2) > ul {
  max-width: 220px;
  display: block;
}
.sede header > div > nav:nth-of-type(2) > ul > li {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
}
.sede header > div .contacts {
  display: none;
}
.sede header > div #nav-sede {
  position: absolute;
  right: var(--header-search-width);
  bottom: 4px;
  height: var(--header-nav-height);
  width: var(--header-nav-height);
  transition: all 0.5s var(--cubic-bezier-linear);
}
.sede header > div #nav-sede *, .sede header > div #nav-sede::before, .sede header > div #nav-sede::after,
.sede header > div #nav-sede ::before,
.sede header > div #nav-sede ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.sede header > div #nav-sede::before, .sede header > div #nav-sede::after,
.sede header > div #nav-sede > span {
  content: "";
  position: absolute;
  top: 18px;
  left: 15%;
  width: 70%;
  height: 4px;
  background-color: var(--color-blue);
  transition: all 0.5s var(--cubic-bezier-linear);
  pointer-events: none;
}
.sede header > div #nav-sede::before *, .sede header > div #nav-sede::before::before, .sede header > div #nav-sede::before::after,
.sede header > div #nav-sede::before ::before,
.sede header > div #nav-sede::before ::after, .sede header > div #nav-sede::after *, .sede header > div #nav-sede::after::before, .sede header > div #nav-sede::after::after,
.sede header > div #nav-sede::after ::before,
.sede header > div #nav-sede::after ::after,
.sede header > div #nav-sede > span *,
.sede header > div #nav-sede > span::before,
.sede header > div #nav-sede > span::after,
.sede header > div #nav-sede > span ::before,
.sede header > div #nav-sede > span ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.sede header > div #nav-sede > span {
  top: 29px;
}
.sede header > div #nav-sede::after {
  top: 40px;
}
.sede header > div #nav-sede > b {
  position: absolute;
  top: 27%;
  right: 120%;
  font-weight: var(--font-weight-regular);
  color: var(--color-blue);
  pointer-events: none;
  transition: all 0.5s var(--cubic-bezier-linear);
}
.sede header > div #nav-sede > b *, .sede header > div #nav-sede > b::before, .sede header > div #nav-sede > b::after,
.sede header > div #nav-sede > b ::before,
.sede header > div #nav-sede > b ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.sede header > div #nav-sede:hover::before, .sede header > div #nav-sede:hover::after,
.sede header > div #nav-sede:hover > span {
  background-color: var(--color-blue-3);
}
.sede header > div #nav-sede:hover > b {
  color: var(--color-blue-3);
}
.sede header > div #nav-sede.exp::before, .sede header > div #nav-sede.exp::after {
  transform: rotate(45deg);
  top: 30px;
}
.sede header > div #nav-sede.exp::after {
  transform: rotate(-45deg);
}
.sede header > div #nav-sede.exp > span {
  opacity: 0;
}
.sede .prestazioni > .ico-m {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: calc(var(--font-size-lg) * 30);
  pointer-events: none;
  transform: rotate(10deg) translateX(-50%) translateY(-50%);
  color: var(--color-white);
  opacity: 0.6;
}
.sede .ricerca-scientifica {
  background: url("../../Scss/images/ricerca-scientifica.webp") no-repeat center center var(--color-transparent);
  background-size: cover;
}
.sede .ricerca-scientifica::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 60%;
  background: var(--linear-gradient);
  z-index: 1;
  pointer-events: none;
}
.sede .ricerca-scientifica .container {
  z-index: 2;
}
.sede .sostieni {
  margin-top: -15px;
  position: relative;
  z-index: 1;
}

.patologia .strutture h2 {
  background-color: var(--color-blue-6);
  border-top-right-radius: var(--border-radius-30);
  color: var(--color-white);
  text-align: center;
  padding: 7px 70px;
  position: relative;
  font-size: var(--font-size-lg);
}
.patologia .strutture h2::after {
  font-family: "maugeri";
  content: "\e90a";
  position: absolute;
  top: 7px;
  right: 35px;
}
.patologia .alfa .container {
  overflow: hidden;
  padding-bottom: 30px;
}
.patologia .alfa .container::before {
  font-family: "maugeri";
  content: "\e909";
  color: var(--color-white);
  font-size: calc(var(--font-size-xxl) * 10);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: rotate(10deg);
  opacity: 0.5;
  z-index: 1;
  pointer-events: none;
}
.patologia .alfa .container > div {
  position: relative;
  z-index: 2;
}
.patologia .alfa .container > div .p b {
  position: relative;
  top: 15px;
}
.patologia .alfa .container > div .a {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  background-color: var(--color-blue-7);
  margin: 20px -20px 30px -20px;
}
.patologia .alfa .container > div .a a {
  color: var(--color-white);
  display: inline-block;
  padding: 12px 10px;
  text-transform: uppercase;
  border-radius: 0 var(--border-radius-15);
  margin: 0 3px;
}
.patologia .alfa .container > div .a a:hover, .patologia .alfa .container > div .a a.selected {
  background-color: var(--color-blue-4);
}

.specialita .med .container > div {
  background-color: var(--color-blue-9);
  padding: 40px 100px;
  font-weight: var(--font-weight-bold);
  color: var(--color-blue);
}
.specialita .med .container > div > .row:first-child {
  padding-bottom: 40px;
  border-bottom: solid 7px var(--color-white);
  margin-bottom: 40px;
}
.specialita .med .container > div div:has(> .box-image) {
  position: relative;
  padding-left: 100px;
  min-height: 100px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.specialita .med .container > div div:has(> .box-image) > .box-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.centri .slideshow {
  height: auto;
}
.centri .slideshow .subtitle {
  height: auto;
}
.centri .slideshow .subtitle::before {
  background-color: var(--color-blue);
  opacity: 0.86;
}
.centri .slideshow .title {
  top: unset;
  bottom: 0;
  height: auto;
}
.centri .slideshow .title::before {
  background-color: var(--color-red);
  opacity: 0.73;
  width: 50%;
}
.centri .slideshow .title h1 {
  width: 50%;
}
.centri .info .box-icon {
  position: absolute;
  top: 0;
  right: 0;
  height: auto;
  width: 200px;
}
.centri .info .box-icon .ico-m {
  transform: rotate(90deg);
  top: 8px;
}
.centri .info .container > div {
  padding: 40px 0 30px 50px;
  position: relative;
}
.centri .info .container > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  top: -40px;
  width: 10px;
  height: calc(100% + 30px);
  background-color: var(--color-red);
  pointer-events: none;
}
.centri .how {
  overflow: hidden;
}
.centri .how::before, .centri .how::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.centri .how::before {
  background-color: var(--color-blue-7);
  opacity: 0.25;
}
.centri .how::after {
  font-family: "maugeri";
  content: "\e909";
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  font-size: calc(var(--font-size-xxl) * 30);
  transform: rotate(15deg);
  opacity: 0.45;
}
.centri .how .container {
  z-index: 2;
}
.centri .pub .row > *:nth-of-type(2) {
  position: relative;
}
.centri .pub .row > *:nth-of-type(2)::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  width: 1px;
  height: calc(100% + 60px);
  background-color: var(--color-blue);
  pointer-events: none;
}

.medici .info-med .box-image {
  max-width: 200px;
  max-height: 200px;
  border-radius: 100px;
}
.medici .profili h2 {
  position: relative;
}
.medici .profili h2 [class*=swiper-button] {
  position: absolute;
  top: calc(50% - 18px);
  right: 15px;
  left: unset;
  background-color: var(--color-white);
}
.medici .profili h2 [class*=swiper-button]::after {
  color: var(--color-blue-3);
}
.medici .profili h2 [class*=swiper-button].swiper-button-prev {
  right: 56px;
}

.ricerca-scientifica .slideshow {
  height: auto;
}
.ricerca-scientifica .slideshow > .title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: inherit;
  font-weight: var(--font-weight-medium);
}
.ricerca-scientifica .slideshow > .title::before {
  content: none;
}
.ricerca-scientifica .slideshow > .title > div {
  width: 100%;
  padding: 20px;
  text-align: center;
  position: relative;
}
.ricerca-scientifica .slideshow > .title > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue-5);
  opacity: 0.68;
}
.ricerca-scientifica .slideshow > .title > div > * {
  position: relative;
  z-index: 1;
}
.ricerca-scientifica .navigation .box-swiper {
  position: relative;
  padding: 0 60px;
}
.ricerca-scientifica .navigation .box-swiper::before, .ricerca-scientifica .navigation .box-swiper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 80px;
  background: var(--linear-gradient-2);
  z-index: 9;
  pointer-events: none;
}
.ricerca-scientifica .navigation .box-swiper::after {
  right: 0;
  left: unset;
  transform: rotate(180deg);
}
.ricerca-scientifica .navigation .box-swiper [class*=swiper-button-] {
  top: -4px;
}
.ricerca-scientifica .navigation .box-swiper [class*=swiper-button-]::after {
  font-family: "maugeri";
  content: "\e90c";
}
.ricerca-scientifica .trials-clinici .container {
  position: relative;
  z-index: 2;
}
.ricerca-scientifica .trials-clinici > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  right: 0;
  left: unset;
  width: auto;
  z-index: 1;
}
.ricerca-scientifica .progetti-ricerca .sticky,
.ricerca-scientifica .pubblicazioni .sticky {
  padding-right: 60px;
  position: relative;
}
.ricerca-scientifica .progetti-ricerca .sticky::after,
.ricerca-scientifica .pubblicazioni .sticky::after {
  content: "";
  width: 1px;
  height: calc(100% - 50px);
  position: absolute;
  top: 25px;
  right: 30px;
  background-color: var(--color-blue);
  pointer-events: none;
}
.ricerca-scientifica .progetti-ricerca .accordion.bullet .accordion-item .accordion-header .accordion-button::after,
.ricerca-scientifica .pubblicazioni .accordion.bullet .accordion-item .accordion-header .accordion-button::after {
  content: "\e90c";
  font-family: "maugeri";
}
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination {
  position: static;
  margin-top: 30px;
}
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet {
  background-color: var(--color-white);
  border-radius: var(--border-radius-70);
  opacity: 0.3;
  transition: all 0.5s var(--cubic-bezier-linear);
}
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet *, .ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet::before, .ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet::after,
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet ::before,
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet ::after {
  transition: all 0.5s var(--cubic-bezier-linear);
}
.ricerca-scientifica .laboratori-ricerca .box-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
  width: 40px;
}
.ricerca-scientifica .pubblicazioni .accordion.bullet .accordion-item .accordion-header .accordion-button::after {
  content: "\e904";
  background-color: var(--color-blue-5) !important;
  color: var(--color-white) !important;
}
.ricerca-scientifica .organizzazione .cont > [class*=col-]:nth-of-type(1) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ricerca-scientifica .organizzazione .cont > [class*=col-]:nth-of-type(2) {
  display: flex;
  flex-direction: column;
}
.ricerca-scientifica .organizzazione .cont > [class*=col-]:nth-of-type(2) .tab-content {
  height: 100%;
}

a.box-image:focus-visible {
  outline: dashed var(--color-white) !important;
  outline-offset:-4px;
}
