/*------------------------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:                 "korolev", sans-serif; /* 300, 500 */
                                                --wrapper-side:          3vw;
                                                --header:                4.5em;

                                                --border-radius0:        0.3rem;
                                                --border-radius1:        0.8rem;
                                          
                                                --gap1:                   1rem;
                                                --gap2:                   1.8rem;
                                                
                                                --color0:                #111B27;
                                                --color0b:               #1f3248;
                                                --color0c:               #cddef1;
                                                --color0d:               #d6e5f6;
                                                --color0e:               #F0F7FF;
                                                --color1:                #b74949;
                                                --color1b:               #d55353;

                                                --white-10:              rgba(255,255,255,0.1);
                                                --white-20:              rgba(255,255,255,0.2);
                                                --white-30:              rgba(255,255,255,0.3);
                                                --black-15:              rgba(0,0,0,0.15);
                                                --black-30:              rgba(0,0,0,0.3);
                                                --black-50:              rgba(0,0,0,0.5);

                                                --header:                 min(6.4rem, calc(3.4rem + 5vw));
                                                  --section-padding:        min(7rem, calc(3rem + 6vw));                                                
                                                  --wrapper-width:          86vw;
                                                --wrapper-max:            50rem;
                                                  --wrapper-wide-max:       70rem;                                        
                                                --line:                   1.3;
                                                --box-shadow1:            0 0 0.6rem var(--black-15);

                                                  --form-gap:                   1em;
                                                  --form-items-gap:             0.8em;
                                                  --form-item-height:           3.2em;
                                                  --form-item-border:           solid 0.1em var(--white-20);
                                                  --form-item-padding:          1em;
                                                }
                                               
html                                            {display: block; width: 100%; height: 100%; text-align: center; font-size: clamp(14px, calc(4px + 1vw), 20px); font-weight: 300; color: var(--color0); line-height: var(--line); letter-spacing: 0.02em; background: var(--color0e); overflow-x: hidden; font-family: var(--font1);}
body                                            {display: flex; width: 100%; min-height: 100%; flex-direction: column; position: relative; box-sizing: border-box;}
body.header-show :is(.main, .footer)            {filter: blur(6px); opacity: 0.35;}

.wrapper                                        {display: flex; width: var(--wrapper-width); flex-direction: column; justify-content: center; align-items: center; flex-wrap: wrap; gap: var(--section-padding); margin: 0 auto; box-sizing: border-box; position: relative; z-index: 5;}
  @media screen and (min-width: 1081px)         {
  .wrapper                                      {max-width: var(--wrapper-max);}
  .wrapper.wide                                 {width: 94%; 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: 500;}
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;}

