/*------------------------RESET---------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ul,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; text-decoration:none; list-style-type: none;}
article, aside, details, figcaption, figure, hgroup, menu, nav, section { display: block; }
/*------------------------------------------------------*/

::-moz-selection                                {color: white; background: var(--color1);}
::selection                                     {color: white; background: var(--color1);}

:root                                           {
                                                --font1:                "komet", sans-serif; /* 400, 500, 700, 800 */
                                                
                                                --color0:               #545479; /* rgb(84,84,121) */
                                                --color0b:              #5b5b9d;
                                                --color0-10:            #eef2ff;
                                                --color0-20:            #e3e6ff;
                                                --color0-30:            #d2d9ff;
                                                --color0-40:            #bec9ff;
                                                --color1:               #00B9AB; 
                                                --color1b:              #00A5BA;
                                                --color2:               #E0BB86;
                                                --white-10:             hsl(0 0% 100 / 0.1);
                                                --white-20:             hsl(0 0% 100 / 0.2);
                                                --white-40:             hsl(0 0% 100 / 0.4);
                                                --white-90:             hsl(0 0% 100 / 0.9);
                                                --black-10:             hsl(0 0% 0 / 0.1);
                                                --black-20:             hsl(0 0% 0 / 0.2);
                                                --error:                #ff3964;

                                                --gradient0-10-bottom:  linear-gradient(to bottom, var(--color0-10), transparent);
                                                
                                                --section-padding:      min(7rem, calc(1.6rem + 6vw));
                                                --section-padding-lower:calc(0.7 * var(--section-padding));
                                                --header:               6rem;
                                                --header-inner:         calc(0.8 * var(--header));
                                                --wrapper-width:        92vw;
                                                --wrapper-max:          68rem;
                                                --wrapper-wide-max:     73rem;
                                                --wrapper-medium-max:   60rem;
                                                --wrapper-narrow-max:   52rem;
                                                --wrapper-thin-max:     40rem;
                                                --box-shadow:           0 0 0.7em rgba(0,0,0,0.12);
                                                --padding1:             1.7rem;                                                                                   
                                                --button-height:        2.6em;
                                                --gap1:                 1rem;
                                                --gap2:                 1.8rem;
                                                --headline-line-height: 1.15;
                                                --pictogram-width:      1.6em;
                                                --preview-padding:      min(0.6em, calc(0.1em + 1vw));
                                                --border-radius1:       min(1.5rem, calc(0.6rem + 2vw));

                                                --form-item-height:     3.4em;
                                                --form-item-padding:    1.1em;
                                                --form-item-gap:        0.8em;
                                                --form-item-radius:     calc(0.5 * var(--form-item-height));
                                                }
  @media screen and (min-width: 2001px)         {
  :root                                         {
                                                --wrapper-max:          72rem;
                                                --wrapper-wide-max:     78rem;

                                                }                                              
  }
  @media screen and (max-width: 1080px)         {
  :root                                         {
                                                --wrapper-max:          50rem;
                                                --wrapper-wide-max:     55rem;
                                                --image-text-img-max:   min(80vw, 34rem);
                                                }                                                
  }
  @media screen and (max-width: 540px)          {
  :root                                         {
                                                 --header:               5.4rem;
                                                 --padding1:             1.2rem;
                                                }                                                
  }  

html                                            {width: 100%; height: 100%; text-align: center; font-size: clamp(13px, calc(10px + 1vw), 17px); color: var(--color0); font-weight: 400; line-height: 1.5; font-family: var(--font1);}
body                                            {display: flex; width: 100%; height: auto; min-height: 100%; flex-direction: column; background: var(--gradient0-10-bottom) no-repeat center top var(--header); background-size: auto 15em; padding-top: var(--header); position: relative; overflow-x: hidden; overflow-y: auto;}
body.header-show :is(.main, .footer)            {opacity: 0.2; filter: blur(5px);}
  @media screen and (min-width: 2001px)         {
  body                                          {font-size: 19px;}
  }

.wrapper                                        {display: flex; width: var(--wrapper-width); max-width: var(--wrapper-max); flex-direction: column; align-items: center; flex-wrap: wrap; gap: var(--gap1); margin-inline: auto; position: relative; box-sizing: border-box; z-index: 1;}
  @media screen and (min-width: 1081px)         {
  .wrapper.wide                                 {max-width: var(--wrapper-wide-max);}
  .wrapper.medium                               {max-width: var(--wrapper-medium-max);}
  .wrapper.narrow                               {max-width: var(--wrapper-narrow-max);}
  .wrapper.thin                                 {max-width: var(--wrapper-thin-max);}
  }

strong                                          {font-weight: 600;}
em                                              {font-style: italic;}

button                                          {background: none; outline: none; cursor: pointer; position: relative; border: none; box-sizing: border-box; padding: 0; white-space: nowrap; font-family: var(--font1); transition: .15s ease-in-out;}

.logo-web                                       {display: block; width: 8.8em;}
.logo-web img                                   {display: block; width: 100%;} 
.logo-web img:nth-child(2)                      {display: none;}

