/*------------------------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: var(--color0); background: var(--color1);}
::selection                                     {color: var(--color0); background: var(--color1);}

:root                                           {
                                                --font1:                 'komet', sans-serif; /* 300, 500 */
                                                --font2:                 'big-caslon-fb', serif; /* 400, 700 */
                                                --wrapper-side:          3vw;
                                                --header:                4.5em;

                                                --border-radius0:        0.6rem;
                                                --border-radius1:        1.2rem;
                                                --button-height:         2.4em;

                                                --gap1:                   1rem;
                                                --gap2:                   1.8rem;
                                                
                                                --color0:                #4B341E;
                                                --color0b:               #493e34;
                                                --color0c:               hsl(23, 100%, 66%);
                                                --color1:                #fff1e2;
                                                --color1b:               #FFD4A3;
                                                --color2:                #E23D23;
                                                --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-30:              rgba(0,0,0,0.3);
                                                --black-60:              rgba(0,0,0,0.6);

                                                --header:                 6.4rem;
                                                --section-padding:        min(7rem, calc(3rem + 6vw));                                                
                                                --wrapper-width:          86vw;
                                                --wrapper-max:            58rem;
                                                --wrapper-wide-max:       70rem;                                        
                                                --line:                   1.5;
                                                --font2-line:             1.1;

                                                  --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(2px + 1vw), 18px); font-weight: 300; color: var(--color1); line-height: var(--line); background-image: linear-gradient(to right, black, var(--color0), black); 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(--gap2); 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: .3s ease-in-out;}
.header .wrapper                                {width: min(90vw, 80rem); max-width: unset; height: 100%; flex-direction: row; justify-content: space-between;}
.header .logo                                   {display: flex; width: 11em; position: relative; z-index: 2; transition: .5s ease-in-out;}
.header .logo img                               {display: block; width: 100%;} 
.header .collapse                               {display: block; width: 100%;}
.header .collapse .overflow                     {display: flex; width: 100%; 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: white; font-weight: 500; text-transform: uppercase; line-height: 1; position: relative; box-sizing: border-box; cursor: pointer; transition: .25s ease-in-out;}
.header nav > ul > li > a:hover,
.header nav > ul > li > a.sel                   {color: var(--color1); background: var(--white-10);}
.header-elements                                {display: flex; align-items: center; gap: 0.8rem; position: relative; z-index: 2;}
.header-elements .phone                         {display: flex; align-items: center; gap: 0.4em; color: white; font-weight: 500; padding: 0.75em 1em 0.7em; border-radius: var(--border-radius0); box-sizing: border-box; transition: .15s ease-in-out;}
.header-elements .phone img                     {display: block; height: 1em;}
.header-elements .phone:hover                   {color: var(--color1); background: var(--white-10);}
.header .lang                                   {position: relative; --lang-size: 2rem;}
.header .lang ul                                {display: flex; align-items: center; gap: 0.3em; overflow: hidden;}
.header .lang ul li                             {display: block; box-sizing: border-box;}
.header .lang ul li a                           {width: var(--lang-size); aspect-ratio: 1; justify-content: center; text-decoration: none; background: transparent; border-radius: var(--border-radius0); padding-inline: 0;}
.header .lang ul li a:hover                     {background: var(--white-20);}
.header .lang ul li.sel                         {order: -1;}
.header.scroll                                  {background: var(--black-60); backdrop-filter: blur(6px);}
  @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                                   {width: 100%;}
  .header nav > ul                              {justify-content: center;}
  .header nav > ul > li                         {position: relative;}
  .header nav > ul > li > a                     {height: 3em; font-size: 0.9em; letter-spacing: 0.02em;; padding-inline: min(1.4em, 1.5vw); border-radius: var(--border-radius0);}
  .header-elements                              {height: 100%; position: absolute; right: 0;}
  .header-elements .phone                       {font-size: 0.95em;}
  .header .lang                                 {display: block; height: var(--lang-size); font-size: 1.1cqw; 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 ul                              {flex-direction: column; overflow: hidden; padding: 0.45em; margin: -0.45em; border-radius: var(--border-radius0);}
  .header .lang ul li                           {cursor: pointer;}
  .header .lang ul li a                         {font-size: 1.1cqw;}
  .header .lang:has(.trigger.hover)             {overflow: visible;}
  .header .lang:has(.trigger.hover) ul          {height: auto; background: var(--white-10);}
  .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.2em;}  
  .header #navicon                              {order: 2; display: block; width: 2.2em; height: 1.8em; cursor: pointer; position: relative; z-index: 10;}
  .header #navicon span                         {display: block; width: calc(100% - 0.8em); height: 0.1em; background: white; border-radius: 2px; 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.05em);}
  .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: 5rem; 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: 2.5em 0;}
  .header nav > ul > li                         {display: flex;}
  .header nav > ul > li > a                     {text-align: left; font-size: 1.25em;}
  .header-elements                              {flex-direction: column; align-items: flex-end; position: absolute; right: 0; top: 0;}
  .header-elements .phone                       {font-size: 1.25em; margin-inline: -1em;}
  .header .lang                                 {display: flex; order: -1; font-size: 0.8em; margin-top: -0.45rem; margin-right: -0.6em;}
  .header .lang .trigger                        {display: none;}
  .header .lang ul                              {width: 100%; align-items: center;}
  .header .lang ul li.sel a                     {background: var(--white-30);}
  .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: 640px)          {
  .header nav > ul > li > div ul li             {width: 100%;}
  }