.header                                         {display: flex; width: 100%; height: var(--header); justify-content: center; position: fixed; left: 0; top: 0; box-sizing: border-box; z-index: 1000; transition: .35s ease-in-out;}
.header:before                                  {display: block; position: absolute; inset: 0; background: var(--color0e); opacity: 0.6; content: ""; z-index: -1;}
.header .wrapper                                {width: min(90vw, 80rem); max-width: unset; height: 100%; flex-direction: row; justify-content: space-between;}
.header .logo                                   {display: flex; width: 12em; position: absolute; left: calc(50% - 6em); z-index: 2; transition: .35s ease-in-out;}
.header .logo img                               {display: block; width: 100%;} 
.header .collapse                               {display: block; width: 100%;}
.header .collapse .overflow                     {display: flex; width: 100%; justify-content: center; box-sizing: border-box;}
.header nav                                     {display: block; box-sizing: border-box;}
.header nav > ul                                {display: flex; width: 100%; 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; color: var(--color0); font-weight: 500; text-transform: uppercase; line-height: 1; position: relative; box-sizing: border-box; cursor: pointer; transition: .25s ease-in-out;}
.header.scroll                                  {height: calc(0.6 * var(--header)); backdrop-filter: blur(6px);}
.header.scroll .logo                            {width: 11em;left: calc(50% - 5.5em);}
  @media screen and (min-width: 1081px)         {
  .header .collapse                             {position: absolute; inset: 0;}
  .header .collapse :is(.overflow, nav, nav > ul, nav > ul > li)
                                                {height: 100%;}
  .header nav > ul                              {justify-content: center;}
  .header nav > ul > li                         {position: relative;}
  .header nav > ul > li:nth-child(-n+3)         {margin-right: 0.3rem;}
  .header nav > ul > li:nth-child(4)            {margin-right: 17rem;}
  .header nav > ul > li > a                     {height: 2.4em; padding-inline: min(1.4em, 1.5vw); border-radius: var(--border-radius0);}
  .header nav > ul > li > a:hover               {background: var(--color0d);}
  .header nav > ul > li > a.sel                 {background: var(--color0d);}
  .header .phone                                {align-self: center; margin-left: 1em;}
  .header .mobile-only                          {display: none;}                 
  .header.scroll .collapse nav > ul > li > a    {height: 100%; border-radius: 0;}
  }
  @media screen and (max-width: 1080px)         {
  .header .home                                 {display: flex; padding: 0.5em; margin: -0.5em;}
  .header .home img                             {display: block; height: 1.4em;}  
  .header #navicon                              {order: 2; display: block; width: 2.3em; height: 1.9em; cursor: pointer; position: relative; z-index: 10;}
  .header #navicon span                         {display: block; width: calc(100% - 0.8em); height: 0.14em; background: var(--color0); border-radius: 1px; position: absolute; left: 0.4em; transition: .15s ease-in-out;}
  .header #navicon span:nth-child(1)            {top: 0.4em;}
  .header #navicon span:nth-child(2),
  .header #navicon span:nth-child(3)            {top: calc(50% - 0.07em);}
  .header #navicon span:nth-child(4)            {bottom: 0.4em;}
  .header #navicon div                          {display: none; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 2;}
  .header #navicon:hover span                   {background: var(--color1);}
  .header .logo                                 {order: 1;}
  .header .collapse                             {width: 100%; height: 100svh; overflow-y: auto; position: fixed; left: -9999px; top: 0; padding-top: 2rem; box-sizing: border-box; opacity: 0; transform: scale(1.15); transition: opacity .5s ease-in-out, transform .5s ease-in-out;}
  .header .collapse .overflow                   {min-height: calc(100% - 8rem); width: 70%; flex-direction: column; position: relative; margin: 4rem 15%; box-sizing: border-box; transition: .35s ease-in-out;}
  .header nav > ul                              {flex-direction: column; align-items: flex-start; align-content: flex-start; gap: 1.4em 0;}
  .header nav > ul > li                         {display: flex;}
  .header nav > ul > li > a                     {text-align: left; font-size: 1.35em; padding-block: 0.2em 0.1em; border-left: solid 0 transparent;}
  .header nav > ul > li > a:hover               {color: var(--color1);}
  .header nav > ul > li > a.sel                 {padding-left: 0.65em; border-width: 0.15em; border-color: var(--color1);}
  .header .phone                                {width: 100%; margin-top: 3rem; font-size: 1.15em;}
  .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;}                 
  }

.footer                                         {display: block; width: 100%; position: relative; z-index: 10;}
.footer:has(.form)                              {padding-top: var(--section-padding);}

.footer-contacts                                {display: block; width: 100%; background: var(--color0); padding-bottom: var(--gap2); margin-top: var(--section-padding);}

.footer .quick-contacts                         {display: flex; justify-content: center; flex-wrap: wrap; gap: var(--gap1) var(--gap2); font-size: 1.3em;}
.footer .quick-contacts a                       {display: flex; align-items: center; gap: 0.4em; font-weight: 500; box-sizing: border-box;}
.footer .quick-contacts a img                   {display: block; height: 1em;}
.footer .quick-contacts a span                  {color: inherit; transition: .35s ease-in-out;}
.footer .quick-contacts a:hover span            {color: var(--color1);}
  @media screen and (min-width: 481px)          {
  .footer .quick-contacts                       {background: var(--color0e); padding: 0.6em var(--gap2) 0.55em; border-radius: 1.8em; margin-top: -1.3em;}
  .footer .quick-contacts a                     {color: var(--color0);}
  }
  @media screen and (max-width: 480px)          {
  .footer .quick-contacts                       {flex-direction: column; margin-top: var(--section-padding);}
  .footer .quick-contacts a                     {flex-direction: column; color: white; background: var(--white-10); padding: 0.9em 1.5em 0.85em; border-radius: var(--border-radius1);}
  .footer .quick-contacts a img                 {height: 1.3em;}
  } 