.header                                         {display: flex; width: 100%; height: var(--header); justify-content: center; align-items: flex-end; background: var(--color0-10); position: fixed; top: 0; left: 0; box-sizing: border-box; z-index: 1000; transition: .5s ease-in-out;}
.elementor .header .inner                                  {display: flex; width: 100%; height: var(--header-inner); align-items: center; background: white; position: relative; padding-inline: var(--padding1); box-sizing: border-box; border-radius: calc(0.5 * var(--header-inner)); box-shadow: var(--box-shadow);}
.header .logo-web                               {width: 8.8em; margin-left: 0.2rem;}
.header .collapse                               {display: flex;}
.header nav                                     {display: flex; justify-content: center; box-sizing: border-box;}
.header nav > ul                                {display: flex; align-items: center; flex-wrap: wrap; position: relative;}
.header nav > ul > li                           {display: flex; align-items: center; transition: .15s ease-in-out;}
.header nav > ul > li > a                       {display: flex; align-items: center; gap: 0.4em; color: inherit; font-weight: 600; line-height: 1; position: relative; box-sizing: border-box; cursor: pointer; transition: .15s ease-in-out;}
.header nav > ul > li > a:not(.button).sel      {color: var(--color1);}
.header nav div                                 {display: block;}
.header nav div :is(.tip, .back)                {display: none;}
.header nav div ul                              {display: flex; width: 100%; flex-wrap: wrap; gap: 0.65em; box-sizing: border-box;}
.header nav div ul li                           {display: flex; width: 100%;}
.header nav div ul li a                         {display: flex; width: 100%; align-items: center; gap: 0.8em; color: inherit; font-weight: 600; padding: 0 1em 0 0; border-radius: 0 1.8em 1.8em 0; box-sizing: border-box; transition: .15s ease-in-out;}
.header nav div ul li a .img                    {display: block; width: 6em; aspect-ratio: 16/9; border-radius: 0.5em; overflow: hidden;}
.header nav div ul li a .img img                {display: block; width: 100%; height: 100%; object-fit: cover;}
.header nav div ul li a .info                   {display: flex; flex-direction: column; flex-shrink: unset;}
.header nav div ul li a .info span              {display: block; width: 100%; text-align: left; font-weight: 400; box-sizing: border-box; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.header nav div ul li a .info .title            {font-size: 1.2em; font-weight: 800; margin-top: -0.1em;}
.header nav div ul li a .info .address          {font-size: 0.85em; padding-left: 1.3em;}
.header nav div ul li a .info .address:before   {display: block; width: 1.1em; height: 1.1em; background: url("/wp-content/uploads/2026/05/marker-color1.svg") no-repeat left center; background-size: contain; position: absolute; left: 0; top: 0.13em; content: "";}
.header nav div ul li a:hover                   {background: var(--color0-10);}
.header-elements                                {display: flex; align-items: center; gap: 0.4em;}
.header .lang                                   {position: relative;}
.header .lang ul                                {display: flex; align-items: center; overflow: hidden; position: relative; z-index: 2;}
.header .lang ul li                             {display: block; box-sizing: border-box;}
.header .lang ul li a                           {width: var(--button-height); aspect-ratio: 1; background: transparent; padding-inline: 0;}
.header .lang ul li a:hover                     {background: white;}
.header .lang ul li.sel                         {order: -1;}
.header.scroll                                  {background: transparent;}
.header:not(.show).scroll-down                  {top: calc(-1 * var(--header));}
  @media screen and (min-width: 1081px) and (max-width: 1280px){
  :root                                         {--header: 5.6rem;}
  .header                                       {--button-height: 2.4em;}
  .header .logo-web                             {width: 8.2em;}
  .header-elements                              {font-size: 0.9em;}
  .header .button                               {padding-inline: 1.1em;}
  }
  @media screen and (min-width: 1081px)         {
  .header .collapse                             {flex-grow: 2;}
  .header :is(.collapse, nav, nav > ul)         {height: 100%;}
  .header nav                                   {flex-grow: 2;}
  .header nav > ul                              {justify-content: center;}
  .header nav > ul > li                         {position: relative;}
  .header nav > ul > li > a                     {height: 2.4em; padding: 0 min(1.1em, 1.2vw); border-radius: 1.2em;}
  .header nav > ul > li:has(div) a:after        {display: block; width: 0.7em; height: 0.7em; background: url("/wp-content/uploads/2026/05/chevron-color1.svg") no-repeat center center; background-size: contain; content: ""; transition: .15s ease-in-out;}
  .header nav > ul > li > a:after               {transform: rotate(90deg);}
  .header nav > ul > li.sel > a                 {color: var(--color1);}
  .header nav > ul > li:not(.sel) > a:hover     {background: var(--color0-10);}
  .header nav div                               {height: 0; margin-top: 1rem; opacity: 0; position: absolute; left: -1.5em; top: 90%; overflow: hidden; padding-inline: 1em; box-sizing: border-box; transition: opacity .35s ease-in-out, margin-top .35s ease-in-out;}
  .header nav div ul                            {max-height: 100%; background: var(--white-90); backdrop-filter: blur(5px); font-size: 0.9em; padding: 1.5em; border-radius: var(--border-radius1); position: relative; box-shadow: var(--box-shadow); overflow-y: auto; z-index: 2; transition: .35s ease-in-out;}
  .header nav div ul li a .info                 {width: 15em;}
  .header nav > ul > li[aria-expanded="true"] > div
                                                {height: 31em; opacity: 1; padding-block: 2em 1em; margin-top: 0;}
  .header nav > ul > li[aria-expanded="true"] > div ul
                                                {box-shadow: var(--box-shadow);}
  .header nav > ul > li.hover > a:after         {transform: rotate(-90deg);}
  .header .lang                                 {display: block; height: var(--button-height); font-size: 1em; overflow: hidden; position: relative; transition: .25s ease-in-out;}
  .header .lang .trigger                        {display: block; width: 100%; aspect-ratio: 1; border-radius: 100%; position: absolute; left: 0; top: 0; z-index: 3; cursor: pointer; transition: .25s ease-in-out;}
  .header .lang .trigger:not(.hover):hover + ul li.sel a      {background: var(--color0-10);}   
  .header .lang ul                              {flex-direction: column; overflow: hidden; border-radius: calc(0.7 * var(--button-height));}
  .header .lang ul li                           {cursor: pointer;}
  .header .lang ul li a                         {font-size: 1em;}
  .header .lang:has(.trigger.hover)             {overflow: visible;}
  .header .lang:has(.trigger.hover) ul          {height: auto; background: var(--color0-10); box-shadow: 0 0 0.5em rgba(0,0,0,0.25);}
  .header .mobile-only                          {display: none;}                 
  }
  @media screen and (max-width: 1080px)         {
  .header .collapse                             {display: flex; width: var(--wrapper-width); height: calc(100svh - var(--header) - 2rem); align-items: flex-start; align-content: flex-start; flex-wrap: wrap; background: white; overflow-y: auto; position: fixed; left: -9999px; top: calc(1rem + var(--header)); bottom: 1rem; margin: 0 calc(50vw - 0.5 * var(--wrapper-width)); padding: 10vw; border-radius: calc(0.5 * var(--header)); box-sizing: border-box; opacity: 0; box-shadow: var(--box-shadow); transform: scale(1.15); transition: opacity .5s ease-in-out, transform .5s ease-in-out;}
  .header nav                                   {width: 100%;}
  .header nav > ul                              {width: 100%; align-items: flex-start; align-content: flex-start;}
  .header nav > ul > li                         {width: 100%;}
  .header nav > ul > li:not(:last-child)        {border-bottom: solid 1px var(--color0-20);}
  .header nav > ul > li > a                     {width: 100%; text-align: left; font-size: 1.35em; padding-block: 0.75em;}
  .header nav > ul > li > a:after               {display: block; width: 0.7em; height: 0.7em; flex-grow: 2; background: url("/wp-content/uploads/2026/05/chevron-color1.svg") no-repeat right center; background-size: contain; content: ""; transition: .15s ease-in-out;}
  .header nav > ul > li > a:hover               {color: var(--color1);}
  .header nav div                               {display: none;}
  .header .mobile-only                          {display: flex; justify-content: flex-end; gap: 0.4em; flex-grow: 2;}
  .header-elements                              {order: -1; margin-bottom: 1em;}
  .header-elements .phone                       {position: absolute; right: var(--padding1); top: calc(0.2em + var(--padding1));}
  .header-elements .booking                     {display: none;}
  .header .lang                                 {display: flex; order: -1; font-size: 0.7em; top: -0.25rem;}
  .header .lang .trigger                        {display: none;}
  .header .lang ul                              {width: 100%; align-items: center;}
  .header .lang ul li:not(.sel) a:hover         {color: var(--color1);}
  .header .lang ul li.sel a                     {background: var(--color0-10);}
  .header #navicon                              {cursor: pointer;}
  .header #navicon span                         {display: block; width: 50%; height: 0.16em; background: var(--color0); border-radius: 2px; position: absolute; left: 25%; transition: .15s ease-in-out;}
  .header #navicon span:nth-child(1)            {top: 32%;}
  .header #navicon span:nth-child(2),
  .header #navicon span:nth-child(3)            {top: calc(50% - 0.08em);}
  .header #navicon span:nth-child(4)            {bottom: 32%;}
  .header #navicon div                          {display: none; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 2;}
  .header.show #navicon span:nth-child(2)       {transform: rotate(45deg);}
  .header.show #navicon span:nth-child(3)       {transform: rotate(-45deg);}
  .header.show #navicon span:nth-child(1), 
  .header.show #navicon span:nth-child(4)       {opacity: 0 !important;}
  .header.show #navicon div                     {display: block;}
  .header.show .collapse                        {left: 0; opacity: 1; transform: scale(1);}
  .header.show.hide .collapse                   {opacity: 0; transform: scale(1.15);}
  .header :is(.desktop-only)                    {display: none;}                 
  }
  @media screen and (max-width: 540px)          {
  .header                                       {font-size: 0.9rem;}
  .header .logo-web                             {width: 8.2em;}
  .header .mobile-only .button                  {--button-height: 2.4em; padding-inline: 1.1em;}
  }

.elementor .footer                                         {display: block; width: 100%; background: var(--color0-10);}
.elementor .footer .wrapper                                {padding-inline: var(--padding1); gap: 0;}
.elementor .footer .upper                                  {display: flex; width: 100%; justify-content: center; align-items: center; gap: 1.8em; padding-block: var(--section-padding);}
.elementor .footer .upper > div                            {display: flex; flex-direction: column; gap: 0.8em; text-align: left; position: relative;}
.elementor .footer .upper > div .title                     {display: block; text-align: left; font-size: 1.1em; color: var(--color1); font-weight: 800;}
.elementor .footer .upper > div ul                         {display: block;}
.elementor .footer .upper > div ul li                      {display: inline-block; width: 100%;}
.elementor .footer .upper > div ul li a                    {display: inline-block; font-size: 1em; color: inherit; font-weight: 700; text-decoration: underline; transition: .15s ease-in-out;}
.elementor .footer .upper > div ul li a:hover              {color: var(--color0b); text-decoration-color: transparent;}
.elementor .footer .upper > div ul li .address             {display: block; font-size: 0.8em;}
.elementor .footer .logo-web                               {width: 9em;}
.elementor .footer-about                                   {display: flex; align-items: center; font-size: 0.8em; flex: 2; margin-block: 0.6em;}
.elementor .footer .buttons                                {display: flex; gap: 0.3em; font-size: 0.85em;}
.elementor .footer .buttons .button                        {font-size: 1em;}
.elementor .footer .links                                  {display: flex; width: 100%; flex-wrap: wrap; gap: 0.5em 1.4em; padding-block: 2rem; border-top: solid 1px var(--color0-40);}
.elementor .footer .links li                               {display: block; font-size: 0.85em;}
.elementor .footer .links li a                             {display: inline-block; color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.elementor .footer .links li a:hover                       {color: var(--color0b); text-decoration-color: transparent;}
.elementor .footer .links li:last-child                    {flex-grow: 2; text-align: right;}
.elementor .footer .links li img                           {display: inline-block; width: 0.95em; position: relative; top: 0.13em;}
  @media screen and (min-width: 1081px)         {
  .elementor .footer .upper > div ul                       {column-count: 2; column-gap: 2rem; margin-top: -0.6em;}
  .elementor .footer .upper > div ul li                    {margin-top: 0.6em;}
  .elementor .footer .upper > div:last-child               {min-width: 16em; align-items: flex-end;}
  .elementor .footer .logo-web                             {margin-right: -1.1em;}
  .elementor .footer-about                                 {text-align: right;}
  }
  @media screen and (max-width: 1080px)         {
  .elementor .footer .upper                                {flex-wrap: wrap;}
  .elementor .footer .upper > div                          {width: 100%;}
  .elementor .footer .upper > div ul                       {margin-top: -0.3em;}
  .elementor .footer .upper > div ul li                    {margin-top: 0.3em;}
  }
  @media screen and (min-width: 769px) and (max-width: 1080px){
  .elementor .footer .upper > div ul                       {column-count: 3; column-gap: 2rem; margin-top: -0.6em;}
  }
  @media screen and (min-width: 541px) and (max-width: 1080px){
  .elementor .footer-about                                 {width: 18em; text-align: right; position: absolute; right: 0; top: 0.8em;}
  }
  @media screen and (max-width: 768px)          {
  .elementor .footer .upper                                {justify-content: space-between; align-items: stretch; gap: 1.8em 10%;}
  .elementor .footer .upper > div ul                       {column-count: 2; column-gap: 1.5rem; margin-top: -0.5em;}
  .elementor .footer .upper > div ul li                    {margin-top: 0.5em;}
  }
  @media screen and (max-width: 960px)          {
  .elementor .footer .links                                {justify-content: center;}
  .elementor .footer .links li:last-child                  {width: 100%; text-align: center; font-size: 0.8em; margin-top: 1.3em;}
  }

.main                                           {display: flex; width: 100%; flex-wrap: wrap; flex-grow: 3; transition: .15s ease-in-out;}
.main > div                                     {display: block; width: 100%;}

h1, h2, h3, h4                                  {display: block; width: 100%; font-weight: 800; line-height: var(--headline-line-height); position: relative;}
.elementor-heading-title 						{ line-height: inherit}
h1                                              {font-size: min(3.2rem, calc(1.2rem + 4vw));}
h2                                              {font-size: min(2.6rem, calc(0.8rem + 4vw));}
h3                                              {font-size: min(1.8rem, calc(0.5rem + 4vw));}
h4                                              {font-size: min(1.3rem, calc(0.3rem + 4vw));}
h1 img, h2 img, h3 img, .h2 img                 {display: inline-block; width: 1em; height: 1em; fill: var(--color1); margin-inline: 0.1em; position: relative; top: 0.1em;}
h1 .profile-img, h2 .profile-img                {display: inline-block; width: 1em; height: 1em; padding: 0.2rem; margin: 0 0.1em; border: solid 0.1rem var(--color1); border-radius: 100%; transform: scale(1.2); box-sizing: border-box; position: relative; top: 0.15em;}
h1 .divider, h2 .divider                        {display: inline-block; width: 0.06em; height: 0.85em; background: var(--color1); margin-inline: 0.4em; position: relative; top: 0.07em;}
.hp h1                                          {font-size: min(3.5rem, calc(1.4rem + 3vw));}
  @media screen and (min-width: 1081px)         {
  h2.desktop-smaller                            {font-size: min(1.9rem, calc(0.7rem + 4vw));}
  }

.main :is(p, li)                                {width: 100%;}
.main :is(p a, li a, td a)                      {color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.main :is(p a, li a, td a):hover                {color: var(--color0b); text-decoration-color: transparent;}

.main :is(ul, ol)                               {display: flex; flex-direction: column; align-items: flex-start; text-align: left;}
.main :is(ul li, ol li)                         {padding-left: 1.3em; position: relative; box-sizing: border-box;}
.main :is(ul li, ol li):before                  {display: block; position: absolute; left: 0; content: "";}
.main ol                                        {counter-reset: ol;}
.main ol li                                     {counter-increment: ol;}
.main ol li:before                              {content: counter(ol)".";}


div.elementor .section                                        {display: block; width: 100%; position: relative; padding-top: var(--section-padding); overflow: visible;}
div.elementor .section.padding-top-lower,
div.elementor .section:first-child                            {padding-top: var(--section-padding-lower);}
div.elementor .section.padding-bottom-lower                   {padding-bottom: var(--section-padding-lower);}
div.elementor .section.padding-top-0                          {padding-top: 0;}
div.elementor .section.padding-bottom                         {padding-bottom: var(--section-padding);}
div.elementor .section.color0                                 {background: var(--color0); overflow: hidden;}
div.elementor .section.color0:before,
div.elementor .section.color0:after                           {display: block; width: 30rem; height: 30rem; opacity: 0.1; background: url("/wp-content/uploads/2026/05/pictogram-outline-white.svg") no-repeat center center; background-size: contain; position: absolute; content: "";}
div.elementor .section.color0:before                          {left: 65%; top: -15rem;}
div.elementor .section.color0:after                           {right: 65%; bottom: -15rem;}
div.elementor .section.color0-10                              {background: var(--color0-10);}
div.elementor .section.start-top:before,
div.elementor .section.bottom-end:after                       {display: block; width: 100%; height: 20em; background-image: linear-gradient(to bottom, white, transparent); position: absolute; left: 0; top: 0; content: "";}
div.elementor .section.bottom-end:after                       {top: auto; bottom: 0; transform: rotate(180deg);}
div.elementor .section.bottom-start                           {background-image: linear-gradient(to top, var(--color0-10), transparent var(--section-padding), transparent);}
div.elementor .section.bottom-start + .section                {padding-top: 0;}

div.elementor .section.overflow + .section                    {padding-top: calc(2 * var(--section-padding)); margin-top: calc(-1 * var(--section-padding));}

div.elementor .section.color0 :is(h2, p)                      {color: white;}

.icon1                                          {display: flex; width: 1.2em; aspect-ratio: 1; justify-content: center; align-items: center; border-radius: 100%;}
.icon1 img                                      {display: block; width: auto; height: 50% !important;}
.icon1.border0-30                               {border: solid 0.045em var(--color0-30);}
.icon1.color0-10                                {background: var(--color0-10);}
.icon1.color1                                   {background-image: linear-gradient(to top, var(--color1b), var(--color1));}
.icon1.white                                    {background: white;}

.breadcrumbs                                    {display: block; max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;}
.breadcrumbs::-webkit-scrollbar                 {display: none;}
.breadcrumbs ul                                 {flex-direction: row; gap: 1.3em; margin: 0; padding: 0 !important;}
.breadcrumbs ul li                              {display: flex; width: auto; align-items: center; font-size: 0.85em; line-height: 1.3 !important; position: relative; padding: 0; margin: 0;}
.breadcrumbs ul li:before                       {display: none;}
.breadcrumbs ul li:not(:last-child) a:after     {display: inline-block; width: 0.45em; height: 0.44em; position: absolute; right: -1em; top: 0.45em; background: url("/wp-content/uploads/2026/05/chevron-color0.svg") no-repeat center center; background-size: contain; content: "";transition: .25s ease-in-out;}
.breadcrumbs ul li a                            {display: block; color: inherit; text-decoration: underline; font-weight: 500; border: none; white-space: nowrap; transition: .25s ease-in-out;}
.breadcrumbs ul li:last-child a                 {text-decoration: none; font-weight: 700; opacity: 1;}
.breadcrumbs ul li a[href]:hover                {color: var(--color0b); text-decoration-color: transparent;}

.submenu                                        {display: flex; width: 100vw; --submenu-height: 2.4em; justify-content: center; margin-inline: calc(0.5 * var(--wrapper-width) - 50vw); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
                                                 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center center; mask-position: center center; -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
                                                 mask-image: linear-gradient(to right, transparent, black calc(50vw - 0.5 * var(--wrapper-width)), black calc(100vw - 50vw + 0.5 * var(--wrapper-width)), transparent);                                           
                                                 -webkit-mask-image: linear-gradient(to right, transparent, black calc(50vw - 0.5 * var(--wrapper-width)), black calc(100vw - 50vw + 0.5 * var(--wrapper-width)), transparent);
                                                }
.submenu nav                                    {display: block; max-width: 100%;}
.submenu nav::-webkit-scrollbar                 {display: none;}
.submenu ul                                     {width: auto; flex-direction: row; gap: 0.3em; margin: 0 !important; padding: 0 !important; box-sizing: border-box;}
.submenu ul li                                  {width: auto; padding: 0; margin: 0; scroll-snap-align: start;}
.submenu ul li:first-child                      {padding-left: calc(50vw - 0.5 * var(--wrapper-width));}
.submenu ul li:last-child                       {padding-right: calc(50vw - 0.5 * var(--wrapper-width));}
.submenu ul li:before                           {display: none;}
.submenu ul li a                                {display: flex; height: var(--submenu-height); border-radius: 1.2em; align-items: center; font-size: 0.9em; color: white; text-decoration: none; font-weight: 700; background: var(--color0); padding-inline: 1em; border: none; white-space: nowrap; cursor: pointer; transition: .25s ease-in-out;}
.submenu ul li a:hover                          {background: var(--color0b); color: white;}
.submenu.filters ul li a.sel                    {background: var(--color1);}
  @media screen and (min-width: 769px)          {
  .submenu                                      {width: 100%; margin-inline: 0; mask-image: none; -webkit-mask-image: none;}
  .submenu nav                                  {max-width: fit-content;}
  .submenu nav ul                               {justify-content: center; flex-wrap: wrap;}
  .submenu nav ul li                            {padding: 0 !important;}
  }

div.elementor .content                                        {max-width: 42rem; padding-inline: var(--padding1);}
div.elementor .content, .content .text                        {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap1); box-sizing: border-box;}
div.elementor .content *                                      {text-align: center;}
div.elementor .content .subheadline                           {display: block; font-size: min(1.4rem, calc(0.1rem + 4vw)); color: var(--color1); font-weight: 700;}
div.elementor .content .subheadline + *                       {margin-top: calc(-0.75 * var(--gap1));}
div.elementor .content + *                                    {margin-top: var(--gap1);}
div.elementor .content :is(h1, h2) + .subheadline             {margin-top: calc(-0.5 * var(--gap1));}
div.elementor .content .icon1                                 {width: 4em;}
div.elementor .content .icon1 + h1                            {margin-top: calc(-0.2 * var(--gap2));}
div.elementor .content h1 + .new-clients                      {font-size: 1.1em; box-shadow: 0 0 0.6em rgba(0,0,0,0.15);}
div.elementor .content .breadcrumbs + h1                      {margin-top: 0;}
div.elementor .content .address                               {display: flex; justify-content: center; gap: 0.3em; font-size: min(1.1em, calc(0.3em + 2vw)); font-weight: 500; position: relative;}
div.elementor .content .address:Before                        {display: block; width: 1.1em; height: 1.1em; background: url("/wp-content/uploads/2026/05/marker-color1.svg") no-repeat left center; background-size: contain; position: relative; top: 0.13em; content: ""; flex-shrink: 0;}
div.elementor .content h1 + .address                          {margin-top: -0.3em;}
  @media screen and (min-width: 1081px)         {
  div.elementor .content:not(.centered),
  div.elementor .content:not(.centered) .text                 {max-width: 100%; align-items: flex-start;}
  div.elementor .content:not(.centered) *                     {text-align: left;}
  div.elementor .content:has(.text)                           {flex-direction: row; justify-content: space-between; align-items: flex-end;}
  div.elementor .content .button                              {top: -0.15em;}
  }

.button, .button-like, .elementor-button        {display: flex; height: var(--button-height); justify-content: center; align-items: center; gap: 0.4em; text-align: left; font-size: 1rem; color: white; font-weight: 700; line-height: 1; border: none; outline: solid 2px transparent; padding: 0.2em 1.4em; border-radius: calc(0.5 * var(--button-height)); text-decoration: none !important; box-sizing: border-box; flex-shrink: 0; position: relative; z-index: 5; isolation: isolate; font-family: var(--font1); transition: .15s ease-in-out;}
.button::before, .elementor-button::before      {display: block; position: absolute; inset: 0; z-index: -1; content: ""; border-radius: calc(0.5 * var(--button-height)); transition: .15s ease-in-out;}
.button:hover, .elementor-button:hover          {cursor: pointer;}
.button:hover:before, .elementor-button:hover:before {filter: brightness(0.85) saturate(1.5);}
.button img, .button-like img                   {display: block; height: 1em;}
.button.white, .elementor-widget-button.white a {background: white; color: var(--color0);}
.button.white:hover, .elementor-widget-button.white a:hover {background: var(--color0-20);}
.button.white-10, .elementor-widget-button.white-10 a {background: var(--white-10); color: white;}
.button.white-10:hover, .elementor-widget-button.white-10 a:hover {background: var(--white-20);}
.button.border1, .elementor-widget-button.border1 a {border: solid 0.1em var(--color0-30); color: var(--color0);}
.button.border1:hover, .elementor-widget-button.border1 a:hover {background: var(--color0-10);}
.button.color0, .elementor-widget-button.color0 a {background: var(--color0);}
.button.color0:hover, .elementor-widget-button.color0 a:hover {background: var(--color0b);}
.button.color0-10, .elementor-widget-button.color0-10 a {background: var(--color0-10); color: var(--color0);}
.button.color0-10:hover, .elementor-widget-button.color0-10 a:hover {background: var(--color0-20);}
.button.color0-20, .elementor-widget-button.color0-20 a {background: var(--color0-20); color: var(--color0);}
.button.color0-20:hover, .elementor-widget-button.color0-20 a:hover {background: var(--color0-30);}
.button.color1:before, .elementor-widget-button.color1 a:before {background-image: linear-gradient(to right, var(--color1b), var(--color1));}
.button.circle, .button-like.circle, .elementor-widget-button.circle a             {width: var(--button-height); padding: 0;}
.button.circle img, .button-like.circle img     {height: 1.2em;}
.button-like.border0-30                         {border: solid 0.14em var(--color0-30); color: var(--color0);}

.link                                           {text-decoration: underline; transition: .15s ease-in-out;}
.link:hover                                     {text-decoration-color: transparent;}
.link.color1                                    {color: var(--color1)}
.link.color1:hover                              {color: var(--color0b);}

div.elementor .logos                            {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: 0.5em 2em; margin-block: -1.2em;}
div.elementor .logos a                          {display: block; height: min(4em, calc(2em + 5vw));}
div.elementor .logos a img                      {display: block; height: 100%; filter: brightness(1.7); opacity: 0.8;}

.flex                                           {display: flex; width: 100%; justify-content: center; gap: 0.5em;}
.flex:has(.button.white)                        {margin-bottom: 0.5rem;}
.flex .button.white                             {box-shadow: 0 0 0.5rem rgba(0,0,0,0.18);}
.flex .button.white:hover                       {box-shadow: 0 0 0 transparent;}

.image-text                                     {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap2) 0; box-sizing: border-box;}
.image-text :is(.image, .text)                  {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap1); position: relative;}
.image-text .image                              {max-width: 40em; container-type: inline-size;}
.image-text .image .inner                       {display: block; width: 100%; padding-top: 100%; position: relative;}
.image-text .image .inner > .div                 {display: flex; width: 100%; height: 100%; position: absolute; inset: 0;}
.image-text .text                               {z-index: 2;}
  @media screen and (min-width: 1081px)         {
  div.elementor .image-text                                   {flex-direction: row; justify-content: space-between; padding-inline: var(--padding1);}
  .image-text .text                             {align-items: flex-start;}
  .image-text .text :is(h1, h2, p)              {text-align: left;}
  }
  @media screen and (max-width: 1080px)         {
  .image-text .text                             {max-width: 40rem;}
  .image-text .image                            {max-width: var(--image-text-img-max); order: -1;}
  }                                              