.footer                                         {display: block; width: 100%; position: relative; z-index: 10; padding-top: var(--section-padding);}
.footer-contacts                                {display: block; width: 100%; background: var(--black-30); padding-block: var(--section-padding) var(--gap2); margin-top: var(--section-padding);}

.footer .quick-contacts                         {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: var(--gap1) var(--gap2); font-size: 1.3em;}
.footer .quick-contacts a img                   {font-size: 1.1em; border-width: 0.07em;}
.footer .quick-contacts a:hover img             {background: none; transform: none;}

.footer .contacts                               {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: var(--gap2); font-size: 1.3em; margin-block: var(--gap2);}
.footer .contacts > div                         {display: flex; width: 12em; flex-direction: column; align-items: center; gap: 0.2em;}
.footer .contacts > div > *                     {display: block;}
.footer .contacts h2                            {font-size: 1.2em; color: white; font-weight: 700; font-family: var(--font2);}
.footer .contacts p                             {font-size: 0.8em;}

.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(2.4em, calc(1em + 3vw)); font-weight: 700; color: white !important; 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(--white-30); 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-30);}
  @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; 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;}
.main strong                                    {color: white; font-weight: 700;}
.main em                                        {font-style: italic;}

.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: 400; color: white; line-height: var(--font2-line); box-sizing: border-box; font-family: var(--font2);}
.h1                                             {font-size: min(calc(2em + 4vw), 4.6em);}
.h2                                             {font-size: min(calc(2em + 4vw), 4.6em);}
.h3                                             {font-size: min(calc(1em + 4vw), 1.45em);}

.txt-color1                                     {color: var(--color1b);}

.icon                                           {display: flex; width: 5em; aspect-ratio: 1; justify-content: center; align-items: center; background: var(--white-10); border-radius: 100%; position: relative; box-sizing: border-box; isolation: isolate; z-index: 2;}
.icon img                                       {display: block; width: auto; height: 50%;}

.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;}
  @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: 47%; text-align: justify;}
  }

.content.gradient-bottom                        {max-width: 100%; padding-bottom: var(--section-padding); border-radius: var(--border-radius0);}
.content.gradient-bottom:before                 {display: block; position: absolute; inset: 0; background-image: linear-gradient(to top, var(--black-30), transparent); z-index: -1; content: "";
                                                 -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 30%, black 70%, transparent);                                           
                                                 -webkit-mask-image: linear-gradient(to right, transparent, black 30%, black 70%, transparent);
} 