.footer .contacts                               {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: var(--gap2) 0; font-size: 1.3em; margin-bottom: var(--gap2);}
.footer .contacts > div                         {display: flex; width: 12em; flex-direction: column; align-items: center; gap: 0.2em; padding-inline: 1.5em; box-sizing: border-box;}
.footer .contacts > div > *                     {display: block; color: white;}
.footer .contacts h2                            {font-size: 0.9em;}
.footer .contacts p                             {font-size: 0.75em; color: var(--color0d);}
  @media screen and (min-width: 769px)          {
  .footer .contacts > div:not(:last-child)      {border-right: solid 0.08em var(--color1);}
  }
  @media screen and (max-width: 768px)          {
  .footer .contacts > div                       {width: 100%;}
  .footer .contacts p br                        {display: none;}
  }

.footer .other-projects                         {display: block; width: 100%;}
.footer .other-projects iframe                  {display: block; width: 100%; height: auto;}
.footer .projects-widget                        {display: flex; width: 100%; flex-wrap: wrap; padding: 2em 1em 0; overflow: hidden; position: relative; box-sizing: border-box;}
.footer .projects-widget:after                  {display: block; width: 100vw; height: 100%; opacity: 0.08; /*background: url('../images/dalsi-projekty.jpg') no-repeat center center; background-size: cover;*/ position: absolute; left: 0; top: 0; content: "";}
.footer .projects-widget p                      {display: block; width: 100%; text-align: center; font-size: min(1.8em, calc(0.8em + 2vw)); color: white; font-weight: 500; margin: 0 0 0.6em; box-sizing: border-box; position: relative; z-index: 2; font-family: var(--font2);}
.footer .projects-widget > div                  {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: 0.6em; box-sizing: border-box; position: relative; z-index: 2;}
.footer .projects-widget > div a                {display: flex; width: 11em; justify-content: center; text-align: center; flex-wrap: wrap; font-size: 0.85em; color: white; font-weight: 500; background: transparent; border-radius: var(--border-radius0); border: solid 0.07em var(--color1); padding: 0.6em 0.6em 0.5em; box-sizing: border-box; opacity: 1; transition: .15s ease-in-out;}
.footer .projects-widget > div a:hover          {background: var(--white-10);}
  @media screen and (max-width: 540px)          {
  .footer .projects-widget > div a              {font-size: 0.8em;}
  }

.footer .copyright                              {display: block; width: 100%; text-align: center; font-size: 0.8em; color: white; margin-top: var(--gap2);}
.footer .copyright a                            {color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.footer .copyright a:hover                      {color: white; text-decoration-color: transparent;}

.main                                           {display: flex; width: 100%; align-items: flex-start; align-content: flex-start; flex-wrap: wrap; flex-grow: 2; overflow: hidden; transition: .15s ease-in-out;}

.section                                        {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap2); position: relative; padding-top: var(--section-padding); overflow: hidden; container-type: inline-size;}
.section:first-child                            {padding-top: calc(var(--section-padding) + 0.5 * var(--header));}
.section:has(+ .section.image)                  {padding-bottom: var(--section-padding);}

.section.image                                  {padding-block: calc(0.55 * var(--font-size)); overflow: visible; --font-size: min(8rem, 12cqw)}
.section.image:before,
.section.image:after                            {display: flex; width: 100%; height: 0.5em; justify-content: center; text-align: center; font-size: var(--font-size); color: var(--color1); font-weight: 700; line-height: 1em; text-transform: uppercase; opacity: 0.1; position: absolute; left: 0; top: 0; z-index: 1; overflow: hidden; font-family: var(--font2); content: "Horky One";}
.section.image:after                            {align-items: flex-end; top: auto; bottom: 0;}
.section.image .inner                           {display: block; width: 100%; max-width: 100rem; aspect-ratio: 16/9; position: relative; z-index: 2;}
.section.image .inner:before,
.section.image .inner:after                     {display: block; width: 80%; height: 0.1em; background: white; opacity: 0.6; position: absolute; left: 10%; top: 5%; z-index: 2; content: "";}
.section.image .inner:after                     {top: auto; bottom: 5%;}
.section.image .inner img                       {display: block; width: 100%; height: 100%; object-fit: cover;}
  @media screen and (max-width: 1800px)         {
  .section.image > div                          {-webkit-mask: none; mask: none;}
  }