div.elementor .zigzag                                         {display: flex; width: 100%; flex-direction: column; gap: var(--section-padding-lower);}
div.elementor .zigzag .image-text .image .inner               {aspect-ratio: 16/9; padding-top: 0; border-radius: var(--border-radius1); overflow: hidden;}
div.elementor .zigzag .image-text .image .inner > div img     {display: block; width: 100%; height: 100%; object-fit: cover;}
div.elementor .zigzag .image-text .text .flex                 {margin-top: 0.25em;}
div.elementor .zigzag .image-text .text .flex .button         {font-size: 0.9em;}
  @media screen and (min-width: 1081px)         {
  div.elementor .zigzag .image-text :is(.image, .text)        {width: 47%;}
  div.elementor .zigzag .image-text .text .flex               {justify-content: flex-start;}
  div.elementor .zigzag .image-text:nth-child(even) .text     {order: -1;}
  }

.hero .text h1                                  {line-height: 1.12; text-shadow: 0 0 1em white;}
.hero .text p                                   {text-align: center;}
.hero .text .button, .hero .text .elementor-button {padding-inline: 2.6em;}
.hero .icon-info                                {display: flex; align-items: center; gap: 0.4em; color: var(--color0); font-weight: 700;}
.hero .icon-info img                            {display: block; height: 1.2em; position: relative; top: -0.025em;}
.hero .image .bg                                {display: block; width: 100%; height: 100%; background-image: linear-gradient(45deg, var(--color0-20), transparent 80%); border-radius: 100%; overflow: hidden; position: relative;}
.hero .image .bg:before,
.hero .image .bg:after                          {display: block; opacity: 0.08; filter: saturate(3); background-repeat: no-repeat; background-position: center center; background-size: contain; position: absolute; content: "";}
.hero .image .bg:before                         {width: 65%; height: 65%; background-image: url("/wp-content/uploads/2026/05/pictogram-color0.svg"); left: -15%; bottom: 0; top: unset}
.hero .image .bg:after                          {width: 58%; height: 58%; background-image: url("/wp-content/uploads/2026/05/pictogram-outline-color0.svg"); right: 4%; top: 8%;}
.hero .image :is(.img1, .img2, .pictogram1, .pictogram2, .places, .reviews-label)
                                                {display: flex; flex-direction: column; align-items: center; position: absolute;}