.button                                         {display: flex; align-items: center; gap: 0.5em; font-size: 1.15em; font-weight: 500; line-height: 1; color: white; text-transform: uppercase; text-decoration: underline; text-decoration-color: transparent; background: none; position: relative; outline: none; border: none; cursor: pointer; box-sizing: border-box; white-space: nowrap; font-family: var(--font1); transition: .15s ease-in-out;}
.button :is(img, svg)                           {display: block; height: 1.15em; fill: var(--color1); border: solid 0.09em var(--color1); perspective: 800px; position: relative; top: -0.015em; box-sizing: border-box; transition: .4s ease-in-out;}
.button img {padding: 0.2em;}
.button:hover                                   {color: var(--color1); text-decoration-color: inherit;}
.button:hover :is(img, svg)                     {fill: var(--color0); background: var(--color1); transform: rotateX(180deg);}

.flex                                           {display: flex; width: 100%; justify-content: center; align-items: center; gap: 0.5em; flex-wrap: wrap;}

.mask-sides                                     {display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center;
                                                -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 30%, black 70%, transparent);                                           
                                                 -webkit-mask-image: linear-gradient(to right, transparent, black 30%, black 70%, transparent);
                                                }

.hp .anim                                       {opacity: 0; transform: translate(0, 3em); transition: 1.2s ease-in-out; transition-delay: 0.1s;}
.hp .anim.zoomout                               {opacity: 0; transform: scale(1.2);}
.hp .anim.play                                  {opacity: 1; transform: translate(0) scale(1) !important;}

.hero                                           {padding-top: calc(var(--section-padding) + var(--header)) !important;}
.hero .bg                                       {display: flex; width: 100%; justify-content: center; background: black; overflow: hidden; position: absolute; left: 0; top: 0;
                                                 -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);                                           
                                                 -webkit-mask-image: linear-gradient(to top, transparent, black);
}
.hero .bg div                                   {display: block; width: 100%; max-width: 90rem; aspect-ratio: 16/9;}
.hero .bg div img                               {display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.4;}
.hero .content > img                            {display: block; width: min(84%, 36em);}
.hero .claims                                   {display: block; width: 100%; position: relative; perspective: 800px; perspective-origin: center;}
.hero .claims > div                             {display: flex; width: 100%; justify-content: center; opacity: 0; animation-name: claims; animation-duration: 16s; animation-iteration-count: infinite;}
.hero .claims > div:has(p)                      {position: absolute; inset: 0;}
.hero .claims > div:nth-child(2)                {animation-delay: 4s;}
.hero .claims > div:nth-child(3)                {animation-delay: 8s;}
.hero .claims > div:nth-child(4)                {animation-delay: 12s;}
.hero .building                                 {display: block; width: 100%;}
  @media screen and (max-width: 1800px)         {
  .hero .bg div                                 {-webkit-mask: none; mask: none;}
  }
@keyframes claims                               {
                                                0%      {opacity: 0; transform: rotateX(-90deg);}
                                                5%      {opacity: 1; transform: rotateX(0deg);}
                                                22.5%   {opacity: 1; transform: rotateX(0deg);}
                                                27.5%   {opacity: 0; transform: rotateX(90deg);}
                                                100%    {opacity: 0; transform: rotateX(-90deg);}
}

.hero + .section                                {margin-top: calc(-10% - var(--section-padding));}
  @media screen and (min-width: 1601px)         {
  .hero + .section                              {margin-top: calc(-8rem - var(--section-padding));}
  }

.infographics                                   {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; margin-top: var(--section-padding);}
.infographics > div                             {display: flex; flex-direction: column; align-items: center; border: solid 1px transparent; box-sizing: border-box;}
.infographics > div img                         {display: block; height: 4.5em; margin-bottom: 1em;}
.infographics > div p                           {font-size: 0.8em;}
.infographics > div p.title                     {font-size: 1.6em; color: white; font-weight: 700; font-family: var(--font2); margin-bottom: 0.12em;}
  @media screen and (min-width: 1081px)         {
  .infographics > div                           {width: 17em; padding-inline: 3em;}
  .infographics > div:not(:first-child)         {border-left-color: var(--color1);}
  }
  @media screen and (min-width: 441px) and (max-width: 1080px){
  .infographics > div                           {width: 13em; padding-inline: 1.6em;}
  .infographics > div:not(:first-child)         {border-left-color: var(--color1);}
  }  
  @media screen and (min-width: 441px) and (max-width: 640px){
  .infographics > div                           {width: 33.33%; padding-inline: 3%;}
  .infographics > div:not(:first-child)         {border-left-color: transparent;}
  }  
  @media screen and (max-width: 440px)          {
  .infographics                                 {gap: var(--gap2)}
  .infographics > div                           {width: 18em;}
  } 