.main p, .main li                               {display: block; width: 100%; box-sizing: border-box; position: relative;}
.main p a, .main ul:not([class]) li a           {color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.main p a:hover, .main ul:not([class]) li a:hover
                                                {opacity: 0.8; text-decoration-color: transparent;}

.label1                                         {display: flex !important; width: auto !important; height: 2.8em; justify-content: center; align-items: center; font-size: min(1em, calc(0.6em + 1vw)); color: var(--color1); font-weight: 500; padding: 0 1.3em; box-sizing: border-box; position: relative; z-index: 1; transition: .15s ease-in-out;}
.label1:before, .label1:after                   {display: block; width: 90%; height: 100%; background-repeat: no-repeat; background-size: auto 100%; position: absolute; top: 0; content: ""; transition: .15s ease-in-out;}
.label1:before                                  {background-image: url("../images/label-left-color1.svg"); background-position: left center; left: 0;}
.label1:after                                   {background-image: url("../images/label-right-color1.svg"); background-position: right center; right: 0;}
.label1 + .h2                                   {margin-top: calc(-0.8 * var(--gap1));}

h1, h2, h3                                      {display: block; width: 100%; font-weight: 500;}
h1                                              {font-size: min(calc(1.2em + 4vw), 3em);}
h2                                              {font-size: min(calc(1.2em + 4vw), 3em);}
h3                                              {font-size: min(calc(1em + 4vw), 1.7em);}

.subheadline                                    {font-size: min(calc(0.1em + 4vw), 1.3em); color: var(--color1); font-weight: 500; margin-top: calc(-0.6 * var(--gap2));}

.content, .content .c2                          {display: flex; width: 100%; max-width: 38rem; flex-direction: column; align-items: center; flex-wrap: wrap; gap: var(--gap2) 0; box-sizing: border-box; position: relative; z-index: 2;}
.content .c2                                    {flex-direction: row; justify-content: space-between; align-items: flex-start;}
.content > .icon                                {font-size: 1.5em; margin-bottom: calc(-0.75 * var(--gap2));}
  @media screen and (min-width: 1081px)         {
  .content .c2                                  {width: var(--wrapper-max); max-width: unset; margin-inline: calc(50% - 0.5 * var(--wrapper-max));}
  .content .c2 > *                              {width: 48%; text-align: justify;}
  }

.button                                         {display: flex; justify-content: center; align-items: center; gap: 0.5em; font-size: 1em; font-weight: 500; line-height: 1; color: var(--color0); text-transform: uppercase; position: relative; outline: none; border: none; cursor: pointer; padding: 0.7em 1.2em 0.65em; border-radius: var(--border-radius0); box-sizing: border-box; font-family: var(--font1); transition: .15s ease-in-out;}
.button :is(img, svg)                           {display: block; height: 1em; fill: var(--color1); position: relative; top: -0.015em;}

.button.color0d                                 {background: var(--color0d);}
.button.color0d:hover                           {background: var(--color0c); color: var(--color1);}
.button.color1                                  {background: var(--color1); color: white;}
.button.color1:hover                            {background: var(--color1b);}

.icon                                           {display: flex; width: 2.4em; height: 2.4em; justify-content: center; align-items: center; text-align: center; color: var(--color1); font-weight: 500; background: var(--color0d); border-radius: 100%; padding-top: 0.05em; box-sizing: border-box; position: relative;}
.icon img                                       {display: block; height: 1.2em; position: relative; top: -0.05em;}
.icon:after                                     {display: block; width: 28%; aspect-ratio: 1; background-size: contain; position: absolute; right: 0; bottom: 0;}
.icon.check:after                               {background: url("../images/icons/check-round-color0.svg") no-repeat center center; content: "";}

.img                                            {display: block; width: 100%; position: relative;}
.img a                                          {display: block; width: 100%; aspect-ratio: 16/9; background: white; border-radius: var(--border-radius1); overflow: hidden; position: relative; box-shadow: var(--box-shadow1);}
.img a img                                      {display: block; width: 100%; height: 100%; object-fit: cover; transition: .3s ease-in-out;}
.img a[href]:hover img                          {opacity: 0.8;}
.img-info                                       {display: flex; width: 100%; flex-direction: column; align-items: center; gap: 0.5em; padding: 0 1em 1.6em; box-sizing: border-box; position: absolute; left: 0; bottom: 0; z-index: 2;}
.img-info:before                                {display: block; width: 100%; height: 6rem; opacity: 0.5; background-image: linear-gradient(to top, black, transparent); border-radius: var(--border-radius1); position: absolute; left: 0; bottom: 0; z-index: -1; content: "";}
.img-info .title                                {display: block; font-size: 0.8em; color: white; font-weight: 500; background: var(--white-30); backdrop-filter: blur(6px); padding: 0.6em 1.5em 0.55em; border-radius: var(--border-radius0); box-shadow: 0 0 0.5em var(--black-30);}

.flex                                           {display: flex; width: 100%; justify-content: center; align-items: center; gap: 0.5em; flex-wrap: wrap;}

.hp .anim                                       {opacity: 0; transform: scale(1.1); transition: 1.2s ease-in-out; transition-delay: 0.1s;}
.hp .anim.play                                  {opacity: 1; transform: scale(1) !important;}

.hero .content                                  {max-width: 100%;}
.hero-image                                     {display: flex; width: 100%; justify-content: center; align-items: flex-start; border-radius: var(--border-radius1); overflow: hidden; position: relative; z-index: 2; margin-top: calc(-0.75 * var(--section-padding));}
.hero-image:before                              {display: block; position: absolute; inset: 15% 0 0; z-index: -1; background: var(--color0b); border-radius: var(--border-radius1); content: "";}
.hero-image img                                 {display: block; width: 100%;}
  @media screen and (min-width: 769px)          {
  .hero-image img                               {margin-bottom: -6%;}
  }
  @media screen and (max-width: 768px)          {
  .hero-image img                               {width: 120%;}
  }

.infographics                                   {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: var(--gap1) 0;}
.infographics > div                             {display: flex; width: 6em; flex-direction: column; align-items: center; gap: 0.2em; padding-inline: 0.7em; box-sizing: border-box;}
.infographics > div:has(p)                      {width: 9em;}
.infographics > div .icon                       {font-size: 1.8em; margin-bottom: 0.2em;}
.infographics > div p.title                     {font-size: 1.1em; font-weight: 500;}

.about-box                                      {display: block; width: 100%; border: solid 0.2em var(--color1); position: relative; border-radius: var(--border-radius1); padding: min(3em, calc(0.5em + 5vw)) min(4em, calc(1em + 5vw)); box-sizing: border-box; margin-block: var(--gap2);}
.about-box .outer                               {display: flex; width: 100%; justify-content: center; position: absolute; left: 0;}
.about-box .outer > *                           {display: block; width: auto; padding: 0 0.8rem; background: var(--color0e); box-sizing: border-box; position: relative;}
.about-box .outer:has(h3)                       {top: 0;}
.about-box .outer h3                            {top: -0.72em;}
.about-box .outer:has(.stars)                   {bottom: 0;}
.about-box .outer .stars                        {width: 7em; bottom: -0.45em;}
.about-box .inner                               {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap2); font-size: 0.9em;}
  @media screen and (min-width: 1081px)         {
  .about-box                                    {width: var(--wrapper-max); max-width: unset; margin-inline: calc(50% - 0.5 * var(--wrapper-max));}
  }