.hero .image .img1                              {width: 55%; bottom: 0; left: 27%;}
.hero .image .img2                              {width: 40%; bottom: 0; left: 15%; z-index: 3;}
.hero .image .pictogram1                        {width: 7%; top: 21%; right: 15%;}
.hero .image .pictogram2                        {width: 5%; bottom: 17%; left: 8%;}
.hero .image .places                            {left: 17%; top: 19%;}
.hero .image .places .icon1                     {font-size: 3.5em; box-shadow: var(--box-shadow);}
.hero .image .places .title                     {display: block; font-size: 1.2em; font-weight: 800; margin-block: 0.3em -0.1em;}
.hero .image .places .link                      {font-size: 0.9em; font-weight: 500;}
.hero .image .reviews-label                     {flex-direction: row; gap: 0.65em; background: var(--color0); padding: 1em 2em 1em 1em; border-radius: 1.1em; box-sizing: border-box; left: -2%; bottom: 36.2%;}
.hero .image .reviews-label:after               {display: block; width: 1.45em; height: 1.45em; background: url("/wp-content/uploads/2026/05/pictogram-color1.svg") no-repeat center center; background-size: contain; position: absolute; right: -0.45em; top: -0.45em; content: "";}
.hero .image .reviews-label .icon               {display: flex; width: 2.2em; height: 2.2em; justify-content: center; align-items: center; background: white; border-radius: 100%;}
.hero .image .reviews-label .icon img           {display: block; width: 70%;}
.hero .image .reviews-label > div               {display: block;}
.hero .image .reviews-label > div span          {display: block; text-align: left; color: white; font-weight: 700;}
.hero .image .reviews-label > div .rating       {display: flex; align-items: center; gap: 0.5em; font-size: 0.8em; color: var(--color2); font-weight: 800;}
.hero .image .reviews-label > div .rating img   {display: block; width: 5.2em; position: relative; top: -0.05em;}
  @media screen and (min-width: 1081px)         {
  div.elementor .section:has(.hero)                           {margin-block: -1.6rem; padding-block: 0;}
  .hero .text                                   {width: 22em;}
  .hero .text p                                 {text-align: left; font-size: 0.9em;}
  .hero .image                                  {width: calc(96% - 22em);}
  }
  @media screen and (max-width: 1080px)         {
  .hero .image .reviews-label                   {left: 3%;}                                              
  .hero .image                                  {margin-bottom: -5em;
                                                 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center top; mask-position: center top; -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
                                                 mask-image: linear-gradient(to bottom, black 70%, transparent);                                           
                                                 -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent);
                                                }
  }  
  @media screen and (max-width: 540px)          {
  .hero .image .places                          {font-size: 0.9em; left: 8%; top: 10%;}
  .hero .image .reviews-label                   {font-size: calc(0.3em + 1.5vw);}
  }

div.elementor .box                                            {display: flex; width: 100%; background: white; border-radius: var(--border-radius1); box-sizing: border-box; box-shadow: var(--box-shadow);}

.arrow-list                                     {gap: 0.2em;}
.arrow-list li                                  {padding-left: 1.35em; text-align: left;}
.arrow-list li:before                           {width: 1em; height: 1em; background: url("/wp-content/uploads/2026/05/button-arrow-color0.svg") no-repeat center center; background-size: contain; top: 0.28em;}

.chevrons-list                                  {gap: 0.2em;}
.chevrons-list li                               {padding-left: 1.35em; text-align: left;}
.chevrons-list li:before                        {width: 1em; height: 0.7em; background: url("/wp-content/uploads/2026/05/chevron-color1.svg") no-repeat center center; background-size: contain; top: 0.42em;}

.insurance-companies                            {display: flex; justify-content: center; flex-wrap: wrap; gap: 0.4em 1.4em; font-size: 1.2em;}
.insurance-companies span                       {display: flex; align-items: center; gap: 0.5em;}
.insurance-companies span .num                  {display: block; width: 3em; text-align: center; font-size: 0.75em; font-weight: 700; line-height: 1; padding: 0.3em 0; border: solid 0.12em var(--color1); border-radius: 0.4em; box-sizing: border-box;}
.insurance-companies + .link                    {font-size: 0.8em;}

.info-panel                                     {flex-wrap: wrap; padding: min(2.5em, calc(1em + 3vw));}
.info-panel > div                               {display: flex; flex-direction: column; gap: 0.6em; align-items: flex-start; padding-left: var(--padding-left); position: relative; box-sizing: border-box; --padding-left: 2.7rem;}
.info-panel hr                                  {width: 1px; background-color: var(--color0-20); border: none;}
.info-panel .title                              {display: block; text-align: left; font-size: min(1.5rem, calc(1rem + 2vw)); color: var(--color0); font-weight: 800; line-height: var(--headline-line-height);}
.info-panel .title .icon1                       {font-size: 1.2em; position: absolute; left: 0; top: -0.18rem;}
.info-panel :is(li a, td a):not(:hover)         {color: var(--color1)}
.info-panel table                               {text-align: left; border-collapse: collapse;}
.info-panel table td:first-child                {padding-right: 1.2em;}
.info-panel .insurance-companies                {width: 14em; gap: 0.4em 0; font-size: 1em;}
.info-panel .insurance-companies > span         {width: 50%;}
  @media screen and (min-width: 1081px)         {
  .info-panel                                   {flex-wrap: nowrap; padding-right: 4em;}
  }
  @media screen and (min-width: 769px) and (max-width: 1080px){
  .info-panel > div                             {width: 43%;}
  .info-panel > div:nth-of-type(3)              {width: 100%; align-items: center; background: var(--color0-10); padding: 1.2em; margin-top: 1.2em; border-radius: calc(0.7 * var(--border-radius1)); box-sizing: border-box;}    
  .info-panel > div:nth-of-type(3) .title       {text-align: center; font-size: 1.3em;}
  .info-panel > div:nth-of-type(3) .title .icon1{display: none;}
  .info-panel hr:nth-of-type(2)                 {display: none;} 
  }
  @media screen and (max-width: 768px)          {
  .info-panel > div                             {width: 100%; padding: 0;}
  .info-panel .title                            {position: static;}
  .info-panel .title .icon1                     {width: 3em; font-size: 0.8em; left: auto; top: calc(50% - 1.5em); right: 0;}
  .info-panel .title .icon1 img                 {width: 35%;}
  .info-panel hr                                {width: 100%; height: 1px; margin-block: 1.2em;}
  }

.pictogram:after                                {display: block; width: var(--pictogram-width); aspect-ratio: 1; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: contain; content: "";}
.pictogram.color1:after                         {background-image: url("/wp-content/uploads/2026/05/pictogram-color1.svg");}

.new-clients                                    {display: none; height: var(--new-clients-height); --new-clients-height: 2.6em; justify-content: center; align-items: center; gap: 0.5em; background: white; text-align: left; font-weight: 700; border-radius: 1.5em; padding: 0 1em 0 0.5em; box-sizing: border-box; position: relative;}
.new-clients .icon                              {display: flex; width: 1.5em; aspect-ratio: 1; justify-content: center; align-items: center; background-image: linear-gradient(to top, var(--color1b), var(--color1)); border-radius: 100%;}
.new-clients .icon img                          {display: block; width: 50%;}
.new-clients-true .new-clients                  {display: flex;}

.img.pictogram:after                            {bottom: calc(-0.5 * var(--pictogram-width)); right: 2em;}

.hours                                          {display: block; width: 100%;}
.hours .headline                                {display: block; text-align: left; font-weight: 700; margin-bottom: 0.4em;}
.hours table                                    {width: 100%; border-collapse: collapse;}
.hours table td                                 {text-align: left; padding-block: 0.3em; border-bottom: solid 1px var(--color0-20);}
.hours table td:last-child                      {padding-left: 1em; text-align: right;}
.hours table tr:first-child td                  {padding-top: 0;}
.hours table tr:last-child td                   {padding-bottom: 0; border: none;}

.profile-photo                                  {display: block; aspect-ratio: 1; background: var(--color0); border-style: solid; border-color: white; box-sizing: border-box; border-radius: 100%; overflow: hidden; position: relative; z-index: 2;}
.profile-photo img                              {display: block; width: 100%; height: 100%; object-fit: cover;}

.languages                                      {display: flex; width: 100%; flex-wrap: wrap; gap: 0.4em;}
.languages > div                                {display: flex; align-items: center; gap: 0.4em; background: var(--color0-10); font-weight: 500; padding: 0.3em 1em 0.25em 0.6em; border-radius: 1em;}
.languages > div img                            {display: flex; width: 1em; position: relative; top: -0.05em;}

