/* CSS Document */
main.index {
  position: relative;
}

/* banners */
.swiper-container {
  position: relative;
}

.swiper {
  width: 100%;
}
.swiper figure,
.swiper .banner,
.swiper .banner .image {
  width: 100%;
}
.swiper .image {
  background-size: cover;
}
.swiper .swiper-slide {
  text-align: left;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* slideshow */
.swiper-slideshow {
  height: 580px;
}
.swiper-slideshow .swiper-wrapper {
  height: 525px;
}
.swiper-slideshow .banner {
  position: relative;
  /* banner 1 */
  /* banner 2 */
  /* banner 3 */
  /* banner 4 */
  /* banner extra */
  /* banner PF */
}
.swiper-slideshow .banner figure * {
  font-family: "Roboto", sans-serif;
}
.swiper-slideshow .banner .image {
  width: 100%;
  height: 0;
  padding-top: 525px;
}
.swiper-slideshow .banner .overlay {
  width: 740px;
  height: 150px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  flex-wrap: nowrap;
  border-top-right-radius: 10px;
}
.swiper-slideshow .banner .overlay .program-logo {
  min-width: 150px;
  height: 150px;
  background-color: transparent;
  background-size: 50%;
}
.swiper-slideshow .banner .overlay .content {
  padding: 20px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
.swiper-slideshow .banner .overlay h2 {
  font-size: 20pt;
  color: #fff;
  text-transform: uppercase;
}
.swiper-slideshow .banner .overlay h2 br {
  display: none;
}
.swiper-slideshow .banner .overlay p {
  color: #fff;
  text-transform: uppercase;
}
.swiper-slideshow .banner a.over {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  position: absolute;
  background: transparent;
}
.swiper-slideshow .banner .index__1 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-1.jpg?95");
}
.swiper-slideshow .banner .index__1-1 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-1.1.jpg?95");
}
.swiper-slideshow .banner .index__2 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-2.jpg?95");
}
.swiper-slideshow .banner .index__2 .overlay {
  width: 840px;
}
.swiper-slideshow .banner .index__2-1 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-2.1.jpg?95");
}
.swiper-slideshow .banner .index__2-1 .overlay {
  width: 840px;
}
.swiper-slideshow .banner .index__3 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-3.jpg?95");
}
.swiper-slideshow .banner .index__3 .overlay {
  width: 550px;
}
.swiper-slideshow .banner .index__3-1 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-3.1.jpg?95");
  background-position: center;
}
.swiper-slideshow .banner .index__3-1 .overlay {
  width: 550px;
}
.swiper-slideshow .banner .index__4 .image {
  background-image: url("/images/index/banner/desktop/bnr-index-4.jpg?95");
}
.swiper-slideshow .banner .index__extra .image {
  background-image: url("/images/index/banner/desktop/forarch-2024.jpg?95");
}
.swiper-slideshow .banner.banner-pf {
  display: none;
}
.swiper-slideshow .banner.banner-pf.show {
  display: block;
}
.swiper-slideshow .banner .index__pf .image.pf_cs {
  background-image: url("/images/index/banner/desktop/pf2025.cs.jpg?95");
}
.swiper-slideshow .banner .index__pf .image.pf_sk {
  background-image: url("/images/index/banner/desktop/pf2025.sk.jpg?95");
}
.swiper-slideshow .banner .index__pf .image.pf_pl {
  background-image: url("/images/index/banner/desktop/pf2025.pl.jpg?95");
}
.swiper-slideshow .swiper-pagination-bullets.swiper-pagination-horizontal {
  box-sizing: border-box;
  text-align: center;
  position: relative;
  bottom: -25px;
}
.swiper-slideshow .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  opacity: 100;
  margin: 0 8px;
  background-color: #d9d9d9;
  position: relative;
}
.swiper-slideshow .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet::after {
  width: 24px;
  height: 24px;
  position: absolute;
  top: -4px;
  left: -4px;
  border-radius: 20px;
  border: 1px solid #d9d9d9;
  content: "";
}
.swiper-slideshow .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #2a70ca;
}

/* section topinfo */
.top-info {
  width: 45%;
  position: relative;
  top: 250px;
  left: 52%;
  margin-top: -200px;
  text-align: center;
  padding: 20px 50px;
  box-sizing: border-box;
}
.top-info h2 {
  font-size: 22pt;
  padding-bottom: 25px;
}