.locality-images                                {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: 0.8rem;}
  @media screen and (min-width: 769px)          {
  .locality-images .img                         {width: calc(50% - 0.4rem);}
  }

.map                                            {display: block; width: 100%; height: 26rem; border-radius: var(--border-radius1); overflow: hidden; box-shadow: var(--box-shadow1);}

.section:has(+ .section.color0)                 {background-image: linear-gradient(to top, var(--color0) 13rem, transparent 13rem, transparent);}
.section.color0                                 {background: var(--color0);}   
.section.color0 .content *                      {color: white;}

.flats-selection                                {display: flex; width: 100%; flex-direction: column; gap: var(--gap2);}

.flats                                          {display: flex; width: 100%; justify-content: center; flex-wrap: wrap;}
.flats .model                                   {display: block; width: 100%; aspect-ratio: 3/2; position: relative;}
.flats .model .img-info:before                  {display: none;}
.flats .model svg                               {display: block; width: 100%; height: 100%; isolation: isolate;
                                                -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 top, transparent, black 50%);                                           
                                                 -webkit-mask-image: linear-gradient(to top, transparent, black 50%);
                                                }
.flats svg a                                    {cursor: pointer; position: relative; z-index: 10;}
.flats .clipped-image                           {opacity: 0; transition: opacity .3s ease-in-out, transform .3s ease-in-out .1s;}
.flats svg a .flat-cut                          {fill: transparent; mix-blend-mode: multiply; filter: saturate(1.2) contrast(1.2); transition: .3s ease-in-out;}
.flats:not(.selected) svg a:is(.hover, .emp) .clipped-image
                                                {opacity: 1 !important; transform: translateX(0);}