div.elementor .preview                          {display: flex; width: 100%; padding: var(--preview-padding); box-sizing: border-box;}
div.elementor .preview .inner                   {display: flex; width: 100%; flex-direction: column; gap: 1em; background: white; border-radius: var(--border-radius1); box-shadow: 0 0 var(--preview-padding) rgba(0,0,0,0.12); box-sizing: border-box; container-type: inline-size;}
div.elementor .preview .img                     {display: block; width: 100%; position: relative;}
div.elementor .preview .img a                   {display: block; width: 100%; aspect-ratio: 16/9; border-radius: var(--border-radius1); overflow: hidden;}
div.elementor .preview .img a img               {display: block; width: 100%; height: 100%; object-fit: cover; transition: .15s ease-in-out;}
div.elementor .preview .img a:hover img         {opacity: 0.9;}
div.elementor .preview .img .new-clients        {font-size: 0.7em; position: absolute; left: 2.5em; bottom: calc(-0.5 * var(--new-clients-height));}
div.elementor .preview .info                    {display: flex; width: 100%; flex-direction: column; gap: 0.8em; flex-grow: 2; padding: 0 var(--inner-padding) var(--inner-padding); --inner-padding: clamp(1em, 9cqw, 2.8em); box-sizing: border-box;}
div.elementor .preview .profile-photo           {width: 4.6em; height: 4.6em; border-width: 0.4em; margin-block: -3.5em -0.4em; left: -0.43em;}
div.elementor .preview .title                   {display: block; width: 100%; text-align: left; font-size: min(1.65em, 9cqw, calc(1em + 4vw)); font-weight: 800; line-height: var(--headline-line-height); margin-bottom: -0.1em;}
div.elementor .preview .title a                 {color: inherit; transition: .15s ease-in-out;}
div.elementor .preview .title a:hover           {color: var(--color1);}
div.elementor .preview .post                    {text-align: left; font-size: 0.9em; margin-top: -0.4em;}
div.elementor .preview .address                 {display: block; width: 100%; text-align: left; font-weight: 400; font-size: 0.8em; line-height: 1.3; padding-left: 2.35em; box-sizing: border-box; position: relative;}
div.elementor .preview .address strong          {display: block;}
div.elementor .preview .address:before          {display: block; width: 2em; height: 2em; background: url("/wp-content/uploads/2026/05/marker-color1.svg") no-repeat left center; background-size: contain; position: absolute; left: 0; top: 0.18em; content: "";}
div.elementor .preview .perex                   {display: block; width: 100%; text-align: left; font-size: 0.85em;}
div.elementor .preview .hours table td          {font-size: 0.9em;}
div.elementor .preview .languages               {font-size: 0.8em;}
div.elementor .preview .areas                   {font-size: 0.85em; padding-top: var(--gap1); border-top: solid 1px var(--color0-40);}
div.elementor .preview .buttons                 {display: flex; width: 104%; margin: 0 -2% -2%; justify-content: space-between; align-items: flex-end; align-content: flex-end; gap: 0.5em; flex-wrap: wrap; flex-grow: 2; margin-top: 0.3em;}
div.elementor .preview .buttons .button         {font-size: 0.85em; --button-height: 2.6em; flex-grow: 2; padding-inline: 1em;}
div.elementor .preview .buttons .button.w100    {width: 100%;}

div.elementor .preview.person .title            {font-size: min(1.45em, 8.4cqw, calc(1em + 4vw));}

div.elementor .grid                             {display: flex; width: calc(100% + 2 * var(--preview-padding)); flex-wrap: wrap; --row-count: 1; margin-inline: calc(-1 * var(--preview-padding));}
div.elementor .grid.centered                    {justify-content: center;}
div.elementor .grid > *                         {width: calc(100% / var(--row-count));}
  @media screen and (min-width: 1081px)         {
  div.elementor .grid.g3-1,
  div.elementor .grid.g3-2-1                    {--row-count: 3;}
  div.elementor .grid.g4-2-1                    {--row-count: 4;}
  }
  @media screen and (min-width: 541px)          {
  div.elementor .grid.g2-1                      {--row-count: 2;}
  }
  @media screen and (min-width: 541px) and (max-width: 1080px){
  div.elementor .grid.g3-2-1,
  div.elementor .grid.g4-2-1                    {--row-count: 2;}
  }

div.elementor .swiper-slide                     {display: flex; height: auto; flex-shrink: 0; transition: .35s ease-in-out;}

.swiper-button                                  {display: flex; width: var(--swiper-button-size); height: var(--swiper-button-size); justify-content: center; align-items: center; background: var(--color1); position: absolute; z-index: 5; margin: 0; box-sizing: border-box; cursor: pointer;  transition: .35s ease-in-out;} 
.swiper-button-prev                             {right: auto; transform: rotate(-180deg);}
.swiper-button-next                             {left: auto;}                                 
.swiper-button img                              {display: block; height: 33%;}
.swiper-button:after                            {display: none;}
.swiper-button:hover                            {background: var(--color1b);}
.swiper-button-lock                             {opacity: 0 !important;}
.swiper-buttons-edges .swiper-button            {width: 1.6em; height: 3.2em; padding-left: 0.2em; border-radius: 3.2em 0 0 3.2em; top: calc(50% - 1.6em);}
.swiper-buttons-edges .swiper-button-prev       {left: 0 !important;}
.swiper-buttons-edges .swiper-button-next       {right: 0 !important;}
  @media screen and (min-width: 1801px)         {
  .swiper-button                                {--swiper-button-size: 2.6em; top: calc(50% - 0.5 * var(--swiper-button-size)); border-radius: 100%;}
  }
  @media screen and (max-width: 1800px)         {
  .swiper-button                                {--swiper-button-size: 3.2em; padding-right: 1.1em; border-radius: 3.2em; top: calc(50% - 0.5 * var(--swiper-button-size));}
  .swiper-button-prev                           {left: calc(-50vw + 50% - 1.3em)}
  .swiper-button-next                           {right: calc(-50vw + 50% - 1.3em);}
  }
  @media screen and (max-width: 1800px)         {
  div.elementor .swiper-button                                {padding-right: 1.25em; border-radius: 3.2em; top: calc(50% - 0.5 * var(--swiper-button-size));}
  .swiper-button-prev                           {left: calc(-50vw + 50% - 1.1em)}
  .swiper-button-next                           {right: calc(-50vw + 50% - 1.1em);}
  }
  @media screen and (max-width: 1800px) and (pointer: coarse){
  .swiper-button-prev                           {left: calc(-50vw + 50% - 1.65em)}
  .swiper-button-next                           {right: calc(-50vw + 50% - 1.65em);}
  }

div.elementor .section:has(.carousel)                         {overflow: hidden;}

.carousel                                       {display: block; width: 100%; position: relative; box-sizing: border-box;}
.carousel-inner                                 {display: block; width: 100%; box-sizing: border-box; overflow: hidden;}
.carousel .swiper                               {display: block; width: 100%; box-sizing: border-box; overflow: visible;}
.carousel + .flex                               {margin-top: var(--gap1);}
.carousel + .flex .button                       {font-size: 0.9em;}
  @media screen and (min-width: 1801px)         {
  .carousel .swiper                             {overflow: visible;}
  .about-slider .swiper-button-prev,
  .carousel .swiper-button-prev                 {left: -7%;}
  .about-slider .swiper-button-next,
  .carousel .swiper-button-next                 {right: -7%;}
  }
  @media screen and (min-width: 1367px) and (max-width: 1800px){
  .carousel                                     { --carousel-edge: calc(50vw - 0.5 * var(--wrapper-wide-max));}
  .carousel-inner                               {width: 100vw; margin-inline: calc(-1 * var(--carousel-edge)); padding-inline: var(--carousel-edge);
                                                 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center top; mask-position: center top; -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
                                                 mask-image: linear-gradient(to right, transparent, black var(--carousel-edge), black calc(100% - var(--carousel-edge)), transparent);                                           
                                                 -webkit-mask-image: linear-gradient(to right, transparent, black var(--carousel-edge), black calc(100% - var(--carousel-edge)), transparent);
                                                }
  }
  @media screen and (max-width: 640px)          {
  .carousel                                     {width: 100vw; margin-inline: calc(50% - 50vw); }
  .carousel .swiper                             {padding-inline: calc(40vw - 15rem);}
  .carousel .swiper-slide:not(.swiper-slide-active)
                                                {opacity: 0.4;}
  }

.about-slider .swiper-slide > *                 {opacity: 0; transform: scale(0.7); transition: 1s ease-in-out;}  
.about-slider .swiper-slide-active > *          {opacity: 1; transform: scale(1);}

.about-slider .person                           {display: flex; align-items: center; gap: 0.7em;}
.about-slider .person .photo                    {display: block; width: 2.6em; height: 2.6em; background: var(--color0-40); border-radius: 100%; overflow: hidden;}
.about-slider .person .photo img                {display: block; width: 100%; height: 100%; object-fit: cover;}
.about-slider .person span                      {display: block; text-align: left; font-size: 0.8em; color: var(--color0-20); position: relative; top: -0.08em;}
.about-slider .person span strong               {display: block; font-size: 1.2em; color: white;}
.about-slider .text .content                    {padding: 0;}
.about-slider .text h2                          {color: white}
.about-slider .text p                           {margin: 0;}
.about-slider .text .thumbs                     {width: 100%; margin: 0.4em 0; padding: 0;}
.about-slider .text .bottom                     {display: flex; width: 100%; flex-direction: column; align-items: center; gap: 0.6em;}
.about-slider .text .bottom > span              {display: block; font-size: 1.35em; color: white; font-weight: 800;}
.about-slider .image .swiper                    {width: 100%; height: 100%; overflow: visible;}
.about-slider .image .bg                        {display: block; width: 100%; height: 100%; border-radius: 100%; position: relative;}
.about-slider .image .bg:before                 {display: block; background-repeat: no-repeat; background-position: center center; background-size: contain; position: absolute; content: "";}
.about-slider .image .team                      {display: block; width: 100%; height: 100%; border-radius: 100%; overflow: hidden; position: absolute; inset: 0;}
.about-slider .image .team img                  {display: block; width: 100%; height: 100%; object-fit: contain;}
.about-slider .image .pictogram1                {display: block; width: 7%; position: absolute;}
.about-slider .image .label                     {display: block; font-weight: 800; backdrop-filter: blur(8px); border-radius: 0.5em; box-sizing: border-box; position: absolute;}
.about-slider .image .label:before              {display: block; width: var(--label-width); --label-width: 6em; text-align: center; font-size: 0.45em; color: white; font-weight: 700; background: var(--color0); padding: 0.34em 0; border-radius: 1.2em; position: absolute; right: calc(50% - 0.5 * var(--label-width)); bottom: 80%; content: "Pobočka";}
.about-slider .image .label .address            {display: block; width: 100%; text-align: center; font-size: 0.45em; font-weight: 500; line-height: 1; margin-bottom: 0.4em;}
  @media screen and (min-width: 1081px)         {
  .about-slider :is(.image, .text)              {width: 46%;}
  .about-slider .text .bottom > span            {text-align: left;}
  .about-slider .text .bottom                   {align-items: flex-start;}
  .about-slider .text .bottom .flex             {justify-content: flex-start;}
  }
  @media screen and (max-width: 1080px)         {
  .about-slider .text .person                   {width: 100%; justify-content: center;}
  }