.map                                            {display: block; width: 100%; height: 25rem; border-radius: var(--border-radius1); overflow: hidden; margin-top: var(--section-padding);}

.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: 1200/750; position: relative;}
.flats .model .title                            {display: block; width: 14em; font-size: 1.6em; color: white; font-weight: 400; text-shadow: 0 0 0.4em var(--black-60); padding: 0.3em 0 var(--gap2); position: absolute; left: calc(50% - 7em); bottom: 0; z-index: 2; font-family: var(--font2);}
.flats .model .title:before                     {display: block; position: absolute; inset: 0; font-weight: 400; text-shadow: 0 0 0.4em var(--black-60); background-image: linear-gradient(to right, transparent, var(--white-30), transparent); z-index: -1; content: "";
                                                 -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);                                           
                                                 -webkit-mask-image: linear-gradient(to top, transparent, black);
                                                }
.flats .model svg                               {display: block; width: 100%; height: 100%; isolation: isolate; -webkit-transform: translateZ(0); transform: translateZ(0);}
.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;}
.flats-nums                                     {display: flex; width: 100%; justify-content: center; position: relative;}
.flats-nums a                                   {padding-inline: 0.1em;}
.flats-nums .label1                             {display: flex; gap: 0.3em; padding-inline: 1em;}
.flats-nums a:not(.hover, .emp)                 {opacity: 0.5;}
.flats-nums a:not(.hover, .emp) .label1:before,
.flats-nums a:not(.hover, .emp) .label1:after   {opacity: 0;}
  @media screen and (min-width: 961px)          {
  .flats-nums                                   {top: -.5rem;}
  .flats                                        {justify-content: space-between;}
  .flats .model                                 {width: 48%;}
  }
  @media screen and (max-width: 960px)          {
  .flats-nums                                   {display: none;}
  .flats > *:nth-child(2)                       {margin-top: -3vw;}
  .flats .model .title                          {font-size: min(2.2em, calc(0.5em + 3vw));}
  }  
  @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: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.9rem !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; border-top: solid 1px var(--white-20);}
  .flats-table table :is(th, td)                  {text-align: left; padding-inline: 1rem;}
  .flats-table table th                           {font-size: 0.8em; color: var(--color2); 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-20) !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.7em; font-weight: 500; color: var(--color1);}
  .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: "Terasa";}
  .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));}
  }

.section.image:has(.standards) .inner           {height: calc(100% - 2 * calc(0.55 * var(--font-size))); position: absolute; inset: calc(0.55 * var(--font-size)) 0;}
.section.image:has(.standards) .inner img       {opacity: 0.2;}
.section.image:has(.standards) .inner:before,
.section.image:has(.standards) .inner:after     {opacity: 0.2;}

.standards                                      {display: block; width: 100%; position: relative; z-index: 5; padding-block: var(--section-padding);}
.standards .wrapper                             {gap: 3em 0;}
.standards .wrapper > div                       {display: flex; width: 100%; max-width: 26rem; flex-direction: column; align-items: center; gap: var(--gap1); box-sizing: border-box;}
.standards .wrapper > div img                   {display: block; height: 6em;}
.standards .wrapper > div h2                    {font-size: min(2.4em, calc(1em + 5vw));}
  @media screen and (min-width: 769px)          {
  .standards .wrapper                           {flex-direction: row;}
  .standards .wrapper > div                     {width: 50%; max-width: 50%; padding-inline: 2em;}
  }

.financing                                      {display: flex; width: 100%; justify-content: center; flex-wrap: wrap; gap: 3em 0; margin-top: var(--gap2);}
.financing > div                                {display: flex; width: 100%; max-width: 26rem; flex-direction: column; align-items: center; gap: var(--gap1);}
.financing > div > span                         {display: flex; width: 2em; height: 2em; justify-content: center; align-items: center; font-size: 1.7em; font-weight: 700; background: var(--white-10); margin-bottom: 0.4em; padding-top: 0.12em; border-radius: var(--border-radius0); box-sizing: border-box; font-family: var(--font2);}
.financing > div h3                             {display: block; font-size: 1.35em; color: white; font-weight: 700; font-family: var(--font2);}
  @media screen and (min-width: 769px)          {
  .financing                                    {justify-content: space-between;}
  .financing > div                              {width: 30%; max-width: 100%;}
  .financing > div p                            {font-size: 0.9em;}
  }