.flats:hover .dum,
.flats:has(a.emp) .dum,
.flats-selection:has(tr:hover) .dum             {opacity: 0.35; filter: blur(1px); transition: .3s ease-in-out;}
  @media screen and (min-width: 961px)          {
  .flats                                        {justify-content: space-between;}
  .flats .model                                 {width: 50%;}
  .flats .model:first-child:after               {display: block; width: 0.14em; height: 100%; background-image: linear-gradient(to top, var(--color1) 60%, transparent); position: absolute; right: -0.07em; bottom: 0; content: "";}
  }
  @media screen and (max-width: 960px)          {
  .flats                                        {width: 100vw; margin: var(--gap1) calc(50% - 50vw) 0;}
  .flats > *:nth-child(2)                       {margin-top: -7vw;}
  .flats .model .img-info                       {padding-bottom: calc(7vw + 1em);}
  }  
  @supports (-webkit-hyphens: none)             {
  .flats svg .dum                               {opacity: 1 !important;}
  .flats svg a .flat-cut                        {fill: var(--color0); mix-blend-mode: multiply; opacity: 0; transition: .3s ease-in-out;}
  .flats:not(.selected) svg a:is(.hover, .emp) .flat-cut 
                                                {opacity: 0.5;}
  }

.flats-table                                      {display: block; width: 100%; box-sizing: border-box;}
.flats-table table                                {width: 100%; border-collapse: collapse;}
.flats-table table td                             {color: white;}
.flats-table table td:last-child > span           {display: flex; justify-content: flex-end; padding-bottom: 0.1em;  box-sizing: border-box;}
.flats-table table td:last-child > span .button   {font-size: 0.75rem !important;}
.flats-table table td .scroll-to-flats            {display: block; width: 100%; height: 100%; position: absolute; right: 0; top: 0; padding: 0 !important; border: none !important;}
  @media screen and (min-width: 961px)            {
  .flats-table                                    {padding: var(--gap2) calc(50% - 0.5 * var(--wrapper-max)) 0;}
  .flats-table table :is(th, td)                  {text-align: left; padding-inline: 1rem;}
  .flats-table table th                           {font-size: 0.85em; color: var(--color1b); font-weight: 500; line-height: 1; padding-bottom: 0.5em;}
  .flats-table table td                           {vertical-align: middle; padding-block: 1em 0.95em; transition: .15s ease-in-out;}
  .flats-table table td:first-child               {border-radius: var(--border-radius0) 0 0 var(--border-radius0); }
  .flats-table table td:last-child                {border-radius: 0 var(--border-radius0) var(--border-radius0) 0; position: relative;}
  .flats-table table tr:not(:first-child) td      {border-top: solid 1px var(--white-20);}
  .flats-table table tr:hover td                  {background: var(--white-10); border-color: transparent;}
  .flats-table table tr:hover + tr td             {border-color: transparent;}
  .flats-table table tr.emp td                    {background: var(--white-10) !important; border-color: transparent;}
  .flats-table table tr.emp + tr td               {border-color: transparent;}
  .flats-table table td .scroll-to-flats          {width: var(--wrapper-max); height: 3.2em;}
  .flats-table table td.scroll-up                 {display: none;}
  }
  @media screen and (max-width: 960px)            {
  .flats-table table                              {display: block;}
  .flats-table table thead                        {display: none;}
  .flats-table table tbody                        {display: flex; width: 100%; flex-wrap: wrap; gap: var(--gap1);}
  .flats-table table tr                           {display: flex; width: 100%; flex-wrap: wrap; gap: 0.8rem 1.2em; background: var(--white-10); padding: max(1.5em, 4cqw); border: solid 0.1em transparent; box-sizing: border-box; border-radius: var(--border-radius1); position: relative; container-type: inline-size; transition: .15s ease-in-out;}
  .flats-table table tr td                        {display: block; text-align: left; font-size: 1.15rem;}
  .flats-table table tr td:before                 {display: block; font-size: 0.75em; font-weight: 500; color: var(--color1b); margin-bottom: 0.2em;}
  .flats-table table tr td:nth-child(1)           {width: 100%; text-align: center; font-size: 2.2em; color: white; font-weight: 700; margin-block: -0.15em 0.3em; font-family: var(--font2);}
  .flats-table table tr td:nth-child(n+2):nth-child(-n+6)
                                                  {width: calc(33.33% - 0.8em);}
  .flats-table table tr td:nth-child(2)::before   {content: "Podlaží";}
  .flats-table table tr td:nth-child(3)::before   {content: "Dispozice";}
  .flats-table table tr td:nth-child(4)::before   {content: "Interiér";}
  .flats-table table tr td:nth-child(5)::before   {content: "Balkón";}
  .flats-table table tr td:nth-child(6)::before   {content: "Orientace";}
  .flats-table table tr td:nth-child(7)           {min-width: 40%; align-self: center; font-size: 1.2em; margin-top: 0.5rem;}
  .flats-table table tr td:nth-child(8)           {display: flex; justify-content: flex-end; align-self: stretch; flex-grow: 2; margin-top: 0.5rem;}
  .flats-table table tr td:nth-child(8) > span    {align-items: center;}
  .flats-table table tr.emp                       {background: var(--white-20); border-color: var(--white-20);}
  }
  @media screen and (min-width: 641px) and (max-width: 960px){
  .flats-table table tr                           {width: calc(50% - 0.5 * var(--gap1));}
  }