/* house top select */
.top-select {
  width: calc(100% + 60px);
  max-width: 1370px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  top: -180px;
  left: -70px;
  margin-bottom: -180px;
}
.top-select .info {
  padding: 20px 30px;
  position: relative;
  top: 150px;
}
.top-select .info h2 {
  font-weight: 500;
  font-size: 22pt;
}
.top-select .info h2 .house-name {
  display: inline-block;
  padding: 5px 10px;
  color: #fff;
  background-color: #e31f23;
}
.top-select .info p {
  text-align: center;
}
.top-select .info p a.button {
  margin-top: 20px;
}

.swiper-topselectinfo {
  flex-basis: 45%;
}

.swiper-topselect {
  flex-basis: 55%;
  height: 460px;
}
.swiper-topselect .banner {
  display: flex;
  flex-direction: column;
}
.swiper-topselect .banner img + span {
  display: inline-block;
  padding: 5px 0 10px 0;
}
.swiper-topselect .banner .eswebicon.wi-plus {
  font-size: 50pt;
}
.swiper-topselect .banner img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 50px;
}
.swiper-topselect .swiper-pagination-bullets.swiper-pagination-horizontal {
  box-sizing: border-box;
  text-align: center;
  position: relative;
  bottom: 40px;
}
.swiper-topselect .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  opacity: 100;
  margin: 0 8px;
  background-color: #d9d9d9;
  position: relative;
}
.swiper-topselect .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet::after {
  width: 24px;
  height: 24px;
  position: absolute;
  top: -4px;
  left: -4px;
  border-radius: 20px;
  border: 1px solid #d9d9d9;
  content: "";
}
.swiper-topselect .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #2a70ca;
}

/* house list */
section.house-rows {
  width: 90%;
  background-color: #f3f3f3;
  border-radius: 20px;
  position: relative;
  margin: 250px auto 0 auto;
  padding-bottom: 30px;
}
section.house-rows h2 {
  padding-top: 40px;
  padding-bottom: 30px;
  font-size: 16pt;
  text-align: center;
}
section.house-rows .delimiter {
  width: 90%;
  height: 4px;
  margin: 30px auto 50px auto;
  background-color: #fff;
}

.swiper-house {
  width: calc(100% - 140px);
}
.swiper-house .banner {
  display: flex;
  flex-direction: column;
}
.swiper-house .banner img + span {
  display: inline-block;
  padding: 5px 0 10px 0;
}
.swiper-house .banner .eswebicon.wi-plus {
  font-size: 50pt;
}
.swiper-house .banner a.allrows {
  width: 100%;
  padding: 60px 0;
  box-sizing: border-box;
  min-height: 260px;
  text-align: center;
}
.swiper-house .banner img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 10px;
}
.swiper-house .banner .house-name {
  display: inline-block;
  padding: 0 5px;
  color: #fff;
  background-color: #e31f23;
}

[data-role=swiper-house-container] .swiper-button-next,
[data-role=swiper-house-container] .swiper-button-prev {
  margin-top: calc(-10px - var(--swiper-navigation-size) / 2);
}

/* program list */
section.program-rows h2 {
  padding-top: 90px;
  padding-bottom: 20px;
  font-size: 22pt;
  text-align: center;
  font-weight: 500;
  text-transform: uppercase;
}
section.program-rows h2 > span {
  font-weight: 300;
  text-transform: initial;
}
section.program-rows p.top {
  width: 780px;
  margin: 20px auto 50px auto;
  text-align: center;
}