.about-cta .image .bg                           {background-image: linear-gradient(-45deg, var(--black-20), transparent 80%);}
.about-cta .image .bg:before                    {width: 55%; height: 55%; opacity: 0.05; filter: saturate(3); background-image: url("/wp-content/uploads/2026/05/pictogram-white.svg"); left: -3%; top: -3%;}
.about-cta .image .pictogram1                   {top: 13%; right: 24%;}
.about-cta .image .label                        {width: 12em; font-size: 5.5cqw; color: white; text-shadow: 0 0 0.4em rgba(0,0,0,0.4); background: rgba(64,64,101, 0.6); padding: 0.5em 0.6em 0.5em 1.5em; left: 25%; bottom: 8.5%;}
.about-cta .image .label:before                 {transform: translate(1em);s}
.about-cta .image .img                          {display: block; width: 25%; height: 25%; border-radius: 100%; overflow: hidden; box-shadow: var(--box-shadow); position: absolute; left: 8%; bottom: 5%;}
.about-cta .image .img img                      {display: block; width: 100%; height: 100%; object-fit: cover;}
  @media screen and (max-width: 1080px)         {
  .about-cta .swiper-button                     {top: calc(0.5 * var(--image-text-img-max) - 0.5 * var(--swiper-button-size));}
  }

.hp .about-slider .text p                       {color: var(--color0-10);}

.hp .anim                                       {opacity: 0; transform: translate(0, 3em); transition: 0.6s ease-in-out; transition-delay: 0.15s;}
.hp .anim.zoom                                  {transform: translate(0) scale(0.85);}
.hp .anim.from-bottom                           {transform: translate(0, 3em);}
.hp .anim.play                                  {opacity: 1; transform: translate(0) scale(1) !important;}
  @media screen and (min-width: 1081px)         {
  .hp .anim.from-left                           {transform: translate(-3em, 0);}
  .hp .anim.from-right                          {transform: translate(3em, 0);}
  }

div.elementor .section:has(.about-page)                       {overflow: hidden;}

div.elementor .about-page .quote                              {display: flex; width: 100%;}
div.elementor .about-page .quote span                         {display: block; max-width: 20em; text-align: left; font-size: 1.1em; font-weight: 500; padding-left: 3.7em; position: relative; box-sizing: border-box;}
div.elementor .about-page .quote span:before                  {display: block; width: 3em; height: 2.3em; background: url("/wp-content/uploads/2026/05/quotes-color1.svg") no-repeat left top; background-size: auto contain; position: absolute; left: 0; top: 0.35em; content: "";}
div.elementor .about-page .icon-info                          {text-align: center; font-size: 0.9em; line-height: 1.3; height: auto; flex-wrap: wrap; padding: 0.5em 1em 0.5em;}
div.elementor .about-page .icon-info img                      {font-size: 1.2em;}
  @media screen and (max-width: 1080px)         {
  div.elementor .about-page .quote                            {justify-content: center;}
  }
  @media screen and (min-width: 641px)          {
  div.elementor .about-page .swiper-button                    {padding-right: 0;}
  div.elementor .about-page .swiper-button-prev               {left: -1em;}
  div.elementor .about-page .swiper-button-next               {right: -1em;}
  }

div.elementor .about-page .image .bg                          {background-image: linear-gradient(45deg, var(--color0-30), transparent 80%);}
div.elementor .about-page .image .bg:before,
div.elementor .about-page .image .bg:after                    {display: block; opacity: 0.08; filter: saturate(3); background-repeat: no-repeat; background-position: center center; background-size: contain; position: absolute; content: "";}
div.elementor .about-page .image .bg:before                   {width: 65%; height: 65%; background-image: url("/wp-content/uploads/2026/05/pictogram-color0.svg"); left: 5%; bottom: 18%;}
div.elementor .about-page .image .bg:after                    {width: 58%; height: 58%; background-image: url("/wp-content/uploads/2026/05/pictogram-outline-color0.svg"); right: 4%; top: 0;}
div.elementor .about-page .image .pictogram1                  {top: 9%; right: 18.5%;}
div.elementor .about-page .image .label                       {font-size: 4.5cqw; background: rgba(225,225,255,0.6); padding: 0.6em 1.2em 0.6em; left: 4%; bottom: 6%;}
div.elementor .about-page .image .person                      {font-size: 3cqw; background: var(--color0); padding: 0.9em 1.5em 0.95em 1em; border-radius: 1em; position: absolute; right: 0; bottom: 16%;}

div.elementor .carousel-gallery .preview .inner               {margin-bottom: calc(var(--pictogram-width) - var(--preview-padding));}
div.elementor .carousel-gallery .img                          {display: block; width: 100%; position: relative; box-sizing: border-box;}
div.elementor .carousel-gallery .img a                        {display: block; aspect-ratio: 3/2; border-radius: var(--border-radius1); overflow: hidden;}
div.elementor .carousel-gallery .img a img                    {display: block; width: 100%; height: 100%; object-fit: cover;}
div.elementor .carousel-gallery .swiper-button                {margin-top: calc(-1 * var(--preview-padding));}

div.elementor .about-services                                 {display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; gap: var(--gap2) 0;}
div.elementor .about-services .box                            {flex-direction: column; align-items: center; gap: var(--gap1); padding: min(4em, calc(0.8em + 5vw));}
div.elementor .about-services .box .icon1                     {font-size: 4em;}
div.elementor .about-services .box ul                         {gap: 0.7em; margin-block: 0.5em var(--gap1);}
div.elementor .about-services .box .bottom                    {display: flex; align-items: flex-end; flex-grow: 2;}
div.elementor .about-services .box .bottom .button            {font-size: 1em;}
  @media screen and (min-width: 1081px)         {
  div.elementor .about-services .box                          {width: 48.8%;}
  }

div.elementor .contact-types > div                            {display: flex; padding: var(--preview-padding); box-sizing: border-box;}
div.elementor .contact-types .box                             {flex-direction: column; align-items: center; gap: var(--gap1); padding: min(3em, calc(0.5em + 5vw));}
div.elementor .contact-types .box .icon1                      {font-size: 2.2em;}
div.elementor .contact-types .box .icon1 img                  {height: 100% !important;}
div.elementor .contact-types .box h2                          {font-size: min(1.5rem, calc(0.4rem + 4vw));}
div.elementor .contact-types .box .flex                       {flex-grow: 2; align-items: flex-end;}
div.elementor .contact-types .box .flex .button               {font-size: 0.85em;}
  @media screen and (min-width: 725px) and (max-width: 1080px){
  div.elementor .contact-types                                {--row-count: 3;}
  div.elementor .contact-types .box                           {font-size: 0.85em;}
  }

div.elementor .billing                                        {flex-direction: column; align-items: center;}
div.elementor .billing p                                      {width: auto;}
  @media screen and (min-width: 541px)          {
  div.elementor .billing                                      {flex-direction: row; align-items: flex-start;}
  div.elementor .billing p                                    {text-align: left;}
  div.elementor .billing p:not(:last-child)                   {margin-right: 2em; padding-right: 2em; border-right: solid 1px var(--color0-40);}
  }

.checkbox                                       {display: block; position: relative;}

input[type="checkbox"]:not(:checked),
input[type="checkbox"]:checked                  {position: absolute; left: -9999px; top: 0;}