.standards                                      {display: block; width: 100%; position: relative; z-index: 2; isolation: isolate;}
.standards .inner                               {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: calc(0.75 * var(--section-padding)) 0; background: url("../images/visuals/img8.webp") no-repeat center center; background-size: cover; padding: var(--section-padding) var(--gap2); box-sizing: border-box; border-radius: var(--border-radius1); overflow: hidden; position: relative; z-index: 2;}
.standards .inner:before                        {display: block; position: absolute; inset: 0; background: var(--color0b); opacity: 0.65; z-index: -1; content: "";}
.standards .inner > div                         {display: flex; width: 100%; max-width: 28rem; flex-direction: column; align-items: center; gap: var(--gap1); box-sizing: border-box;}
.standards .inner > div *                       {color: white;}
.standards .inner > div .icon                   {font-size: 1.65em; background: var(--white-20);}
.standards .inner > div .icon:after             {background: url("../images/icons/pdf-round-color1.svg") no-repeat center center; content: "";}
  @media screen and (min-width: 961px)          {
  .standards .inner > div                       {width: 45%; max-width: 45%; padding-inline: 2em;}
  .standards .inner > div h2                    {font-size: min(2.2em, calc(1em + 3vw));}
  }

.hp .standards                                  {margin-top: var(--gap2);}
.hp .standards:after                            {display: block; width: 100vw; height: var(--section-padding); position: absolute; inset: auto calc(50% - 50vw) -1px; background: white; z-index: -1; content: "";}

.financing                                      {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: var(--gap2) 0;}
.financing > div                                {display: flex; width: 100%; max-width: 26rem; flex-direction: column; align-items: center; gap: var(--gap1); padding-inline: 1rem; box-sizing: border-box; position: relative;}
.financing > div .icon                          {font-size: 1.35em;}
.financing > div h3                             {color: var(--color1);}
  @media screen and (min-width: 769px)          {
  .financing                                    {justify-content: space-between;}
  .financing > div                              {width: 33.33%; max-width: 100%;}
  .financing > div:not(:last-child):after       {display: block; width: 74%; height: 0.16em; background: var(--color0d); position: absolute; right: -37%; top: 1.4em; content: "";}
  .financing > div h3                           {font-size: 1.3em;}
  .financing > div p                            {font-size: 0.9em;}
  } 

.swiper-slide                                   {display: flex; height: auto; box-sizing: border-box; flex-shrink: 0; transition: .35s ease-in-out;}
.swiper-slide > *                               {width: 100%;}

.swiper-button                                  {display: flex; width: var(--swiper-button-size); height: calc(4 * var(--swiper-button-size)); --swiper-button-size: 1.6em; justify-content: center; align-items: center; background: var(--color0c); position: absolute; top: calc(50% - 2 * var(--swiper-button-size)); z-index: 5; margin: 0; border-radius: var(--border-radius0); border: none; outline: solid 0.26em var(--color0e); 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: 0.7em;}
.swiper-button:after                            {display: none;}
.swiper-button:hover                            {background: var(--color0e);}
.swiper-button-lock                             {opacity: 0 !important;}
.section:has(.carousel)                         {overflow: hidden;}

.carousel                                       {display: block; width: calc(100% + var(--slides-gap)); margin-inline: calc(-0.5 * var(--slides-gap)); position: relative; box-sizing: border-box; --slides-gap: 0.8rem;}
.carousel-inner                                 {display: block; width: 100%; position: relative; box-sizing: border-box; overflow: hidden;}