.swiper-program {
  width: calc(100% - 140px);
  height: 100%;
}
.swiper-program.swiper-program-pl > div {
  justify-content: space-between;
}
.swiper-program .swiper-slide {
  flex-basis: 20%;
  min-width: 150px;
}
.swiper-program .banner {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 0 30px;
}
.swiper-program .banner h3 {
  width: 100%;
  font-size: 18pt;
  text-align: center;
  padding-bottom: 20px;
}
.swiper-program .banner h3 .programgroup-logo {
  display: inline-block;
  width: 150px;
  height: 150px;
}
.swiper-program .banner h3 > a {
  white-space: pre-wrap;
  display: inline-block;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
}
.swiper-program .banner p {
  padding: 0 10px;
  margin-bottom: 25px;
  display: -webkit-box;
  line-height: 1.3;
  font-size: 11pt;
  text-align: center;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* gallery list */
section.gallery-rows {
  padding: 0 70px 40px 70px;
  margin-top: 100px;
  background-color: #f3f3f3;
  border-radius: 20px;
}
section.gallery-rows h2 {
  padding-top: 50px;
  padding-bottom: 40px;
  font-size: 22pt;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
}
section.gallery-rows .banner {
  width: 25%;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
section.gallery-rows .banner a {
  width: 100%;
  display: block;
  text-align: center;
}
section.gallery-rows .banner h3 {
  display: inline-block;
  padding-top: 10px;
  text-transform: uppercase;
  font-size: 14pt;
  font-weight: 500;
}
section.gallery-rows .banner div.motive {
  width: 100%;
  height: 400px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 10px;
}
section.gallery-rows .banner div.motive.m-1 {
  background-image: url("/images/index/desktop/gallery_1.jpg?95");
}
section.gallery-rows .banner div.motive.m-2 {
  background-image: url("/images/index/desktop/gallery_2.jpg?95");
}
section.gallery-rows .banner div.motive.m-3 {
  background-image: url("/images/index/desktop/gallery_3.jpg?95");
}
section.gallery-rows .banner div.motive.m-4 {
  background-image: url("/images/index/desktop/gallery_4.jpg?95");
}
section.gallery-rows .banner div.motive .videobutton,
section.gallery-rows .banner div.motive .photobutton {
  background-size: 20%;
}
section.gallery-rows .swiper-wrapper {
  position: relative;
  flex-wrap: nowrap;
  justify-content: space-between;
}

/* catalogue */
section.catalogue {
  margin-top: 90px;
  padding: 80px 70px 60px 70px;
  position: relative;
}
section.catalogue .catalogue {
  width: 60%;
  position: relative;
  margin-bottom: 170px;
}
section.catalogue .catalogue > div {
  width: 100%;
  padding: 10px 0 35px 100px;
  margin-top: 200px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  background-color: #000;
  color: #fff;
  box-sizing: border-box;
  position: relative;
}
section.catalogue .catalogue > div > a {
  display: inline;
  font-size: 1px;
  line-height: 1px;
}
section.catalogue .catalogue > div img {
  width: 325px;
  position: relative;
  left: 0;
  bottom: -6px;
  margin-top: -250px;
  border-radius: 15px;
}
section.catalogue .catalogue > div img.catalogue-pl {
  bottom: 86px;
}
section.catalogue .catalogue > div > div {
  width: 250px;
  padding: 0 25px;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  right: 0;
  bottom: 0;
  vertical-align: bottom;
}
section.catalogue .catalogue > div > div span {
  font-size: 18pt;
  font-weight: 300;
  white-space: pre-wrap;
  line-height: 1.5;
}
section.catalogue .catalogue > div > div span strong {
  text-transform: uppercase;
}
section.catalogue .subsidiary {
  width: 55%;
  position: absolute;
  right: 0;
  top: 60px;
}
section.catalogue .subsidiary > a {
  text-align: center;
  position: relative;
}
section.catalogue .subsidiary > div {
  width: 85%;
  padding: 90px 0 30px 15%;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background-color: #f3f3f3;
  box-sizing: border-box;
  margin: -100px 0 0 auto;
  z-index: -1;
}
section.catalogue .subsidiary div.map {
  width: 75%;
  height: 0;
  padding-top: 53.3333333333%;
  margin: 0 0 0 auto;
  box-sizing: border-box;
  background-size: contain;
  background-repeat: no-repeat;
}
section.catalogue .subsidiary div.map.map-cs {
  background-image: url("/images/global/map.cs.svg?95");
}
section.catalogue .subsidiary div.map.map-sk {
  background-image: url("/images/global/map.sk.svg?95");
}
section.catalogue .subsidiary div.map.map-pl {
  background-image: url("/images/global/map.pl.svg?95");
}
section.catalogue .subsidiary h3 {
  line-height: 1.5;
  font-size: 18pt;
  white-space: pre-wrap;
  padding-top: 20px;
}
section.catalogue .subsidiary h3 strong {
  text-transform: uppercase;
}
section.catalogue a.button-order {
  display: inline-block;
  margin-top: 20px;
  font-weight: 500;
}
section.catalogue a.button-order strong {
  text-transform: uppercase;
}