.chk1:not(:checked) + span,   
.chk1:checked + span                           {display: block; min-width: 0.9em; min-height: 0.9em; position: relative; text-align: left; font-size: 0.9em; color: #fff; font-weight: 400; padding-inline-start: 1.4em; cursor: pointer; box-sizing: border-box; transition: .25s ease-in-out;}
.chk1:not(:checked) + span:before,
.chk1:checked + span:before                    {display: block; width: 0.9em; height: 0.9em; background: var(--color0-40); opacity: 0.7; position: absolute; left: 0; top: 0.3em; border-radius: 0.2em; overflow: hidden; content: "";}
.chk1:checked + span:before                    {background: URL('/wp-content/uploads/2026/05/check-white.svg'), var(--color1); opacity: 1;}
.chk1:disabled + span,                  
.chk1:disabled + span:before                   {opacity: 0.4;}
.chk1 + span a                                 {color: inherit; font-weight: 500; text-decoration: underline; transition: .25s ease-in-out;}
.chk1 + span a:hover                           {opacity: 0.8; text-decoration-color: transparent;}

.custom-select                                  {position: relative; padding-inline: 0 !important;}
.custom-select select                           {display: none;}
.custom-select .custom-select-inner             {display: block; width: 100%; height: 100%; position: relative; cursor: pointer; user-select: none;}
.custom-select-trigger                          {display: block; width: 100%; height: 100%; text-align: left; color: var(--color0-40); font-weight: 500; line-height: var(--form-item-height); align-items: center; padding-inline: var(--form-item-padding) 2.6em; box-sizing: border-box; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.custom-select-trigger:after                    {display: block; width: 0.55em; height: 100%; position: absolute; right: calc(0.4em + var(--form-item-padding)); top: 0; content: ""; background: url("/wp-content/uploads/2026/05/chevron-color1.svg") no-repeat center center; background-size: 100% auto; transform: rotate(90deg); transition: .2s ease-in-out;}
.custom-select-trigger.show:after               {transform: rotate(-90deg);}
.custom-select-trigger.chosen                   {color: white;}
.custom-select .reset                           {display: none; height: 100%; align-items: center; padding-inline: 0.3em; position: absolute; right: 0.7em; top: 0;}
.custom-select .reset div                       {display: block; width: 1.3em; height: 1.3em; background: var(--color1); border-radius: 100%; position: relative; cursor: pointer; transition: .25s ease-in-out;}
.custom-select .reset div:before,
.custom-select .reset div:after                 {display: block; width: 60%; height: 0.14em; background: white; border-radius: 2px; position: absolute; top: calc(50% - 0.07em); left: 20%; z-index: 1; content: ""; transform: rotate(45deg);}
.custom-select .reset div:after                 {transform: rotate(-45deg);}
.custom-select .reset div:hover                 {background: var(--color1b);}
.custom-select:has(.custom-select-trigger.chosen) .reset
                                                {display: flex;}
.custom-options                                 {display: block; width: calc(100% + 0.2em); max-height: 17em; background: var(--white-90); backdrop-filter: blur(6px); opacity: 0; position: absolute; left: 9999px; top: calc(100% + 0.3em); border-radius: var(--form-item-radius); border: var(--border); box-sizing: border-box; overflow-y: auto; z-index: 100; transition: opacity .25s ease-in-out;}
.custom-options.show                            {opacity: 1; left: -0.1em;}
.custom-option                                  {display: block; width: 100%; text-align: left; font-size: 0.9em; color: var(--color0); font-weight: 500; line-height: 1.1; padding: 0.75em 2.6em 0.7em 1.2em; box-sizing: border-box; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative; transition: .25s ease-in-out;}
.custom-option:after                            {display: block; width: 0.4em; height: 100%; position: absolute; right: 1.5em; top: 0; content: ""; background: url("/wp-content/uploads/2026/05/chevron-color0.svg") no-repeat center center; background-size: 100% auto;}
.custom-option:hover,
.custom-option.focused                          {background: var(--color0-20);}
.custom-option.selected                         {background: var(--color1); color: white; font-weight: 700;}
.custom-option.selected:after                   {display: none;}
.custom-select.disabled                         {opacity: 0.5; cursor: not-allowed; pointer-events: none;}
.custom-select.disabled .custom-options         {display: none !important;}

.form                                           {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap2);}
.form-items                                     {display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; gap: var(--gap1) var(--form-item-gap);}
.form-items .wpcf7-form-control-wrap            {width: 100%;}
.color0 .wpcf7-response-output                  {color:white}
.form-bottom                                    {display: flex; width: 100%; flex-direction: column; align-items: center; gap: 1.2em;}
.form-bottom .chk1:not(:checked) + label,   
.form-bottom .chk1:checked + label              {font-size: 0.8em;}

.form-error, .wpcf7-not-valid-tip               {display: block; width: calc(100% - 2.6em); max-width: 30em; margin-inline: 1.3em; font-size: 0.7rem; color: white; background: var(--error); font-weight: 500; padding: 0.2em 0.7em; border-radius: 1em; box-sizing: border-box;}

.form-item:has(.custom-select-trigger.show)     {z-index: 2;}

.form-item                                      {display: flex; width: 100%; justify-content: space-between; align-content: flex-start; flex-wrap: wrap; gap: 0.45em; box-sizing: border-box; position: relative; z-index: 1; transition: .35s ease-in-out;}
.form-item > label                              {display: flex; width: 100%; min-height: 1em; font-size: 0.9em; color: white; font-weight: 700; padding-inline: 1em; box-sizing: border-box; order: -1; position: relative; z-index: -1;}
.form-item-element                              {display: flex; width: 100%; align-items: flex-start; align-content: flex-start; flex-wrap: wrap; position: relative;}
.form-item :is(input, textarea, .custom-select) {display: block; width: 100%; color: white; font-size: 1em; font-weight: 500; backdrop-filter: blur(var(--blur1)); padding-inline: var(--form-item-padding); border: solid 0.08em var(--white-10); outline: solid 0.13em transparent; border-radius: var(--form-item-radius); font-family: var(--font1); box-sizing: border-box; transition: .25s ease-in-out;}
.form-item :is(input, .custom-select)           {height: var(--form-item-height);}
.form-item textarea                             {min-height: 12em; padding-block: 1em;}
.form-item :is(input, .custom-select, textarea):focus
                                                {outline-color: var(--color1);}
.form-item :is(input, textarea)::placeholder    {color: var(--color1); opacity: 0.55; font-weight: 500;}

.form-item .form-error,
.form-item .wpcf7-not-valid-tip                 {padding-inline: 1.35em; margin-block: 0.5em 0.2em;}
  @media screen and (min-width: 769px)          {  
  .form-item.w33-50-100                         {width: calc(33.33% - 2/3 * var(--form-item-gap));}
  .form-item textarea                           {height: 9em;}
  }
  @media screen and (min-width: 541px) and (max-width: 768px){  
  .form-item.w33-50-100                         {width: calc(50% - 0.5 * var(--form-item-gap));}
  }
  @media screen and (max-width: 540px)          {  
  .form-item textarea                           {height: 16em;}
  }

.section.color0 label                           {color: white;}
.section.color0 .form-item :is(input, textarea, .custom-select)
                                                {background: var(--white-10);}
.section.color0 .form-item :is(input, .custom-select, textarea):hover
                                                {background: var(--white-20);}

div.elementor .pricelists                                     {display: flex; width: 100%; gap: var(--section-padding); margin-top: min(var(--gap1), 2vw);}
div.elementor .pricelists .box                                {flex-direction: column; padding: min(3em, calc(0.3em + 5vw)); gap: var(--gap1);}
div.elementor .pricelists .box *                              {text-align: left;}
div.elementor .pricelists .headline1                          {font-size: min(1.6rem, calc(0.5rem + 3vw));}
div.elementor .pricelists .headline1:not(:first-child)        {margin-top: var(--gap2);}
div.elementor .pricelists .headline2                          {font-size: min(1.25rem, calc(0.3rem + 3vw));}
div.elementor .pricelists .table                              {display: block; width: 100%;}
div.elementor .pricelists .table table                        {width: 100%; border-collapse: collapse;}
div.elementor .pricelists .table table td                     {text-align: left; vertical-align: top; padding-top: 0.55em;}
div.elementor .pricelists .table table td:last-child          {text-align: right; white-space: nowrap; padding-left: 1.2em;}
div.elementor .pricelists .table table tr:first-child td      {padding-top: 0;}
div.elementor .pricelists .table table tr:not(:last-child) td {padding-bottom: 0.6em; border-bottom: solid 1px var(--color0-40);}
div.elementor .pricelists .table table td p                   {display: block; font-size: 0.8em;}
div.elementor .pricelists .bottom                             {display: flex; width: 100%; justify-content: space-between; gap: var(--gap1) 6%; font-size: 0.85em; margin-top: var(--gap1);}
div.elementor .pricelists .bottom .button                     {font-size: 1em;}
  @media screen and (max-width: 768px)          {  
  div.elementor .pricelists .bottom                           {flex-wrap: wrap;}
  }
  @media screen and (max-width: 540px)          {  
  div.elementor .pricelists .table                            {font-size: 0.9em;}
  }

div.elementor .section:has(.cover)                            {overflow: hidden;}
div.elementor .section:has(.cover) .new-clients               {font-size: 1.1em; margin-bottom: calc(-1 * var(--gap2) - 0.5 * var(--new-clients-height)); z-index: 2;}

div.elementor .cover                                          {display: block; width: 100%; aspect-ratio: 16/9; border-radius: var(--border-radius1); overflow: hidden;}
div.elementor .cover > img, .cover .swiper-slide img          {display: block; width: 100%; height: 100%; object-fit: cover;} 
div.elementor .cover :is(.image, .swiper)                     {width: 100%; height: 100%; position: relative;}
div.elementor .cover-slider                                   {overflow: visible; margin-bottom: 1.2rem; position: relative;}
div.elementor .cover-slider .image .swiper                    {border-radius: var(--border-radius1);}
div.elementor .cover-slider .image .swiper-slide              {width: 100%; height: 100%;}
div.elementor .cover-slider .thumbs                           {display: flex; width: 100%; justify-content: center; position: absolute; left: 0; bottom: -1.2rem; padding-inline: 3rem; box-sizing: border-box;}
div.elementor .cover-slider .thumbs .swiper                   {max-width: var(--wrapper-thin-max); background: white; border-radius: calc(0.25 * var(--border-radius1)); outline: solid 0.6em white;}
div.elementor .cover-slider .thumbs .swiper-slide div         {display: block; width: 100%; padding-top: calc(100% * 9 / 16); position: relative}
div.elementor .cover-slider .thumbs .swiper-slide span        {display: block; position: absolute; inset: 0;}
div.elementor .cover-slider .thumbs .swiper-slide:not(.swiper-slide-thumb-active)
                                                {opacity: 0.4;}
div.elementor .cover-slider .thumbs .swiper-slide:hover       {opacity: 0.9; cursor: pointer}
  @media screen and (min-width: 1081px)         {
  div.elementor .cover:not(.cover-slider) + .submenu          {margin-top: calc(-0.5 * var(--submenu-height) - var(--gap1));}
  div.elementor .cover + .submenu nav                         {background: white; border-radius: calc(0.75 * var(--submenu-height)); padding: 0.7em 0.8em;}
  div.elementor .cover .swiper-button                         {padding-right: 0;}
  div.elementor .cover .swiper-button-prev                    {left: -1.6em;}
  div.elementor .cover .swiper-button-next                    {right: -1.6em;}
  }

div.elementor .clinic-info                                    {justify-content: space-between; flex-wrap: wrap; padding: min(3.6em, calc(1em + 4vw));}
div.elementor .clinic-info > .div                              {display: flex; width: 100%; flex-direction: column; gap: var(--gap1);}
div.elementor .clinic-info > .div h2                           {font-size: min(2rem, calc(0.8rem + 4vw));}
div.elementor .clinic-info .line                              {display: block; width: 100%; height: 1px; background: var(--color0-30); margin: var(--gap2) 0;}
  @media screen and (min-width: 769px)          {
  div.elementor .clinic-info > .div                            {width: 42%;}
  div.elementor .clinic-info > .div h2                         {text-align: left;}
  div.elementor .clinic-info .line                            {width: 1px; height: auto; margin: 0;}
  div.elementor .clinic-info .hours td                        {padding-block: 0.55em 0.5em;}
  }

div.elementor .clinic-contacts                                {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: 1em var(--gap2);}
div.elementor .clinic-contacts > .div                          {display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding-left: 2.7em; position: relative; box-sizing: border-box;}
div.elementor .clinic-contacts > .div .icon1                   {font-size: 1.7em; position: absolute; left: 0; top: -0.17em;}
div.elementor .clinic-contacts > .div a                        {color: var(--color0); font-weight: 700; transition: .15s ease-in-out;}
div.elementor .clinic-contacts > .div .address                 {font-size: 0.9em;}
div.elementor .clinic-contacts > .div .address + a             {font-size: 0.75em; color: var(--color1); text-decoration: underline; font-weight: 500; margin-top: 0.35em;}
div.elementor .clinic-contacts > .div .address + a:hover       {color: var(--color1b); text-decoration-color: transparent;}
div.elementor .clinic-contacts + .buttons .button             {font-size: 0.85em;}
  @media screen and (min-width: 769px)          {
  div.elementor .clinic-contacts,
  div.elementor .clinic-contacts + .buttons                   {justify-content: flex-start;}
  }
  @media screen and (max-width: 480px)          {
  div.elementor .clinic-contacts > .div                        {width: 100%;}
  }

  @media screen and (min-width: 769px)          {
  div.elementor .services-short .preview .inner               {flex-direction: row; gap: 0;}
  div.elementor .services-short .preview .inner .img          {width: 40%;}
  div.elementor .services-short .preview .inner .img a        {aspect-ratio: unset; position: absolute; inset: 0;}  
  div.elementor .services-short .preview .inner .img.pictogram:after 
                                                {bottom: auto; top: 1.65em; right: calc(-0.5 * var(--pictogram-width));}

  div.elementor .services-short .preview .inner .info         {width: 60%; padding: 1.5em;}
  div.elementor .services-short .preview .inner .info .buttons .button  
                                                {width: auto; flex-grow: unset; font-size: 0.75em; margin-left: 0.2em;}
  }

.map                                            {display: block; width: 100%; aspect-ratio: 1; border-radius: var(--border-radius1); overflow: hidden; position: relative;}
.map iframe                                     {display: block; width: 100%; height: 100%; position: absolute; inset: 0;}
  @media screen and (min-width: 769px)          {
  .map                                          {aspect-ratio: 21/9;}
  }

.service-about,                                  
.service-about.cols > div                       {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap1) 0; flex-wrap: wrap;}
.service-about.cols > div ul li a               {color: var(--color1);}
.service-about.cols > div ul li a:hover         {color: var(--color1b);}
  @media screen and (min-width: 1081px)         {
  .service-about.cols                           {flex-direction: row; justify-content: space-between; align-items: flex-start; row-gap: var(--section-padding-lower);} 
  .service-about.cols > div                     {align-items: flex-start; text-align: left;}                         
  .service-about.cols > div:nth-child(odd)      {width: 42%;}
  .service-about.cols > div:nth-child(even)     {width: 50%;}
  }
  @media screen and (max-width: 1080px)         {
  .service-about.cols                           {gap: var(--section-padding-lower);}
  .service-about.cols > div ul                  {display: block; max-width: 30rem; column-count: 2; column-gap: 1em;}
  .service-about.cols > div ul li               {display: inline-block; margin-bottom: 0.3em;}
  }