.carousel-gallery .carousel-inner               {aspect-ratio: 16/18;}
.carousel-gallery .swiper                       {display: block; width: 100%; height: 100%; position: absolute; inset: 0; box-sizing: border-box; overflow: visible;}
.carousel-gallery .swiper-slide                 {padding: calc(0.5 * var(--slides-gap));}
.carousel-gallery .img a                        {height: 100%; aspect-ratio: unset;}
.carousel-gallery .swiper-button-prev           {left: calc(0.5 * var(--slides-gap) - 0.5 * var(--swiper-button-size));}
.carousel-gallery .swiper-button-next           {right: calc(0.5 * var(--slides-gap) - 0.5 * var(--swiper-button-size));}
  @media screen and (min-width: 769px)          {
  .carousel-gallery .carousel-inner             {aspect-ratio: 16/9;}
  }

.content:has(.form)                             {max-width: var(--wrapper-max);}

.form                                           {display: block; width: 100%; max-width: 30rem;}
.form form                                      {display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem;}
.form form > div                                {display: block; width: 100%;}
.form form > div:nth-child(4)                   {height: 12rem;}
.form form :is(input, textarea)                 {display: block; width: 100%; height: 3.4em; background: var(--color0c); font-size: 1rem; color: var(--color0); outline: none; border: solid 0.13em transparent; font-family: var(--font1); padding: 0.05em 1.15em 0; border-radius: var(--border-radius0); box-sizing: border-box; transition: .2s ease-in-out;}
.form form textarea                             {height: 100%; cursor: auto; padding-block: 1.3em;}
.form form :is(input, textarea):focus           {border-color: var(--color1);}
.form form :is(input, textarea)::placeholder    {color: var(--color0); font-weight: 300; letter-spacing: 0.03em; opacity: 0.7;}
.form form .errors                              {display: flex; width: 100%; flex-wrap: wrap; gap: 0.15em;}
.form form .errors li                           {display: none; width: 100%; text-align: center; font-size: 0.9rem; color: white; font-weight: 500; background: var(--color2); padding: 0.6em 0.5em 0.5em; border-radius: 0.3em; box-sizing: border-box;}
.form form .errors:not(:has(li))                {display: none; margin-top: calc(-1 * var(--gap1));}
.form form .form-bottom                         {display: flex; width: 100%; flex-direction: column; align-items: center; gap: var(--gap1); margin-top: var(--gap1);}
.form form .form-bottom p                       {text-align: center; font-size: 0.9em; color: var(--color0);}
.form form .form-bottom p a                     {color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.form form .form-bottom p a:hover               {color: var(--color1); text-decoration-color: transparent;}
.form form .form-bottom .button                 {font-size: 1.1rem;}
  @media screen and (min-width: 769px)          {                                                   
  .form                                         {max-width: 100%;}
  .form form > div:nth-child(-n+3)              {width: calc(33.33% - 0.4rem);}
  }

.flat-card                                      {display: block; width: 100%; border-radius: var(--border-radius1); overflow: hidden; box-shadow: var(--box-shadow1); margin-top: calc(-1 * var(--gap2));}
.flat-card img                                  {display: block; width: 100%; transition: .15s ease-in-out;}
.flat-card:hover img                            {opacity: 0.85;}

h1 span                                         {display: inline-block;}
h1 span:not(:first-child):before                {display: inline-block; width: 0.05em; height: 0.8em; background: var(--color1); position: relative; top: 0.05em; margin-inline: 0.2em 0.4em; content: "";}

.section:has(.flat-info-table)                  {padding-top: var(--gap2);}
.flat-info-table                                {display: block; width: 100%; overflow: hidden; margin-block: calc(-0.6 * var(--section-padding));}
.flat-info-table .inner                         {display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; margin-block: -0.8em;}
.flat-info-table .inner > div                   {display: flex; width: 100%; padding-block: 0.8em; border-top: solid 1px var(--black-15); box-sizing: border-box;}
.flat-info-table span                           {display: block; width: 50%; text-align: left; box-sizing: border-box;}
.flat-info-table span:nth-child(1)              {color: var(--color1); font-weight: 500; padding-right: 1em;}
  @media screen and (min-width: 769px)          {                                                   
  .flat-info-table .inner > div                 {width: 47%;}
  }

.files                                          {display: flex; width: 100%; justify-content: center; gap: 0.4rem; flex-wrap: wrap; font-size: 0.85em; margin-top: var(--gap1);}