.gallery                                        {display: flex; width: 100%; flex-wrap: wrap; gap: 0.9em;}
.gallery a                                      {display: block; width: calc(50% - 0.45em); aspect-ratio: 16/9; background: var(--color1); border-radius: var(--border-radius0); overflow: hidden;}
.gallery a img                                  {display: block; width: 100%; height: 100%; object-fit: cover; transition: .25s ease-in-out;}
.gallery a:hover img                            {opacity: 0.85;}
  @media screen and (min-width: 769px)          {
  .gallery a                                    {width: calc(33.33% - 0.6em);}
  }

.form                                           {display: block; width: 100%; max-width: 30rem;}
.form form                                      {display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 0.9rem;}
.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.8em; background: var(--white-10); font-size: 1rem; color: white; outline: none; border: solid 0.1em transparent; font-family: var(--font1); padding: 0.1em 1.3em 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(--color1b); font-weight: 300;}
.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(--gap2); margin-top: var(--gap1);}
.form form .form-bottom p                       {text-align: center; font-size: 0.9em; color: var(--color1b);}
.form form .form-bottom p a                     {color: inherit; text-decoration: underline; transition: .15s ease-in-out;}
.form form .form-bottom p a:hover               {color: white; text-decoration-color: transparent;}
.form form .form-bottom .button                 {font-size: 1.25rem;}
  @media screen and (min-width: 769px)          {                                                   
  .form                                         {max-width: 100%;}
  .form form > div:nth-child(-n+3)              {width: calc(33.33% - 0.6rem);}
  }

.flat-card                                      {display: block; width: 100%; border-radius: var(--border-radius0); overflow: hidden; 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;}

.content:has(h1 .flat-num)                      {margin-block: var(--gap2) calc(-1 * var(--gap2));}

.h1 .flat-num                                   {display: inline-block;}
.h1 .flat-num:before                            {display: inline-block; width: 0.17em; height: 0.17em; background: var(--color1b); border-radius: 100%; content: ""; margin-inline: 0.1em 0.25em; position: relative; top: -0.23em;}
.h1:has(+ .flat-info)                           {margin-bottom: calc(-1 * var(--gap1));}

.flat-info                                      {display: flex; width: 100%; justify-content: center;}
.flat-info li                                   {display: flex; width: auto; align-items: center; font-size: min(1.5em, calc(0.4em + 3vw));}
.flat-info li:not(:first-child):before          {display: block; width: 0.05em; height: 0.8em; background: white; margin-inline: 0.5em; position: relative; top: 0.04em; content: "";}

.section:has(.flat-info-table)                  {padding-top: var(--gap2);}
.flat-info-table                                {display: block; width: 100%; overflow: hidden; margin-top: var(--gap2);}
.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(--white-30); 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)              {padding-right: 1em;}
.flat-info-table span:nth-child(2)              {color: white; font-weight: 500;}
  @media screen and (min-width: 769px)          {                                                   
  .flat-info-table .inner > div                 {width: 47%;}
  }

.files                                          {display: flex; width: 100%; justify-content: center; gap: var(--gap1) var(--gap2); flex-wrap: wrap; font-size: 0.85em; margin-top: var(--gap2);}


.cookiesConfirm{
    width: 100%;
    position: fixed;
    bottom: 0;
    background: #f2f2f2; 
    color: #657888;
    padding: 0px !important;
    line-height: 25px;
    margin-bottom: 0px;
    text-align: center;
    z-index:9999999;
    font-size: 12px;
}
.cookiesConfirm p{ margin: 0; padding: 10px; text-align: center; color: black  !important;}
.cookiesConfirm a{ color: #657888; }
.cookiesConfirm a.ok{
    background: #4a8cf6;
    padding: 5px 20px;
    text-decoration: none;
    color: white;
    margin-left: 6px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}