div.elementor .steps                                          {display: flex; width: 100%; flex-direction: column; gap: var(--gap2); counter-reset: step;}
div.elementor .steps > .div                                    {display: flex; width: 100%; flex-direction: column; gap: var(--gap1); text-align: left; padding-left: 3.3em; box-sizing: border-box; position: relative; counter-increment: step;}
div.elementor .steps > .div:before                             {display: flex; width: 2.4em; aspect-ratio: 1; justify-content: center; align-items: center; font-size: 1em; font-weight: 700; background: var(--color0-10); padding-bottom: 0.05em; box-sizing: border-box; border-radius: 100%; position: absolute; left: 0; top: -0.13em; content: counter(step); height: auto;}
div.elementor .steps > .div:not(:last-child):after             {display: block; width: 0.1em; height: calc(100% - 2em); background: var(--color0-20); position: absolute; left: 1.15em; bottom: calc(-0.6 * var(--gap2)); content: "";}

div.elementor .section:has(.person-profile)                   {padding-top: 4.5em;}

div.elementor .person-profile                                 {display: flex; width: 88%; flex-direction: column; align-items: center; gap: var(--gap2) 0; position: relative;}
div.elementor .person-profile .profile-photo                  {width: 8em; height: 8em; border-width: 0.6em; position: absolute; top: -8.5em; left: -0.63em;}
div.elementor .person-profile :is(.details, aside)            {display: flex; width: 100%; flex-direction: column; gap: var(--gap2); align-items: flex-start;}
div.elementor .person-profile .details *                      {text-align: left;}
div.elementor .person-profile h1                              {font-size: min(2.2rem, calc(0.7rem + 4vw));}
div.elementor .person-profile h2                              {font-size: min(1.65rem, calc(0.25rem + 4vw)); margin-bottom: calc(-0.6 * var(--gap2));}
div.elementor .person-profile .post                           {font-size: min(1.15rem, calc(0.1rem + 4vw)); margin-top: calc(-0.8 * var(--gap2));}
div.elementor .person-profile .languages                      {font-size: 0.85em; margin-top: calc(-0.3 * var(--gap2));}
div.elementor .person-profile .details ul + .button           {margin-top: calc(-0.4 * var(--gap2));}
div.elementor .person-profile .details .button                {font-size: 0.8em;}
  @media screen and (min-width: 961px)          {
  div.elementor .person-profile                               {flex-direction: row; justify-content: space-between; align-items: flex-start;}
  div.elementor .person-profile .details                      {width: calc(100% - 22em);}  
  div.elementor .person-profile aside                         {width: 20em !important;}  
  }

.wndw                                           {display: flex; width: 100%; height: 100%; flex-direction: row; justify-content: center; align-items: center; padding: min(1rem, 5%); box-sizing: border-box; position: fixed; left: -99999px; top: 0; z-index: 1000000;}
.wndw:before                                    {display: block; width: 100%; height: 100%; background: rgba(216,216,216,0.65); backdrop-filter: blur(4px); position: absolute; left: 0; top: 0; z-index: -1; content: ""; opacity: 0; transition: opacity .3s ease-in-out;}
.wndw > .outer                                  {display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1;}
.wndw > div                                     {display: flex; width: 100%; max-width: 48em; max-height: calc(100svh - 3rem); background: rgba(248,248,248,0.88); backdrop-filter: blur(2px); position: relative; border-radius: 1.2em; top: 0; z-index: 2; box-shadow: 0 0 0.6em rgba(0,0,0,0.12); transform: scale(0.8); transition: .25s ease-in-out;}
.wndw > div .overflow                           {display: block; width: 100%; max-height: 100%; overflow-y: auto; overflow-x: hidden; box-sizing: border-box;}
.wndw > div .overflow > div                     {display: block; width: 100%; height: auto;}
.wndw.show                                      {left: 0;}
.wndw.show:before                               {opacity: 1;}
.wndw.show > div                                {transform: scale(1);}
.wndw.show.hide                                 {left: -99999px; transition: left 0s ease-in-out; transition-delay: 0.3s;}
.wndw.show.hide:before                          {opacity: 0;}
.wndw.show.hide > div                           {transform: scale(0.8) !important; opacity: 0;}
.wndw .cross                                    {display: block; width: 1.8em; height: 1.8em; font-size: 1em; background: var(--color0); border-radius: 100%; cursor: pointer; position: absolute; right: -0.6em; top: -0.6em; z-index: 10002; box-shadow: 0 0 0.4em rgba(0,0,0,0.1); transition: .2s ease-in-out;}
.wndw .cross span                               {display: block; width: 50%; height: 0.14em; background: white; border-radius: 2px; position: absolute; left: 25%; top: calc(50% - 0.07em); z-index: 1;}
.wndw .cross:hover                              {background: var(--color0b);}
.wndw .cross span:nth-child(1)                  {transform: rotate(45deg);}
.wndw .cross span:nth-child(2)                  {transform: rotate(-45deg);}
.wndw .wndw-content                             {display: flex; width: 100%; justify-content: center; align-items: flex-start; align-content: flex-start; flex-wrap: wrap; gap: 1.2em; font-size: 1rem; padding: max(2rem, 8%) min(6rem, 10vw); box-sizing: border-box;}
.wndw .wndw-content .icon                       {font-size: 1.3em; margin-bottom: -0.4em;}
.wndw .wndw-content .wndw-title                 {display: block; width: 100%; text-align: center; font-size: min(2em, calc(1em + 3vw)); font-weight: 800; line-height: 1.1; margin-bottom: 0.15em;}
.wndw .wndw-content p                           {display: block; width: 100%; text-align: center; font-size: 0.9em;}
.wndw .wndw-content p strong                    {font-weight: 700;}
.wndw .wndw-content .title:has(+ p),
.wndw .wndw-content .title2:has(+ p)            {margin-bottom: -0.35em;}
.wndw .wndw-content .flex                       {gap: 0.3em; margin-top: 1em;}
.wndw .wndw-content .flex .button               {min-width: 8em; font-size: 0.9em;}  

.phones                                         {display: block; width: 100%;}
.phones ul                                      {display: flex; width: 100%; flex-wrap: wrap;}
.phones ul li                                   {display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 0.75em 1em; box-sizing: border-box;}
.phones ul li:not(:last-child)                  {margin-bottom: 1em; padding-bottom: 1em; border-bottom: solid 1px var(--color0-30);}
.phones ul li .info                             {display: flex; flex-direction: column; flex-shrink: unset;}
.phones ul li .info span                        {display: block; width: 100%; text-align: left; font-weight: 400; box-sizing: border-box; position: relative;}
.phones ul li .info .title                      {font-size: 1.2em; font-weight: 800; margin-top: -0.1em;}
.phones ul li .info .address                    {font-size: 0.85em; padding-left: 1.3em;}
.phones ul li .info .address:Before             {display: block; width: 1.1em; height: 1.1em; background: url("/wp-content/uploads/2026/05/marker-color0.svg") no-repeat left center; background-size: contain; position: absolute; left: 0; top: 0.13em; content: "";}
.phones ul li a                                 {white-space: nowrap;}
  @media screen and (max-width: 540px)          {
  .phones ul li                                 {flex-wrap: wrap;}
  .phones ul li .info                           {width: 100%;}
  .phones ul li .info .title                    {font-size: 1.45em;}
  }

div.elementor .faq                                            {display: flex; width: 100%; align-items: flex-start; flex-wrap: wrap; gap: .4em;}
div.elementor .faq article                                    {display: block; width: 100%; background: var(--color0-10); padding: 0.7em 1.35em; border-radius: 1.8em; box-sizing: border-box; position: relative; z-index: 1; overflow: hidden;}
div.elementor .faq :is(.title, p, li)                         {display: block; width: 100%; text-align: left; line-height: 1.55; box-sizing: border-box;}
div.elementor .faq .title                                     {font-size: 1.1em; font-weight: 800; padding: 0.1em 1.5em 0 0; cursor: pointer; position: relative; transition: .15s ease-in-out;}                                             
div.elementor .faq .title:after                               {display: flex; width: 1.2em; height: 1.2em; justify-content: center; align-items: center; color: white; font-size: 0.95em; font-weight: 500; background: var(--color1); border-radius: 100%; padding-bottom: 0.14em; box-sizing: border-box; position: absolute; right: 0; top: 0.25em; content: "+"; transition: .15s ease-in-out;}
div.elementor .faq .title:hover                               {color: var(--color1);}
div.elementor .faq .collapse                                  {display: none; width: 100%; padding-block: 0.2rem 0.55rem; box-sizing: border-box;}
div.elementor .faq .collapse :is(p, li)                       {font-size: 0.9em;}
div.elementor .faq .collapse > *:not(:first-child)            {margin-top: 0.5em;}
div.elementor .faq .collapse .headline                        {font-size: 1em; font-weight: 700; margin-block: 0.2em -0.35em;}
div.elementor .faq .collapse .headline:not(:first-child)      {margin-top: 1em;}
div.elementor .faq .collapse :is(ul, ol)                      {display: flex; flex-wrap: wrap; gap: 0.25em; padding: 0 0 0 1.2em; margin: 0;}
div.elementor .faq .collapse li                               {padding-left: 1.2em; position: relative;}
div.elementor .faq .collapse ul > li:before                   {display: block; width: 0.35em; height: 0.35em; background: white; border-radius: 100%; position: absolute; left: 0.1em; top: 0.43em; content: "";}
div.elementor .faq article.sel .title                         {color: var(--color1);}
div.elementor .faq article.sel .title:after                   {content: "-";}
