commit dcdd4f1f4560900001f0e632b9f3b282f8680cae Author: Filip Šubín Date: Mon Jun 5 19:43:31 2023 +0200 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5343fbf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx +COPY . /usr/share/nginx/html diff --git a/assets/css/app.css b/assets/css/app.css new file mode 100644 index 0000000..3ebe9d7 --- /dev/null +++ b/assets/css/app.css @@ -0,0 +1,1014 @@ +:root { + --font-primary: 'Merienda', cursive; + --font-secondary: 'Kaushan Script', cursive; + --font-tertiary: 'Dancing Script', cursive; + + --color-white: #ffffff; + --color-white-100: #f1f1f1; + --color-gray: #898989; + --color-black: #101010; + + --border-radius: 0.25rem; + --header-shadow: 0rem 0.25rem 1rem -0.125rem rgb(0 0 0 / 30%); + + --shadow-inset: inset 0 0 0.5rem var(--color-gray); + --shadow-outset: 0 0 0.5rem var(--color-gray); +} + +body { + margin: 0; + overflow: overlay; + font-family: var(--font-primary); + background: var(--color-white-100); + height: 100vh; +} + +body.noscroll { + overflow-y: hidden; +} + +body svg { + overflow: visible; +} + +br { + display: none; +} + +::-webkit-scrollbar { + width: 0.5rem; +} + +/* ::-webkit-scrollbar-track { + background: var(--color-white); +} */ + +::-webkit-scrollbar-thumb { + border: 0.125rem solid rgba(0, 0, 0, 0); + background-clip: padding-box; + border-radius: 5rem; + background-color: var(--color-black); +} + +::-webkit-scrollbar-thumb:hover { + background-color: var(--color-gray); +} + +.close { + display: none; + position: absolute; + top: -0.1875rem; + right: -0.1875rem; + padding: 0.5rem; + cursor: pointer; +} + +.close:hover svg{ + fill: var(--color-gray); +} + +.close--preview { + display: block; + top: 0.25rem; + right: 0.25rem; +} + +.loader { + position: absolute; + top: 50%; + left: 50%; + width: 5rem; + height: 5rem; + transform: translate(-50%,-50%); +} +.loader div { + position: absolute; + top: 2rem; + width: 0.75rem; + height: 0.75rem; + border-radius: 50%; + background: var(--color-gray); + animation-timing-function: cubic-bezier(0, 1, 1, 0); +} +.loader div:nth-child(1) { + left: 0.5rem; + animation: loader-one 0.6s infinite; +} +.loader div:nth-child(2) { + left: 0.5rem; + animation: loader-two 0.6s infinite; +} +.loader div:nth-child(3) { + left: 2rem; + animation: loader-two 0.6s infinite; +} +.loader div:nth-child(4) { + left: 3.5rem; + animation: loader-three 0.6s infinite; +} +@keyframes loader-one {0% {transform: scale(0);}100% {transform: scale(1);}} +@keyframes loader-two {0% {transform: translate(0, 0);}100% {transform: translate(1.5rem, 0);}} +@keyframes loader-three {0%{transform: scale(1);}100%{transform: scale(0);}} +.container { + max-width: 80rem; + margin-inline: auto; +} + +.section { + position: relative; +} + +.section--block { + width: 100vw; + height: calc(100% - 5rem); + overflow: hidden; +} + +.section__intro { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: calc(100vh - 5rem); + display: flex; + flex-direction: column-reverse; + background: var(--color-white-100); + transition: left 1.25s ease-in-out; +} + +.section__picture { + width: 100vw; + max-height: 18.75rem; + height: auto; + object-fit: cover; +} + +.section__content { + overflow-y: auto; + margin-block: 0 0.75rem; +} + +.section__footer { + display: flex; + justify-content: space-between; + width: 100%; + font-size: 0.875rem; + gap: 1rem; +} + +.section__footer iframe{ + max-width: 100%; + height: auto; + aspect-ratio: 16/9; + box-shadow: var(--shadow-outset); +} + +.section__footer p { + display: none; + margin: auto 0; + text-align: justify; +} + +.section__footer div:last-child { + display: flex; + flex-direction: column; +} + +.section__welcome { + display: flex; + flex: 1; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 2rem; +} + +.section__welcome, +.section__left, +.section__right { + box-shadow: var(--shadow-inset); +} + +.section__welcome .title { + font-size: 2rem; + text-decoration: underline; + margin-block: 0; +} + +.section--badges { + display: flex; + align-items: center; + justify-content: center; + box-shadow: inset 0 -0.5rem 0.75rem #c9c9c9; + border-top: 0.0625rem solid #aaaaaa; +} + +.section__badges { + text-align: center; + background: var(--color-white); + border-radius: 0.25rem; + padding: 3rem 2rem; + margin: 2rem; + box-shadow: 0.0625rem 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0.0625rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); +} + +.section__badges .title { + font-size: 0.875rem; + margin-block: 0.25rem; +} + +.section__badges p { + font-size: 0.875rem; + margin-block: 0; +} + +.section__badges div + div { + margin-top: 2rem; +} + +.section__header { + display: flex; + align-items: start; + justify-content: space-between; + width: 100%; + font-size: 2rem; + line-height: 1.15; +} + +.section__header .title { + margin-block: 0 0.75rem; +} + +.section__links { + display: flex; + align-items: center; + flex-direction: column; + gap: 1.25rem; +} + +.section__links .button { + width: 10rem; + justify-content: center; +} + +.section__left, +.section__right { + position: absolute; + top: 0; + left: 100%; + display: flex; + flex-direction: column; + padding: 1.5rem; + width: calc(100vw - 3rem); + height: calc(100% - 3rem); + background: var(--color-white-100); + transition: all 1.25s ease-in-out; + border-left: 0.0625rem solid var(--color-gray); +} + +.section__right .list{ + font-size: 0.875rem; +} + +.section__right .list + .list{ + margin-top: 0.75rem; +} + +.section__right li+li{ + margin-top: 0.125rem; +} + +.section__left { + left: -100%; +} + +.section__gallery { + position: absolute; + top: 50%; + left: 50%; + display: none; + align-items: center; + justify-content: center; + width: 8rem; + height: 8rem; + background-color: var(--color-white); + box-shadow: var(--shadow-outset); + transform: translate(-50%,-50%); + z-index: 1; + transition: all 1.25s ease; + scrollbar-width: none; + -ms-overflow-style: none; +} + +.section__gallery::-webkit-scrollbar { + display: none; +} + +.section__gallery.is-open { + display: flex; +} + +.section__gallery.loaded { + width: 95%; + height: 95%; +} + +.section__gallery.loaded .loader{ + opacity: 0; +} + +.section__gallery.loaded .close{ + display: block; +} + +.section__gallery.loaded .gallery{ + filter: blur(0); +} + +.section--preview { + position: fixed; + display: none; + align-items: center; + justify-content: center; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-white-100); + z-index: 10; +} + +/* .section--preview.horizontal .close--preview { + left: 0.25rem; + right: unset; +} + +.section--preview.horizontal img { + width: 90vh; + height: 90vw; + transform: rotate(-90deg); +} + +.section--preview.horizontal .preview { + left: calc(50% - 3.25rem); + transform: rotate(-90deg); +} + +.section--preview.horizontal .preview--prev { + top: unset; + bottom: 0; +} + +.section--preview.horizontal .preview--next { + top: 0; + right: unset; +} */ + +.section--preview.is-open { + display: flex; +} + +.section--preview img { + width: 90%; + max-width: 100rem; + height: 90%; + max-height: 56.25rem; + object-fit: cover; + box-shadow: var(--shadow-outset); +} + +.section--switch .section__intro{ + flex-direction: column; +} + +.section--switch .section__left { + left: -100%; +} + +.section--switch .section__right { + left: 100%; +} + +.section__control { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.section__price { + overflow-y: auto; + margin-bottom: 0.625rem; +} +.header { + position: sticky; + top: 0; + left: 0; + width: 100%; + height: 5rem; + background-color: var(--color-white); + box-shadow: var(--header-shadow),var(--shadow-inset); + margin-bottom: -5rem; + z-index: 10; +} + +.header.is-open { + box-shadow: unset; +} + +.header.is-open .header__mobile { + display: block; + position: fixed; +} + +.header__section { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + height: 100%; +} + +.header__mobile { + display: none; + width: 100%; + height: calc(100% - 4.75rem); + background-color: var(--color-white); + z-index: 20; +} + +.header__button { + position: relative; + border: 0; + background: transparent; + padding: 2rem 2rem; +} + +.header__button > span{ + display: block; + position: absolute; + height: 0.125rem; + width: 1.625rem; + background: var(--color-black); + opacity: 1; + left: calc(50% - 0.8125rem); + border-radius: 10rem; + transform: rotate(0deg); + transition: all 0.3s ease; +} + +.header__button > span:nth-child(1) { + top: calc(50% - 0.4375rem); +} + +.header__button > span:nth-child(2) { + top: calc(50% - 0.0625rem); +} + +.header__button > span:nth-child(3) { + top: calc(50% - 0.0625rem); +} + +.header__button > span:nth-child(4) { + top: calc(50% + 0.3125rem); +} + +.header__button.is-active > span:nth-child(1), +.header__button.is-active > span:nth-child(4) { + width: 0%; + left: 50%; +} + +.header__button.is-active > span:nth-child(2) { + transform: rotate(45deg); +} + +.header__button.is-active > span:nth-child(3) { + transform: rotate(-45deg); +} +.footer { + display: flex; + justify-content: center; + padding-block: 2rem 5rem; + background: var(--color-white); +} + +.footer__content .title { + text-decoration: underline; +} + +.footer__content .link { + display: block; +} + +.footer__content ul + ul { + margin-top: 1.5rem; +} +.link { + color: var(--color-black); + display: inline-flex; + align-items: center; + text-decoration: none; + cursor: pointer; +} + +.link--underline { + text-decoration: underline; +} + +.link--underline:hover { + text-decoration: none; +} + +.link--logo { + font-size: clamp(1rem,2.5vw,2rem); + gap: 1.25rem; +} + +.link--logo img { + padding: 0.5rem 0 0.5rem 0.75rem; +} + +.list--dropdown .link { + justify-content: center; + width: calc(100% - 0.75rem); + font-size: 1.25rem; + padding: 0.375rem; +} + +.list--dropdown .link:hover { + opacity: 0.6; +} + +.link--socials { + margin-right: 1rem; + border-radius: 1rem; + box-shadow: var(--shadow-outset); +} + +.link--socials:hover { + scale: 0.95; +} +.button { + position: relative; + display: flex; + align-items: center; + background: var(--color-white); + border-radius: var(--border-radius); + font-size: 1.25rem; + color: var(--color-black); + padding: 0.25rem 0.75rem; + border: 0.0625rem solid var(--color-gray); + font-family: var(--font-primary); + text-decoration: none; + box-shadow: 0.0625rem 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0.0625rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); + z-index: 0; + cursor: pointer; + user-select: none; + -ms-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; + } + + .button::before { + content: ''; + position: absolute; + top: 0; + left: 0; + z-index: -1; + width: 100%; + height: 100%; + background-size: 220% auto; + background-image: linear-gradient(to right, #ffffff 0%, #eeeded 60%, #ffffff 100%); + border-radius: var(--border-radius); + -o-border-radius: var(--border-radius); + -ms-border-radius: var(--border-radius); + -moz-border-radius: var(--border-radius); + -webkit-border-radius: var(--border-radius); + transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -webkit-transition: all 0.3s ease; + } + + .button:hover { + border: 0.0625rem solid var(--color-gray); + box-shadow: 0 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.4); + } + + .button:hover::before { + background-position: right center; + } + + .button:active { + box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.2), 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.4); + } + + + .button--icon, + .button--back, + .button--gallery { + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.5rem; + } + + .button--back { + padding: 0.375rem 0.875rem; + gap: 0.25rem; + } + + .button--gallery { + margin: 0 0 0 auto; + padding: 0.25rem 0.875rem; + gap: 0.375rem; + } + + .button--gallery svg { + margin-left: -0.25rem; + } + .list { + list-style: none; + padding: 0; + margin: 0; +} + +.list--menu { + display: none; + font-size: 1.5rem; +} + +.list--menu > li { + position: relative; + display: flex; + width: 8.75rem; + height: 5rem; +} + +.list--menu > li:hover .header__dropdown { + height: 9.375rem; +} + +.list--menu .header__dropdown { + position: absolute; + top: 4rem; + width: 8.75rem; + height: 0; + background: var(--color-white); + transition: .3s ease; + border-radius: 0 0 var(--border-radius) var(--border-radius); + box-shadow: 0rem 0.75rem 0.75rem -0.125rem rgb(0 0 0 / 30%); + overflow: hidden; +} + +.list--menu > li + li { + margin-left: 0.5rem; +} + +.list--menu > li > a { + position: relative; + justify-content: center; + width: 100%; + height: 100%; +} + +.list--menu > li > a::after { + content: ''; + position: absolute; + left: 0; + bottom: 1rem; + width: 100%; + height: 0.625rem; + background: no-repeat 50% 70%; + background-image: url("../../img/underline.webp"); + background-size: 65% 0.4375rem; + transition: opacity 0.15s; + opacity: 0; +} + +.list--menu li:hover > a::after{ + opacity: 1; +} + +.list--dropdown { + padding-top: 1rem; +} + +.list--object { + font-size: 0.875rem; +} + +.list--object li+li { + margin-top: 1rem; +} + +.section__right .list--dot { + list-style-type: circle; + margin-left: 1.375rem; + font-size: 0.6875rem; +} + +.list--mobile { + text-align: center; + font-size: 1.375rem; + border-top: 0.0625rem solid var(--color-black); + padding-top: 0.75rem; +} + +.list--mobile .link { + padding-inline: 3rem; +} + +.list--mobile li + li { + margin-top: 0.375rem; +} + +.link--title { + font-size: 1.75rem; + font-weight: bold; + text-decoration: underline; +} +.swiper { + position: relative; + width: 100vw; + height: 100vh; + overflow: hidden; +} + +.swiper__image { + width: 100vw; + height: 100%; + object-fit: cover; + object-position: 33% 0%; +} + +.swiper__content { + position: absolute; + bottom: 0; + z-index: 1; + left: 0; + right: 0; + background: var(--color-white); + padding: 1rem 0 2rem; + font-size: 2rem; +} + +.swiper__content .title{ + display: flex; + align-items: center; + justify-content: center; + text-align: center; + height: 4.5rem; + font-size: 2.25rem; + line-height: 1; + margin-block: 0 1rem; +} + +.swiper__links { + display: flex; + justify-content: center; + gap: 1rem; +} + +.swiper__slide { + position: absolute; + top: 0; + left: 100%; + width: 100%; + height: 100%; + transition: left 1.25s ease-in-out; +} + +.swiper__slide:first-child { + left: 0; +} + +.swiper__slide:last-child { + left: -100%; +} +.gallery { + display: grid; + grid-template-columns: 1fr; + gap: 0.375rem; + filter: blur(3rem); + width: calc(100% - 3rem); + height: calc(100% - 3rem); + overflow-x: hidden; + overflow-y: scroll; + transition: 0.625s filter linear, 0.625s -webkit-filter linear; + -o-transition: 0.625s -o-filter linear; + -ms-transition: 0.625s -ms-filter linear; + -moz-transition: 0.625s -moz-filter linear; + -moz-transition: 0.625s filter linear; + -webkit-transition: 0.625s -webkit-filter linear; + } + + .gallery__item img { + width: 100%; + object-fit: cover; + aspect-ratio: 16/9; + cursor: pointer; + } + + .preview { + position: absolute; + top: calc(50% - 2rem); + background: var(--color-white); + box-shadow: var(--shadow-outset); + cursor: pointer; + } + + .preview:hover { + background: var(--color-white-100); + } + + .preview--prev { + left: 0; + padding: 1.25rem 1rem 1.25rem 1.5rem; + border-radius: 0 var(--border-radius) var(--border-radius) 0; + } + + .preview--next { + right: 0; + padding: 1.25rem 1.5rem 1.25rem 1rem; + border-radius: var(--border-radius) 0 0 var(--border-radius); + } + .show-medium { + display: none; + } + @media screen and (min-width: 40.0625rem) { + br { + display: block; + } + + .section__links { + align-items: start; + flex-direction: row; + justify-content: space-between; + gap: 0; + width: 100%; + } + + .section__links--events { + justify-content: start; + gap: 1.5rem; + } + + .section__links button { + width: unset; + } + + .section__links .button { + width: unset; + } + } + + @media screen and (min-width: 50.0625rem) { + .show-medium { + display: block; + } + + .swiper__content { + left: unset; + right: 10%; + bottom: 10%; + padding: 1rem 1.5rem; + border-radius: var(--border-radius); + box-shadow: -0.375rem -0.375rem 0.625rem rgba(0, 0, 0, 0.4), 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.4); + } + + .swiper__content .title{ + height: unset; + font-size: 3rem; + } + + .gallery { + grid-template-columns: 1fr 1fr; + } + + .swiper__image { + object-position: 20% 0%; + } + + .section__badges { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + width: 100%; + max-width: 81.25rem; + } + + .section__badges div + div { + margin-top: 0; + } + + .section--badges { + height: 30rem; + } + + .list--menu { + display: flex; + } + + .header__button { + display: none; + } + + .footer__content { + display: flex; + justify-content: space-between; + min-width: 40rem; + } + } + + @media screen and (min-width: 75.0625rem) { + .section--switch .section__intro { + flex-direction: row; + } + + .close--preview { + top: 2rem; + right: 1rem; + } + + .section--block { + height: 40rem; + max-height: calc(100vh - 5rem); + } + + .section__intro { + height: 100%; + flex-direction: row; + } + + .section__left, + .section__right { + position: absolute; + top: 0; + left: 50%; + width: calc(50% - 6.5rem); + height: calc(100% - 6.5rem); + padding: 3.25rem; + } + + .section__right .list{ + font-size: 1rem; + } + + .section__right .list + .list{ + margin-top: 1.25rem; + } + + .section__left { + left: -50%; + } + + .section--switch .section__left { + left: 0%; + } + + .section__picture { + width: 50vw; + height: 100%; + max-height: 100%; + z-index: 1; + } + + .section__welcome { + min-height: 25rem; + } + + .gallery { + grid-template-columns: 1fr 1fr 1fr 1fr; + } + + .footer__content { + min-width: 50rem; + } + } + + @media screen and (min-width: 91.375rem) { + .hide-text { + display: none; + } + + .section__footer p { + display: block; + } + + .section__footer iframe { + max-width: unset; + } + } + + @media screen and (min-width: 100.0625rem) { + .close--preview { + right: 2.5%; + } + + .swiper__content { + bottom: 20%; + } + } + \ No newline at end of file diff --git a/assets/css/appt.css b/assets/css/appt.css new file mode 100644 index 0000000..8e250d8 --- /dev/null +++ b/assets/css/appt.css @@ -0,0 +1,12 @@ +@import "core.css"; +@import "layout.css"; +@import "header.css"; +@import "footer.css"; + +@import "links.css"; +@import "buttons.css"; +@import "lists.css"; +@import "swiper.css"; +@import "components.css"; +@import "utility.css"; +@import "media.css"; diff --git a/assets/css/buttons.css b/assets/css/buttons.css new file mode 100644 index 0000000..1997aaa --- /dev/null +++ b/assets/css/buttons.css @@ -0,0 +1,81 @@ +.button { + position: relative; + display: flex; + align-items: center; + background: var(--color-white); + border-radius: var(--border-radius); + font-size: 1.25rem; + color: var(--color-black); + padding: 0.25rem 0.75rem; + border: 0.0625rem solid var(--color-gray); + font-family: var(--font-primary); + text-decoration: none; + box-shadow: 0.0625rem 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0.0625rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); + z-index: 0; + cursor: pointer; + user-select: none; + -ms-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; +} + +.button::before { + content: ''; + position: absolute; + top: 0; + left: 0; + z-index: -1; + width: 100%; + height: 100%; + background-size: 220% auto; + background-image: linear-gradient(to right, #ffffff 0%, #eeeded 60%, #ffffff 100%); + border-radius: var(--border-radius); + -o-border-radius: var(--border-radius); + -ms-border-radius: var(--border-radius); + -moz-border-radius: var(--border-radius); + -webkit-border-radius: var(--border-radius); + transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -webkit-transition: all 0.3s ease; +} + +.button:hover { + border: 0.0625rem solid var(--color-gray); + box-shadow: 0 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.4); +} + +.button:hover::before { + background-position: right center; +} + +.button:active { + box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.2), 0 0.0625rem 0.0625rem rgba(0, 0, 0, 0.4); +} + + +.button--icon, +.button--back, +.button--gallery { + display: flex; + align-items: center; + justify-content: space-between; + gap: 0.5rem; +} + +.button--back { + padding: 0.375rem 0.875rem; + gap: 0.25rem; +} + +.button--gallery { + margin: 0 0 0 auto; + padding: 0.25rem 0.875rem; + gap: 0.375rem; +} + +.button--gallery svg { + margin-left: -0.25rem; +} diff --git a/assets/css/components.css b/assets/css/components.css new file mode 100644 index 0000000..05e66a4 --- /dev/null +++ b/assets/css/components.css @@ -0,0 +1,47 @@ +.gallery { + display: grid; + grid-template-columns: 1fr; + gap: 0.375rem; + filter: blur(3rem); + width: calc(100% - 3rem); + height: calc(100% - 3rem); + overflow-x: hidden; + overflow-y: scroll; + transition: 0.625s filter linear, 0.625s -webkit-filter linear; + -o-transition: 0.625s -o-filter linear; + -ms-transition: 0.625s -ms-filter linear; + -moz-transition: 0.625s -moz-filter linear; + -moz-transition: 0.625s filter linear; + -webkit-transition: 0.625s -webkit-filter linear; +} + +.gallery__item img { + width: 100%; + object-fit: cover; + aspect-ratio: 16/9; + cursor: pointer; +} + +.preview { + position: absolute; + top: calc(50% - 2rem); + background: var(--color-white); + box-shadow: var(--shadow-outset); + cursor: pointer; +} + +.preview:hover { + background: var(--color-white-100); +} + +.preview--prev { + left: 0; + padding: 1.25rem 1rem 1.25rem 1.5rem; + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} + +.preview--next { + right: 0; + padding: 1.25rem 1.5rem 1.25rem 1rem; + border-radius: var(--border-radius) 0 0 var(--border-radius); +} diff --git a/assets/css/core.css b/assets/css/core.css new file mode 100644 index 0000000..59d9e2c --- /dev/null +++ b/assets/css/core.css @@ -0,0 +1,110 @@ +:root { + --font-primary: 'Merienda', cursive; + --font-secondary: 'Kaushan Script', cursive; + --font-tertiary: 'Dancing Script', cursive; + + --color-white: #ffffff; + --color-white-100: #f1f1f1; + --color-gray: #898989; + --color-black: #101010; + + --border-radius: 0.25rem; + --header-shadow: 0rem 0.25rem 1rem -0.125rem rgb(0 0 0 / 30%); + + --shadow-inset: inset 0 0 0.5rem var(--color-gray); + --shadow-outset: 0 0 0.5rem var(--color-gray); +} + +body { + margin: 0; + overflow: overlay; + font-family: var(--font-primary); + background: var(--color-white-100); +} + +body.noscroll { + overflow-y: hidden; +} + +body svg { + overflow: visible; +} + +br { + display: none; +} + +::-webkit-scrollbar { + width: 0.5rem; +} + +/* ::-webkit-scrollbar-track { + background: var(--color-white); +} */ + +::-webkit-scrollbar-thumb { + border: 0.125rem solid rgba(0, 0, 0, 0); + background-clip: padding-box; + border-radius: 5rem; + background-color: var(--color-black); +} + +::-webkit-scrollbar-thumb:hover { + background-color: var(--color-gray); +} + +.close { + display: none; + position: absolute; + top: -0.1875rem; + right: -0.1875rem; + padding: 0.5rem; + cursor: pointer; +} + +.close:hover svg{ + fill: var(--color-gray); +} + +.close--preview { + display: block; + top: 0.25rem; + right: 0.25rem; +} + +.loader { + position: absolute; + top: 50%; + left: 50%; + width: 5rem; + height: 5rem; + transform: translate(-50%,-50%); +} +.loader div { + position: absolute; + top: 2rem; + width: 0.75rem; + height: 0.75rem; + border-radius: 50%; + background: var(--color-gray); + animation-timing-function: cubic-bezier(0, 1, 1, 0); +} +.loader div:nth-child(1) { + left: 0.5rem; + animation: loader-one 0.6s infinite; +} +.loader div:nth-child(2) { + left: 0.5rem; + animation: loader-two 0.6s infinite; +} +.loader div:nth-child(3) { + left: 2rem; + animation: loader-two 0.6s infinite; +} +.loader div:nth-child(4) { + left: 3.5rem; + animation: loader-three 0.6s infinite; +} +@keyframes loader-one {0% {transform: scale(0);}100% {transform: scale(1);}} +@keyframes loader-two {0% {transform: translate(0, 0);}100% {transform: translate(1.5rem, 0);}} +@keyframes loader-three {0%{transform: scale(1);}100%{transform: scale(0);}} diff --git a/assets/css/footer.css b/assets/css/footer.css new file mode 100644 index 0000000..a3f210e --- /dev/null +++ b/assets/css/footer.css @@ -0,0 +1,18 @@ +.footer { + display: flex; + justify-content: center; + padding-block: 2rem 5rem; + background: var(--color-white); +} + +.footer__content .title { + text-decoration: underline; +} + +.footer__content .link { + display: block; +} + +.footer__content ul + ul { + margin-top: 1.5rem; +} diff --git a/assets/css/header.css b/assets/css/header.css new file mode 100644 index 0000000..e7e9fad --- /dev/null +++ b/assets/css/header.css @@ -0,0 +1,86 @@ +.header { + position: sticky; + top: 0; + left: 0; + width: 100%; + height: 5rem; + background-color: var(--color-white); + box-shadow: var(--header-shadow),var(--shadow-inset); + margin-bottom: -5rem; + z-index: 10; +} + +.header.is-open { + box-shadow: unset; +} + +.header.is-open .header__mobile { + display: block; + position: fixed; +} + +.header__section { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + height: 100%; +} + +.header__mobile { + display: none; + width: 100%; + height: calc(100% - 4.75rem); + background-color: var(--color-white); + z-index: 20; +} + +.header__button { + position: relative; + border: 0; + background: transparent; + padding: 2rem 2rem; +} + +.header__button > span{ + display: block; + position: absolute; + height: 0.125rem; + width: 1.625rem; + background: var(--color-black); + opacity: 1; + left: calc(50% - 0.8125rem); + border-radius: 10rem; + transform: rotate(0deg); + transition: all 0.3s ease; +} + +.header__button > span:nth-child(1) { + top: calc(50% - 0.4375rem); +} + +.header__button > span:nth-child(2) { + top: calc(50% - 0.0625rem); +} + +.header__button > span:nth-child(3) { + top: calc(50% - 0.0625rem); +} + +.header__button > span:nth-child(4) { + top: calc(50% + 0.3125rem); +} + +.header__button.is-active > span:nth-child(1), +.header__button.is-active > span:nth-child(4) { + width: 0%; + left: 50%; +} + +.header__button.is-active > span:nth-child(2) { + transform: rotate(45deg); +} + +.header__button.is-active > span:nth-child(3) { + transform: rotate(-45deg); +} diff --git a/assets/css/layout.css b/assets/css/layout.css new file mode 100644 index 0000000..b0c92b1 --- /dev/null +++ b/assets/css/layout.css @@ -0,0 +1,290 @@ +.container { + max-width: 80rem; + margin-inline: auto; +} + +.section { + position: relative; +} + +.section--block { + width: 100vw; + height: calc(100% - 5rem); + overflow: hidden; +} + +.section__intro { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: calc(100vh - 5rem); + display: flex; + flex-direction: column-reverse; + background: var(--color-white-100); + transition: left 1.25s ease-in-out; +} + +.section__picture { + width: 100vw; + max-height: 18.75rem; + height: auto; + object-fit: cover; +} + +.section__content { + overflow-y: auto; + margin-block: 0 0.75rem; +} + +.section__footer { + display: flex; + justify-content: space-between; + width: 100%; + font-size: 0.875rem; + gap: 1rem; +} + +.section__footer iframe{ + max-width: 100%; + height: auto; + aspect-ratio: 16/9; + box-shadow: var(--shadow-outset); +} + +.section__footer p { + display: none; + margin: auto 0; + text-align: justify; +} + +.section__footer div:last-child { + display: flex; + flex-direction: column; +} + +.section__welcome { + display: flex; + flex: 1; + align-items: center; + justify-content: center; + flex-direction: column; + padding: 2rem; +} + +.section__welcome, +.section__left, +.section__right { + box-shadow: var(--shadow-inset); +} + +.section__welcome .title { + font-size: 2rem; + text-decoration: underline; + margin-block: 0; +} + +.section--badges { + display: flex; + align-items: center; + justify-content: center; + box-shadow: inset 0 -0.5rem 0.75rem #c9c9c9; + border-top: 0.0625rem solid #aaaaaa; +} + +.section__badges { + text-align: center; + background: var(--color-white); + border-radius: 0.25rem; + padding: 3rem 2rem; + margin: 2rem; + box-shadow: 0.0625rem 0.0625rem 0.5rem rgba(0, 0, 0, 0.2), 0.0625rem 0.125rem 0.25rem rgba(0, 0, 0, 0.4); +} + +.section__badges .title { + font-size: 0.875rem; + margin-block: 0.25rem; +} + +.section__badges p { + font-size: 0.875rem; + margin-block: 0; +} + +.section__badges div + div { + margin-top: 2rem; +} + +.section__header { + display: flex; + align-items: start; + justify-content: space-between; + width: 100%; + font-size: 2rem; + line-height: 1.15; +} + +.section__header .title { + margin-block: 0 0.75rem; +} + +.section__links { + display: flex; + align-items: center; + flex-direction: column; + gap: 1.25rem; +} + +.section__links .button { + width: 10rem; + justify-content: center; +} + +.section__left, +.section__right { + position: absolute; + top: 0; + left: 100%; + display: flex; + flex-direction: column; + padding: 1.5rem; + width: calc(100vw - 3rem); + height: calc(100% - 3rem); + background: var(--color-white-100); + transition: all 1.25s ease-in-out; + border-left: 0.0625rem solid var(--color-gray); +} + +.section__right .list{ + font-size: 0.875rem; +} + +.section__right .list + .list{ + margin-top: 0.75rem; +} + +.section__right li+li{ + margin-top: 0.125rem; +} + +.section__left { + left: -100%; +} + +.section__gallery { + position: absolute; + top: 50%; + left: 50%; + display: none; + align-items: center; + justify-content: center; + width: 8rem; + height: 8rem; + background-color: var(--color-white); + box-shadow: var(--shadow-outset); + transform: translate(-50%,-50%); + z-index: 1; + transition: all 1.25s ease; + scrollbar-width: none; + -ms-overflow-style: none; +} + +.section__gallery::-webkit-scrollbar { + display: none; +} + +.section__gallery.is-open { + display: flex; +} + +.section__gallery.loaded { + width: 95%; + height: 95%; +} + +.section__gallery.loaded .loader{ + opacity: 0; +} + +.section__gallery.loaded .close{ + display: block; +} + +.section__gallery.loaded .gallery{ + filter: blur(0); +} + +.section--preview { + position: fixed; + display: none; + align-items: center; + justify-content: center; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-white-100); + z-index: 10; +} + +.section--preview.horizontal .close--preview { + left: 0.25rem; + right: unset; +} + +.section--preview.horizontal img { + width: 90vh; + height: 90vw; + transform: rotate(-90deg); +} + +.section--preview.horizontal .preview { + left: calc(50% - 3.25rem); + transform: rotate(-90deg); +} + +.section--preview.horizontal .preview--prev { + top: unset; + bottom: 0; +} + +.section--preview.horizontal .preview--next { + top: 0; + right: unset; +} + +.section--preview.is-open { + display: flex; +} + +.section--preview img { + width: 90%; + max-width: 100rem; + height: 90%; + max-height: 56.25rem; + object-fit: cover; + box-shadow: var(--shadow-outset); +} + +.section--switch .section__intro{ + flex-direction: column; +} + +.section--switch .section__left { + left: -100%; +} + +.section--switch .section__right { + left: 100%; +} + +.section__control { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.section__price { + overflow-y: auto; + margin-bottom: 0.625rem; +} diff --git a/assets/css/links.css b/assets/css/links.css new file mode 100644 index 0000000..4243356 --- /dev/null +++ b/assets/css/links.css @@ -0,0 +1,45 @@ +.link { + color: var(--color-black); + display: inline-flex; + align-items: center; + text-decoration: none; + cursor: pointer; +} + +.link--underline { + text-decoration: underline; +} + +.link--underline:hover { + text-decoration: none; +} + +.link--logo { + font-size: clamp(1rem,2.5vw,2rem); + gap: 1.25rem; +} + +.link--logo img { + padding: 0.5rem 0 0.5rem 0.75rem; +} + +.list--dropdown .link { + justify-content: center; + width: calc(100% - 0.75rem); + font-size: 1.25rem; + padding: 0.375rem; +} + +.list--dropdown .link:hover { + opacity: 0.6; +} + +.link--socials { + margin-right: 1rem; + border-radius: 1rem; + box-shadow: var(--shadow-outset); +} + +.link--socials:hover { + scale: 0.95; +} diff --git a/assets/css/lists.css b/assets/css/lists.css new file mode 100644 index 0000000..1d78652 --- /dev/null +++ b/assets/css/lists.css @@ -0,0 +1,101 @@ +.list { + list-style: none; + padding: 0; + margin: 0; +} + +.list--menu { + display: none; + font-size: 1.5rem; +} + +.list--menu > li { + position: relative; + display: flex; + width: 8.75rem; + height: 5rem; +} + +.list--menu > li:hover .header__dropdown { + height: 9.375rem; +} + +.list--menu .header__dropdown { + position: absolute; + top: 4rem; + width: 8.75rem; + height: 0; + background: var(--color-white); + transition: .3s ease; + border-radius: 0 0 var(--border-radius) var(--border-radius); + box-shadow: 0rem 0.75rem 0.75rem -0.125rem rgb(0 0 0 / 30%); + overflow: hidden; +} + +.list--menu > li + li { + margin-left: 0.5rem; +} + +.list--menu > li > a { + position: relative; + justify-content: center; + width: 100%; + height: 100%; +} + +.list--menu > li > a::after { + content: ''; + position: absolute; + left: 0; + bottom: 1rem; + width: 100%; + height: 0.625rem; + background: no-repeat 50% 70%; + background-image: url("../../img/underline.webp"); + background-size: 65% 0.4375rem; + transition: opacity 0.15s; + opacity: 0; +} + +.list--menu li:hover > a::after{ + opacity: 1; +} + +.list--dropdown { + padding-top: 1rem; +} + +.list--object { + font-size: 0.875rem; +} + +.list--object li+li { + margin-top: 1rem; +} + +.section__right .list--dot { + list-style-type: circle; + margin-left: 1.375rem; + font-size: 0.6875rem; +} + +.list--mobile { + text-align: center; + font-size: 1.375rem; + border-top: 0.0625rem solid var(--color-black); + padding-top: 0.75rem; +} + +.list--mobile .link { + padding-inline: 3rem; +} + +.list--mobile li + li { + margin-top: 0.375rem; +} + +.link--title { + font-size: 1.75rem; + font-weight: bold; + text-decoration: underline; +} diff --git a/assets/css/media.css b/assets/css/media.css new file mode 100644 index 0000000..a1ba48b --- /dev/null +++ b/assets/css/media.css @@ -0,0 +1,173 @@ +@media screen and (min-width: 40.0625rem) { + br { + display: block; + } + + .section__links { + align-items: start; + flex-direction: row; + justify-content: space-between; + gap: 0; + width: 100%; + } + + .section__links--events { + justify-content: start; + gap: 1.5rem; + } + + .section__links button { + width: unset; + } + + .section__links .button { + width: unset; + } +} + +@media screen and (min-width: 50.0625rem) { + .show-medium { + display: block; + } + + .swiper__content { + left: unset; + right: 10%; + bottom: 10%; + padding: 1rem 1.5rem; + border-radius: var(--border-radius); + box-shadow: -0.375rem -0.375rem 0.625rem rgba(0, 0, 0, 0.4), 0.375rem 0.375rem 0.625rem rgba(0, 0, 0, 0.4); + } + + .swiper__content .title{ + height: unset; + font-size: 3rem; + } + + .gallery { + grid-template-columns: 1fr 1fr; + } + + .swiper__image { + object-position: 20% 0%; + } + + .section__badges { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + width: 100%; + max-width: 81.25rem; + } + + .section__badges div + div { + margin-top: 0; + } + + .section--badges { + height: 30rem; + } + + .list--menu { + display: flex; + } + + .header__button { + display: none; + } + + .footer__content { + display: flex; + justify-content: space-between; + min-width: 40rem; + } +} + +@media screen and (min-width: 75.0625rem) { + .section--switch .section__intro { + flex-direction: row; + } + + .close--preview { + top: 2rem; + right: 1rem; + } + + .section--block { + height: 40rem; + max-height: calc(100vh - 5rem); + } + + .section__intro { + height: 100%; + flex-direction: row; + } + + .section__left, + .section__right { + position: absolute; + top: 0; + left: 50%; + width: calc(50% - 6.5rem); + height: calc(100% - 6.5rem); + padding: 3.25rem; + } + + .section__right .list{ + font-size: 1rem; + } + + .section__right .list + .list{ + margin-top: 1.25rem; + } + + .section__left { + left: -50%; + } + + .section--switch .section__left { + left: 0%; + } + + .section__picture { + width: 50vw; + height: 100%; + max-height: 100%; + z-index: 1; + } + + .section__welcome { + min-height: 25rem; + } + + .gallery { + grid-template-columns: 1fr 1fr 1fr 1fr; + } + + .footer__content { + min-width: 50rem; + } +} + +@media screen and (min-width: 91.375rem) { + .hide-text { + display: none; + } + + .section__footer p { + display: block; + } + + .section__footer iframe { + max-width: unset; + } +} + +@media screen and (min-width: 100.0625rem) { + .close--preview { + right: 2.5%; + } + + .swiper__content { + bottom: 20%; + } +} diff --git a/assets/css/swiper.css b/assets/css/swiper.css new file mode 100644 index 0000000..f525917 --- /dev/null +++ b/assets/css/swiper.css @@ -0,0 +1,58 @@ +.swiper { + position: relative; + width: 100vw; + height: 100vh; + overflow: hidden; +} + +.swiper__image { + width: 100vw; + height: 100%; + object-fit: cover; + object-position: 33% 0%; +} + +.swiper__content { + position: absolute; + bottom: 0; + z-index: 1; + left: 0; + right: 0; + background: var(--color-white); + padding: 1rem 0 2rem; + font-size: 2rem; +} + +.swiper__content .title{ + display: flex; + align-items: center; + justify-content: center; + text-align: center; + height: 4.5rem; + font-size: 2.25rem; + line-height: 1; + margin-block: 0 1rem; +} + +.swiper__links { + display: flex; + justify-content: center; + gap: 1rem; +} + +.swiper__slide { + position: absolute; + top: 0; + left: 100%; + width: 100%; + height: 100%; + transition: left 1.25s ease-in-out; +} + +.swiper__slide:first-child { + left: 0; +} + +.swiper__slide:last-child { + left: -100%; +} diff --git a/assets/css/utility.css b/assets/css/utility.css new file mode 100644 index 0000000..cdc2a78 --- /dev/null +++ b/assets/css/utility.css @@ -0,0 +1,3 @@ +.show-medium { + display: none; +} diff --git a/assets/js/app.js b/assets/js/app.js new file mode 100644 index 0000000..2cc0339 --- /dev/null +++ b/assets/js/app.js @@ -0,0 +1,438 @@ +$(document).ready(function(){ + $('a').on('click', function(event) { + if (this.hash !== "") { + event.preventDefault(); + var hash = this.hash; + $('html, body').animate({ + scrollTop: $(hash).offset().top - 80 + }, 800, function(){ + window.location.hash = hash; + }); + } + }); +}); + +// $(function() { +// $(window).on('resize', function(e) { +// if (screen.width < screen.height){ +// $('.section--preview').addClass('horizontal'); +// }else{ +// $('.section--preview').removeClass('horizontal'); +// } +// }); +// }) + +init(); + +function init() { + let state = 0; + + // if (screen.width < screen.height){ + // $('.section--preview').addClass('horizontal'); + // }else{ + // $('.section--preview').removeClass('horizontal'); + // } + + $('.js-prev-slide').click(function() { + if(state - 1 == -1){state = 2;}else{state = state - 1;} + swiper(state,0); + }); + $('.js-next-slide').click(function() { + if(state + 1 == 3){state = 0;}else{state = state + 1;} + swiper(state,1); + }); + + $('.js-menu-object').click(function() { + closeSequence($('body').find('.section--block' + $(this).attr('href'))); + }); + $('.js-menu-detail').click(function() { + menuControl($('body').find('.section--block' + $(this).attr('href')), "detail"); + }); + $('.js-menu-gallery').click(function() { + menuControl($('body').find('.section--block' + $(this).attr('href')), "gallery"); + }); + $('.js-menu-price').click(function() { + menuControl($('body').find('.section--block' + $(this).attr('href')), "price"); + }); + + $('.js-left-open').click(function() { + let position; + if (screen.width > 1200){position = 50;}else{position = 0;} + if($(this).closest('.section').hasClass('section--switch')){ + $(this).closest('.section').find('.section__left').css('left',position + '%'); + }else{ + $(this).closest('.section').find('.section__left').css('left','0%'); + } + }); + $('.js-left-close').click(function() { + let position1; + let position2; + if (screen.width > 1200){position1 = 0;position2 = -50;}else{position1 = -100;position2 = -100;} + if($(this).closest('.section').hasClass('section--switch')){ + $(this).closest('.section').find('.section__left').css('left',position1 + '%'); + }else{ + $(this).closest('.section').find('.section__left').css('left',position2 + '%'); + } + }); + $('.js-gallery-open').click(function() { + const x = $(this).closest('.section').find('.section__gallery'); + x.addClass('is-open'); + if(!x.hasClass('loaded')){loadGallery(this,x.attr('data-object'),x.attr('data-items'));} + }); + $('.js-gallery-close').click(function() { + $(this).closest('.section').find('.section__gallery').removeClass('is-open'); + }); + $('.js-right-open').click(function() { + let position; + if (screen.width > 1200){position = 50;}else{position = 0;} + if($(this).closest('.section').hasClass('section--switch')){ + $(this).closest('.section').find('.section__right').css('left',position + '%'); + }else{ + $(this).closest('.section').find('.section__right').css('left','0%'); + } + }); + $('.js-right-close').click(function() { + let position; + if (screen.width > 1200){position = 50}else{position = 100;} + if($(this).closest('.section').hasClass('section--switch')){ + $(this).closest('.section').find('.section__right').css('left','100%'); + }else{ + $(this).closest('.section').find('.section__right').css('left',position + '%'); + } + }); + + $('.js-preview-close').click(function() { + $('body').removeClass('noscroll'); + $('body').find('.section--preview').removeClass('is-open'); + }); + + $('.js-preview-prev').click(function() { + let data = $(this).closest('.section--preview'); + let x = Number(data.attr('data-object')); + let y = Number(data.attr('data-item')); + let z = Number(data.attr('data-items')); + galleryControl(x,0,y,z); + }); + + $('.js-preview-next').click(function() { + let data = $(this).closest('.section--preview'); + let x = Number(data.attr('data-object')); + let y = Number(data.attr('data-item')); + let z = Number(data.attr('data-items')); + galleryControl(x,1,y,z); + }); + + $('.js-menu-button').click(function() { + if($(this).hasClass('is-active')){ + $(this).removeClass('is-active'); + $('body').removeClass('noscroll'); + $('body').find('.header').removeClass('is-open'); + }else{ + $(this).addClass('is-active'); + $('body').addClass('noscroll'); + $('body').find('.header').addClass('is-open'); + } + }); + + $('.js-menu-close').click(function() { + $('body').find('.header').removeClass('is-open'); + $('body').find('.js-menu-button').removeClass('is-active'); + $('body').removeClass('noscroll'); + }); +} + +function swiper(e,f) { + const a = $('.js-slide-one'); + const b = $('.js-slide-two'); + const c = $('.js-slide-three'); + + if (e == 1) { + if (f == 1) { + $(a).css('zIndex','1'); + $(c).css('zIndex','-1'); + } else { + $(a).css('zIndex','-1'); + $(c).css('zIndex','1'); + } + $(b).css('zIndex','1'); + $(a).css('left','-100%'); + $(b).css('left','0%'); + $(c).css('left','100%'); + } else if (e == 2) { + if (f == 1) { + $(b).css('zIndex','1'); + $(a).css('zIndex','-1'); + } else { + $(b).css('zIndex','-1'); + $(a).css('zIndex','1'); + } + $(c).css('zIndex','1'); + $(a).css('left','100%'); + $(b).css('left','-100%'); + $(c).css('left','0%'); + } else { + if (f == 1) { + $(c).css('zIndex','1'); + $(b).css('zIndex','-1'); + } else { + $(c).css('zIndex','-1'); + $(b).css('zIndex','1'); + } + $(a).css('zIndex','1'); + $(a).css('left','0%'); + $(b).css('left','100%'); + $(c).css('left','-100%'); + } +} + +function loadGallery(item,object,maxItems){ + let imageUrls = []; + const loadImage = src => + new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = reject; + img.src = src; + }) +; + +switch(Number(object)) { + case 0: + imageUrls = [ + "img/gallery/statek/1.webp", + "img/gallery/statek/2.webp", + "img/gallery/statek/3.webp", + "img/gallery/statek/4.webp", + "img/gallery/statek/5.webp", + "img/gallery/statek/6.webp", + "img/gallery/statek/7.webp", + "img/gallery/statek/8.webp", + "img/gallery/statek/9.webp", + "img/gallery/statek/10.webp", + "img/gallery/statek/11.webp", + "img/gallery/statek/12.webp", + "img/gallery/statek/13.webp", + "img/gallery/statek/14.webp", + "img/gallery/statek/15.webp", + "img/gallery/statek/16.webp", + "img/gallery/statek/17.webp", + "img/gallery/statek/18.webp", + "img/gallery/statek/19.webp", + "img/gallery/statek/20.webp", + "img/gallery/statek/21.webp", + "img/gallery/statek/22.webp", + "img/gallery/statek/23.webp", + "img/gallery/statek/24.webp" + ]; + break; + case 1: + imageUrls = [ + "img/gallery/penzion/1.webp", + "img/gallery/penzion/2.webp", + "img/gallery/penzion/3.webp", + "img/gallery/penzion/4.webp", + "img/gallery/penzion/5.webp", + "img/gallery/penzion/6.webp", + "img/gallery/penzion/7.webp", + "img/gallery/penzion/8.webp", + "img/gallery/penzion/9.webp", + "img/gallery/penzion/10.webp", + "img/gallery/penzion/11.webp", + "img/gallery/penzion/12.webp", + "img/gallery/penzion/13.webp", + "img/gallery/penzion/14.webp", + "img/gallery/penzion/15.webp", + "img/gallery/penzion/16.webp", + "img/gallery/penzion/17.webp", + "img/gallery/penzion/18.webp", + "img/gallery/penzion/19.webp", + "img/gallery/penzion/20.webp", + "img/gallery/penzion/21.webp", + "img/gallery/penzion/22.webp", + "img/gallery/penzion/23.webp", + "img/gallery/penzion/24.webp" + ]; + break; + case 2: + imageUrls = [ + "img/gallery/chata/1.webp", + "img/gallery/chata/2.webp", + "img/gallery/chata/3.webp", + "img/gallery/chata/4.webp", + "img/gallery/chata/5.webp", + "img/gallery/chata/6.webp", + "img/gallery/chata/7.webp", + "img/gallery/chata/8.webp", + "img/gallery/chata/9.webp", + "img/gallery/chata/10.webp", + "img/gallery/chata/11.webp", + "img/gallery/chata/12.webp", + "img/gallery/chata/13.webp", + "img/gallery/chata/14.webp", + "img/gallery/chata/15.webp", + "img/gallery/chata/16.webp", + "img/gallery/chata/17.webp", + "img/gallery/chata/18.webp", + "img/gallery/chata/19.webp", + "img/gallery/chata/20.webp", + "img/gallery/chata/21.webp", + "img/gallery/chata/22.webp", + "img/gallery/chata/23.webp", + "img/gallery/chata/24.webp" + ]; + break; + case 3: + imageUrls = [ + "img/gallery/statek/6.webp", + "img/gallery/statek/w1.webp", + "img/gallery/statek/w2.webp", + "img/gallery/statek/w6.webp", + "img/gallery/statek/w3.webp", + "img/gallery/statek/w4.webp", + "img/gallery/statek/3.webp", + "img/gallery/statek/9.webp", + "img/gallery/statek/8.webp", + "img/gallery/statek/7.webp", + "img/gallery/statek/11.webp", + "img/gallery/statek/w5.webp" + ]; +} + +Promise.all(imageUrls.map(loadImage)).then(images => { + let count = 1; + images.forEach((image, i) =>{ + $(item).closest('.section').find('.gallery').append($('').append(image)); + if(count == maxItems){ + $(item).closest('.section').find('.section__gallery').addClass('loaded'); + $('.js-gallery-item').click(function() { + let z; + let x = $('body').find('.section--preview'); + let y = Number($(this).attr('data-order')); + let w = Number($(item).closest('.section').find('.section__gallery').attr('data-items')); + let c = $(this).closest('.section').attr('id'); + + if(c == "statek"){z = 0;}else if(c == "penzion"){z = 1;}else if(c == "chata"){z = 2;}else{z = 3;} + $('body').addClass('noscroll'); + x.attr('data-object',z); + x.attr('data-item',y); + x.attr('data-items',w); + x.find('img').attr('src',$(this).find('img').attr('src')); + x.addClass('is-open'); + }); + } + count = count + 1; + }); +} +); +} + +function galleryControl(e,f,g,h) { + let object; + let next = loopControl(g, f, h); + + switch(e) { + case 0: + object = "statek"; + break; + case 1: + object = "penzion"; + break; + case 2: + object = "chata"; + break; + case 3: + object = "statek"; + } + $('body').find('.section--preview').attr('data-item',next); + if(e==3){ + switch(next) { + case 1: + next = "6"; + break; + case 2: + next = "w1"; + break; + case 3: + next = "w2"; + break; + case 4: + next = "w6"; + break; + case 5: + next = "w3"; + break; + case 6: + next = "w4"; + break; + case 7: + next = "3"; + break; + case 8: + next = "9"; + break; + case 9: + next = "8"; + break; + case 10: + next = "7"; + break; + case 11: + next = "11"; + break; + case 12: + next = "w5"; + } + } + $('body').find('.section--preview').find('img').attr('src','img/gallery/' + object + '/' + next + '.webp'); +} + +function loopControl(e,f,g) { + if(f){if(g+1==e+1){e=1;}else{e=e+1;}}else{if(0==e-1){e=g;}else{e=e-1;}}return e; +} + +function menuControl(e,f) { + let position; + if (screen.width > 1200){position = 50;}else{position = 0} + closeSequence(e); + + if(f=="detail"){ + if(e.hasClass('section--switch')){ + e.find('.section__left').css('left',position+'%'); + }else{ + e.find('.section__left').css('left','0%'); + } + }else if(f=="gallery"){ + let x = e.find('.section__gallery'); + x.addClass('is-open'); + if(!x.hasClass('loaded')){loadGallery(e,x.attr('data-object'),x.attr('data-items'));} + }else{ + if(e.hasClass('section--switch')){ + e.find('.section__right').css('left',position+'%'); + }else{ + e.find('.section__right').css('left','0%'); + } + } +} + +function closeSequence(e) { + let position1; + let position2; + let position3; + let position4; + if (screen.width > 1200){position1 = 0;position2 = 100;position3 = -50;position4 = 50;}else{position1 = -100;position2 = 100;position3 = -100;position4 = 100;} + + if($('body').find('.header').hasClass('is-open')){ + $('body').removeClass('noscroll'); + $('body').find('.header').removeClass('is-open'); + $('body').find('.js-menu-button').removeClass('is-active'); + } + + if(e.hasClass('section--switch')){ + e.find('.section__left').css('left',position1+'%'); + e.find('.section__right').css('left',position2+'%'); + }else{ + e.find('.section__left').css('left',position3+'%'); + e.find('.section__right').css('left',position4+'%'); + } + e.find('.section__gallery').removeClass('is-open'); +} diff --git a/img/gallery/chata/1.webp b/img/gallery/chata/1.webp new file mode 100644 index 0000000..ecadd84 Binary files /dev/null and b/img/gallery/chata/1.webp differ diff --git a/img/gallery/chata/10.webp b/img/gallery/chata/10.webp new file mode 100644 index 0000000..2aab4a8 Binary files /dev/null and b/img/gallery/chata/10.webp differ diff --git a/img/gallery/chata/11.webp b/img/gallery/chata/11.webp new file mode 100644 index 0000000..184e08c Binary files /dev/null and b/img/gallery/chata/11.webp differ diff --git a/img/gallery/chata/12.webp b/img/gallery/chata/12.webp new file mode 100644 index 0000000..d310f86 Binary files /dev/null and b/img/gallery/chata/12.webp differ diff --git a/img/gallery/chata/13.webp b/img/gallery/chata/13.webp new file mode 100644 index 0000000..2a0aa0f Binary files /dev/null and b/img/gallery/chata/13.webp differ diff --git a/img/gallery/chata/14.webp b/img/gallery/chata/14.webp new file mode 100644 index 0000000..ddcf7a7 Binary files /dev/null and b/img/gallery/chata/14.webp differ diff --git a/img/gallery/chata/15.webp b/img/gallery/chata/15.webp new file mode 100644 index 0000000..aa856ae Binary files /dev/null and b/img/gallery/chata/15.webp differ diff --git a/img/gallery/chata/16.webp b/img/gallery/chata/16.webp new file mode 100644 index 0000000..12aecc5 Binary files /dev/null and b/img/gallery/chata/16.webp differ diff --git a/img/gallery/chata/17.webp b/img/gallery/chata/17.webp new file mode 100644 index 0000000..be2fe14 Binary files /dev/null and b/img/gallery/chata/17.webp differ diff --git a/img/gallery/chata/18.webp b/img/gallery/chata/18.webp new file mode 100644 index 0000000..633cc5b Binary files /dev/null and b/img/gallery/chata/18.webp differ diff --git a/img/gallery/chata/19.webp b/img/gallery/chata/19.webp new file mode 100644 index 0000000..f01468c Binary files /dev/null and b/img/gallery/chata/19.webp differ diff --git a/img/gallery/chata/2.webp b/img/gallery/chata/2.webp new file mode 100644 index 0000000..3277c99 Binary files /dev/null and b/img/gallery/chata/2.webp differ diff --git a/img/gallery/chata/20.webp b/img/gallery/chata/20.webp new file mode 100644 index 0000000..d646f02 Binary files /dev/null and b/img/gallery/chata/20.webp differ diff --git a/img/gallery/chata/21.webp b/img/gallery/chata/21.webp new file mode 100644 index 0000000..934483d Binary files /dev/null and b/img/gallery/chata/21.webp differ diff --git a/img/gallery/chata/22.webp b/img/gallery/chata/22.webp new file mode 100644 index 0000000..53d3e71 Binary files /dev/null and b/img/gallery/chata/22.webp differ diff --git a/img/gallery/chata/23.webp b/img/gallery/chata/23.webp new file mode 100644 index 0000000..572feae Binary files /dev/null and b/img/gallery/chata/23.webp differ diff --git a/img/gallery/chata/24.webp b/img/gallery/chata/24.webp new file mode 100644 index 0000000..ac156ae Binary files /dev/null and b/img/gallery/chata/24.webp differ diff --git a/img/gallery/chata/3.webp b/img/gallery/chata/3.webp new file mode 100644 index 0000000..1edcb09 Binary files /dev/null and b/img/gallery/chata/3.webp differ diff --git a/img/gallery/chata/4.webp b/img/gallery/chata/4.webp new file mode 100644 index 0000000..740fff6 Binary files /dev/null and b/img/gallery/chata/4.webp differ diff --git a/img/gallery/chata/5.webp b/img/gallery/chata/5.webp new file mode 100644 index 0000000..bbc6025 Binary files /dev/null and b/img/gallery/chata/5.webp differ diff --git a/img/gallery/chata/6.webp b/img/gallery/chata/6.webp new file mode 100644 index 0000000..606b882 Binary files /dev/null and b/img/gallery/chata/6.webp differ diff --git a/img/gallery/chata/7.webp b/img/gallery/chata/7.webp new file mode 100644 index 0000000..68bdd15 Binary files /dev/null and b/img/gallery/chata/7.webp differ diff --git a/img/gallery/chata/8.webp b/img/gallery/chata/8.webp new file mode 100644 index 0000000..f394ce1 Binary files /dev/null and b/img/gallery/chata/8.webp differ diff --git a/img/gallery/chata/9.webp b/img/gallery/chata/9.webp new file mode 100644 index 0000000..fa72538 Binary files /dev/null and b/img/gallery/chata/9.webp differ diff --git a/img/gallery/penzion/1.webp b/img/gallery/penzion/1.webp new file mode 100644 index 0000000..32eebe2 Binary files /dev/null and b/img/gallery/penzion/1.webp differ diff --git a/img/gallery/penzion/10.webp b/img/gallery/penzion/10.webp new file mode 100644 index 0000000..3c17022 Binary files /dev/null and b/img/gallery/penzion/10.webp differ diff --git a/img/gallery/penzion/11.webp b/img/gallery/penzion/11.webp new file mode 100644 index 0000000..2a05727 Binary files /dev/null and b/img/gallery/penzion/11.webp differ diff --git a/img/gallery/penzion/12.webp b/img/gallery/penzion/12.webp new file mode 100644 index 0000000..ea0f24d Binary files /dev/null and b/img/gallery/penzion/12.webp differ diff --git a/img/gallery/penzion/13.webp b/img/gallery/penzion/13.webp new file mode 100644 index 0000000..2044692 Binary files /dev/null and b/img/gallery/penzion/13.webp differ diff --git a/img/gallery/penzion/14.webp b/img/gallery/penzion/14.webp new file mode 100644 index 0000000..d91415a Binary files /dev/null and b/img/gallery/penzion/14.webp differ diff --git a/img/gallery/penzion/15.webp b/img/gallery/penzion/15.webp new file mode 100644 index 0000000..292e5bc Binary files /dev/null and b/img/gallery/penzion/15.webp differ diff --git a/img/gallery/penzion/16.webp b/img/gallery/penzion/16.webp new file mode 100644 index 0000000..dce860a Binary files /dev/null and b/img/gallery/penzion/16.webp differ diff --git a/img/gallery/penzion/17.webp b/img/gallery/penzion/17.webp new file mode 100644 index 0000000..763de03 Binary files /dev/null and b/img/gallery/penzion/17.webp differ diff --git a/img/gallery/penzion/18.webp b/img/gallery/penzion/18.webp new file mode 100644 index 0000000..f5467c1 Binary files /dev/null and b/img/gallery/penzion/18.webp differ diff --git a/img/gallery/penzion/19.webp b/img/gallery/penzion/19.webp new file mode 100644 index 0000000..eb9eefa Binary files /dev/null and b/img/gallery/penzion/19.webp differ diff --git a/img/gallery/penzion/2.webp b/img/gallery/penzion/2.webp new file mode 100644 index 0000000..2e2efbe Binary files /dev/null and b/img/gallery/penzion/2.webp differ diff --git a/img/gallery/penzion/20.webp b/img/gallery/penzion/20.webp new file mode 100644 index 0000000..46e12ef Binary files /dev/null and b/img/gallery/penzion/20.webp differ diff --git a/img/gallery/penzion/21.webp b/img/gallery/penzion/21.webp new file mode 100644 index 0000000..5e74692 Binary files /dev/null and b/img/gallery/penzion/21.webp differ diff --git a/img/gallery/penzion/22.webp b/img/gallery/penzion/22.webp new file mode 100644 index 0000000..9807c05 Binary files /dev/null and b/img/gallery/penzion/22.webp differ diff --git a/img/gallery/penzion/23.webp b/img/gallery/penzion/23.webp new file mode 100644 index 0000000..e3cf5a1 Binary files /dev/null and b/img/gallery/penzion/23.webp differ diff --git a/img/gallery/penzion/24.webp b/img/gallery/penzion/24.webp new file mode 100644 index 0000000..b27493f Binary files /dev/null and b/img/gallery/penzion/24.webp differ diff --git a/img/gallery/penzion/3.webp b/img/gallery/penzion/3.webp new file mode 100644 index 0000000..f489a5d Binary files /dev/null and b/img/gallery/penzion/3.webp differ diff --git a/img/gallery/penzion/4.webp b/img/gallery/penzion/4.webp new file mode 100644 index 0000000..4ccbcdc Binary files /dev/null and b/img/gallery/penzion/4.webp differ diff --git a/img/gallery/penzion/5.webp b/img/gallery/penzion/5.webp new file mode 100644 index 0000000..da9daea Binary files /dev/null and b/img/gallery/penzion/5.webp differ diff --git a/img/gallery/penzion/6.webp b/img/gallery/penzion/6.webp new file mode 100644 index 0000000..8c86515 Binary files /dev/null and b/img/gallery/penzion/6.webp differ diff --git a/img/gallery/penzion/7.webp b/img/gallery/penzion/7.webp new file mode 100644 index 0000000..0e0b492 Binary files /dev/null and b/img/gallery/penzion/7.webp differ diff --git a/img/gallery/penzion/8.webp b/img/gallery/penzion/8.webp new file mode 100644 index 0000000..9c91919 Binary files /dev/null and b/img/gallery/penzion/8.webp differ diff --git a/img/gallery/penzion/9.webp b/img/gallery/penzion/9.webp new file mode 100644 index 0000000..af1e645 Binary files /dev/null and b/img/gallery/penzion/9.webp differ diff --git a/img/gallery/statek/1.webp b/img/gallery/statek/1.webp new file mode 100644 index 0000000..1d366d3 Binary files /dev/null and b/img/gallery/statek/1.webp differ diff --git a/img/gallery/statek/10.webp b/img/gallery/statek/10.webp new file mode 100644 index 0000000..3d9fd1a Binary files /dev/null and b/img/gallery/statek/10.webp differ diff --git a/img/gallery/statek/11.webp b/img/gallery/statek/11.webp new file mode 100644 index 0000000..16dc26a Binary files /dev/null and b/img/gallery/statek/11.webp differ diff --git a/img/gallery/statek/12.webp b/img/gallery/statek/12.webp new file mode 100644 index 0000000..2b45dd1 Binary files /dev/null and b/img/gallery/statek/12.webp differ diff --git a/img/gallery/statek/13.webp b/img/gallery/statek/13.webp new file mode 100644 index 0000000..828eefe Binary files /dev/null and b/img/gallery/statek/13.webp differ diff --git a/img/gallery/statek/14.webp b/img/gallery/statek/14.webp new file mode 100644 index 0000000..eb898d2 Binary files /dev/null and b/img/gallery/statek/14.webp differ diff --git a/img/gallery/statek/15.webp b/img/gallery/statek/15.webp new file mode 100644 index 0000000..a0aee9d Binary files /dev/null and b/img/gallery/statek/15.webp differ diff --git a/img/gallery/statek/16.webp b/img/gallery/statek/16.webp new file mode 100644 index 0000000..4c589c9 Binary files /dev/null and b/img/gallery/statek/16.webp differ diff --git a/img/gallery/statek/17.webp b/img/gallery/statek/17.webp new file mode 100644 index 0000000..2ae6767 Binary files /dev/null and b/img/gallery/statek/17.webp differ diff --git a/img/gallery/statek/18.webp b/img/gallery/statek/18.webp new file mode 100644 index 0000000..85cbb73 Binary files /dev/null and b/img/gallery/statek/18.webp differ diff --git a/img/gallery/statek/19.webp b/img/gallery/statek/19.webp new file mode 100644 index 0000000..fa421a2 Binary files /dev/null and b/img/gallery/statek/19.webp differ diff --git a/img/gallery/statek/2.webp b/img/gallery/statek/2.webp new file mode 100644 index 0000000..bccd417 Binary files /dev/null and b/img/gallery/statek/2.webp differ diff --git a/img/gallery/statek/20.webp b/img/gallery/statek/20.webp new file mode 100644 index 0000000..991132f Binary files /dev/null and b/img/gallery/statek/20.webp differ diff --git a/img/gallery/statek/21.webp b/img/gallery/statek/21.webp new file mode 100644 index 0000000..b59bf03 Binary files /dev/null and b/img/gallery/statek/21.webp differ diff --git a/img/gallery/statek/22.webp b/img/gallery/statek/22.webp new file mode 100644 index 0000000..03f1f8b Binary files /dev/null and b/img/gallery/statek/22.webp differ diff --git a/img/gallery/statek/23.webp b/img/gallery/statek/23.webp new file mode 100644 index 0000000..0ac68d3 Binary files /dev/null and b/img/gallery/statek/23.webp differ diff --git a/img/gallery/statek/24.webp b/img/gallery/statek/24.webp new file mode 100644 index 0000000..a6d5832 Binary files /dev/null and b/img/gallery/statek/24.webp differ diff --git a/img/gallery/statek/3.webp b/img/gallery/statek/3.webp new file mode 100644 index 0000000..7ee6ff6 Binary files /dev/null and b/img/gallery/statek/3.webp differ diff --git a/img/gallery/statek/4.webp b/img/gallery/statek/4.webp new file mode 100644 index 0000000..a3bb59a Binary files /dev/null and b/img/gallery/statek/4.webp differ diff --git a/img/gallery/statek/5.webp b/img/gallery/statek/5.webp new file mode 100644 index 0000000..a8f9b27 Binary files /dev/null and b/img/gallery/statek/5.webp differ diff --git a/img/gallery/statek/6.webp b/img/gallery/statek/6.webp new file mode 100644 index 0000000..1f1599f Binary files /dev/null and b/img/gallery/statek/6.webp differ diff --git a/img/gallery/statek/7.webp b/img/gallery/statek/7.webp new file mode 100644 index 0000000..a2fa6dc Binary files /dev/null and b/img/gallery/statek/7.webp differ diff --git a/img/gallery/statek/8.webp b/img/gallery/statek/8.webp new file mode 100644 index 0000000..a83ae17 Binary files /dev/null and b/img/gallery/statek/8.webp differ diff --git a/img/gallery/statek/9.webp b/img/gallery/statek/9.webp new file mode 100644 index 0000000..be25263 Binary files /dev/null and b/img/gallery/statek/9.webp differ diff --git a/img/gallery/statek/w1.webp b/img/gallery/statek/w1.webp new file mode 100644 index 0000000..49145b9 Binary files /dev/null and b/img/gallery/statek/w1.webp differ diff --git a/img/gallery/statek/w2.webp b/img/gallery/statek/w2.webp new file mode 100644 index 0000000..a48c407 Binary files /dev/null and b/img/gallery/statek/w2.webp differ diff --git a/img/gallery/statek/w3.webp b/img/gallery/statek/w3.webp new file mode 100644 index 0000000..4a6265c Binary files /dev/null and b/img/gallery/statek/w3.webp differ diff --git a/img/gallery/statek/w4.webp b/img/gallery/statek/w4.webp new file mode 100644 index 0000000..adcddbb Binary files /dev/null and b/img/gallery/statek/w4.webp differ diff --git a/img/gallery/statek/w5.webp b/img/gallery/statek/w5.webp new file mode 100644 index 0000000..ab2af44 Binary files /dev/null and b/img/gallery/statek/w5.webp differ diff --git a/img/gallery/statek/w6.webp b/img/gallery/statek/w6.webp new file mode 100644 index 0000000..3698d40 Binary files /dev/null and b/img/gallery/statek/w6.webp differ diff --git a/img/i1.webp b/img/i1.webp new file mode 100644 index 0000000..68bc80c Binary files /dev/null and b/img/i1.webp differ diff --git a/img/i2.webp b/img/i2.webp new file mode 100644 index 0000000..1c2b1c7 Binary files /dev/null and b/img/i2.webp differ diff --git a/img/i3.webp b/img/i3.webp new file mode 100644 index 0000000..0e2bad6 Binary files /dev/null and b/img/i3.webp differ diff --git a/img/logo.webp b/img/logo.webp new file mode 100644 index 0000000..19a021d Binary files /dev/null and b/img/logo.webp differ diff --git a/img/s1.webp b/img/s1.webp new file mode 100644 index 0000000..695c1ec Binary files /dev/null and b/img/s1.webp differ diff --git a/img/s1s.webp b/img/s1s.webp new file mode 100644 index 0000000..a46780a Binary files /dev/null and b/img/s1s.webp differ diff --git a/img/s2.webp b/img/s2.webp new file mode 100644 index 0000000..e97e1a9 Binary files /dev/null and b/img/s2.webp differ diff --git a/img/s2s.webp b/img/s2s.webp new file mode 100644 index 0000000..b0c92e2 Binary files /dev/null and b/img/s2s.webp differ diff --git a/img/s3.webp b/img/s3.webp new file mode 100644 index 0000000..4edc13d Binary files /dev/null and b/img/s3.webp differ diff --git a/img/s3s.webp b/img/s3s.webp new file mode 100644 index 0000000..c011c39 Binary files /dev/null and b/img/s3s.webp differ diff --git a/img/underline.webp b/img/underline.webp new file mode 100644 index 0000000..04e7117 Binary files /dev/null and b/img/underline.webp differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d457b41 --- /dev/null +++ b/index.html @@ -0,0 +1,612 @@ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ +
+
+
+
+ + + + + +
+
+ + + + +
+

Penzion Blaník +
+ u potůčku

+ +
+
+
+ + + + + +
+
+
+ +
+
+
+
+

Statek

+

Zveme Vás k příjemné rekreaci na stylově zařízeném
statku uprostřed malebné přírody pod bájnou horou
Blaník.

+ +
+
+ +
+ +
+
+

Statek Blaník

+ + + + + Zpět + +
+
+
    +
  • Stylově zařízený statek uprostřed malebné přírody se nachází stejně jako ostatní objekty pod bájnou horou Blaník. Objekt je součástí klidné osady Světlá. Výhodou je vzdálenost 70 km od Prahy nebo 3 km do obce Louňovice pod Blaníkem (veškerá občanská vybavenost).
  • +
  • K dispozici je společenský sál pro 55 osob s vlastní plně vybavenou kuchyní, včetně myčky na nádobí, automatického espresa a sociálního zařízení. Lze využít také TV, DVD nebo promítací plátno. Ze dvorku je přístupný nově zrekonstruovaný pánský klub.
  • +
  • V letních měsících lze využít venkovního posezení na čerstvém vzduchu. Hosté mohou hrát fotbal, volejbal a jiné míčové hry na štěrkovém hřišti. Součástí venkovního dětského koutku je stolní tenis, stolní fotbálek, prolézačky a pískoviště. Objekt disponuje zastřešeným bazénem, brouzdalištěm pro děti, rybníkem s kapry.
  • +
  • Nabízíme zajištění celodenního stravování. Za poplatek můžete využít také možnosti zapůjčení chladícího zařízení na pivo, grilovacího boxu na opékání kýty, krůty, selete či grilu. Na statku je k dispozici jedna dětská postýlka.
  • +
+
+ +
+ + + +
+
+

Statek - Ceník

+ + Zpět + + + + +
+
+
    +
  • Dospělí 600 Kč osoba/noc
  • +
  • Děti od 2 do 10 let 540 Kč osoba/noc
  • +
  • Děti do 2 let/bez nároku na lůžko zdarma
  • +
  • Pes - po dohodě s majitelem 300 Kč/noc
  • +
  • Rekreační poplatek obci 15 Kč/osoba/noc
  • +
+
    +
  • * Elektrická energie je zpoplatněna.
  • +
  • ** Na svatby ve všední dny dáváme slevu.
  • +
  • *** Při ubytování na jednu noc cena navýšena o 20%.
  • +
  • **** Pobyt se psem je možný pouze po domluvě s majitelem.
  • +
+
    +
  • Na rezervovaný pobyt vybíráme zálohu 50% z celkové ceny pobytu. Tato záloha musí být uhrazena do termínu splatnosti. Zaplacením zálohy se Váš pobyt stává pevně rezervovaným.
  • +
  • Svůj pobyt můžete zrušit pouze písemně, a to mailem na adresu: chaloupkapodblanikem@seznam.cz
  • +
  • V den příjezdu požadujeme doplatek za pobyt, splatný pouze v hotovosti.
  • +
  • V celém objektu je zákaz ohňostrojů a vypouštění balónků štěstí.
  • +
+
+ + + Galerie + +
+
+ +
+
+ +
+
+

Penzion u potoka

+

Nabízíme ubytování na úpatí bájné hory Blaník v
chalupě a chatě uprostřed krásné přírody.

+ +
+
+
+ +
+
+

Penzion Blaník

+ + + + + Zpět + +
+
+
    +
  • V penzionu, uprostřed krásné přírody, máme 8 pokojů s celkem 24 lůžky a 3 přistýlkami. Vlastní koupelnu se sprchou a WC mají 4 pokoje (2x čtyřlůžkový - v každém možná přistýlka, 1x čtyřlůžkový, 1x dvoulůžkový). 2 dvoulůžkové pokoje mají společnou sprchu a WC. Součástí objektu je také samostatný apartmán přístupný ze společenské místnosti nebo odděleným vchodem. Tento apartmán má dvě průchozí ložnice (2 lůžka a 4 lůžka s možnou přistýlkou), malý kuchyňský kout a vlastní WC s koupelnou.
  • +
  • K dispozici je velká společenská místnost pro 40 osob. Její součástí je kachlová pec s místem na odpočinek. Plně zařízená kuchyně včetně myčky, kávovaru, lednice či trouby.
  • +
  • U penzionu se nachází potůček s lávkou, která Vás převede na štěrkové hřiště. Na něm si hosté mohou zahrát fotbal, badminton, nohejbal, volejbal či jiné hry. V blízkosti penzionu je kryté posezení s grilem, krbem a venkovní kuchyní. Součástí je také dětské hřiště, venkovní bazén 3 x 6 metru, stolní tenis a parkoviště.
  • +
  • Při větším počtu osob lze kapacitně propojit s ubytováním na chatě. Ta je vzdálená asi 50 metrů od penzionu. Ideální počet pro takovou formu pronájmu je skupina 30-35 osob. Pokud jsou však objekty obsazeny zvlášť, hosté se navzájem neruší, neboť jsou objekty odděleny lesíkem.
  • +
  • Nabízíme zajištění celodenního stravování. Za poplatek můžete využít také možnosti zapůjčení chladícího zařízení na pivo, grilovacího boxu na opékání kýty, krůty, selete či grilu. Na statku je k dispozici jedna dětská postýlka.
  • +
+
+ +
+ + + +
+
+

Penzion - Ceník

+ + Zpět + + + + +
+
+
    +
  • Dospělí 550 Kč osoba/noc
  • +
  • Děti od 2 do 10 let 480 Kč osoba/noc
  • +
  • Děti do 2 let/bez nároku na lůžko zdarma
  • +
  • Pes - po dohodě s majitelem 200 Kč/noc
  • +
  • Rekreační poplatek obci 15 Kč/osoba/noc
  • +
+
    +
  • * Elektrická energie je zpoplatněna.
  • +
  • ** Na svatby ve všední dny dáváme slevu.
  • +
  • *** Při ubytování na jednu noc cena navýšena o 20%.
  • +
  • **** Při obsazení celého objektu poskytujeme výrazné slevy dle domluvy.
  • +
+
    +
  • Na rezervovaný pobyt vybíráme zálohu 50% z celkové ceny pobytu. Tato záloha musí být uhrazena do termínu splatnosti. Zaplacením zálohy se Váš pobyt stává pevně rezervovaným.
  • +
  • Svůj pobyt můžete zrušit pouze písemně, a to mailem na adresu: chaloupkapodblanikem@seznam.cz
  • +
  • Při obsazení celého objektu požadujeme složení vratné kauce v hodnotě 3000,- Kč.
  • +
  • V den příjezdu požadujeme doplatek za pobyt, splatný pouze v hotovosti.
  • +
+
+ + + Galerie + +
+
+ +
+
+
+
+

Chata Blaník

+

Zveme Vás k příjemné rekreaci uprostřed blanických
lesů pod bájnou horou Blaník.

+ +
+
+ +
+ +
+
+

Chata Blaník

+ + + + + Zpět + +
+
+
    +
  • Zveme Vás k příjemné rekreaci pod bájnou horou Blaník. Chata se nachází v klidu lesní malebné paseky, zhruba 2km od Louňovic pod Blaníkem v CHKO Blaník.
  • +
  • K dispozici je celá chata s 11 lůžky. V patře chaty jsou tři samostatné pokoje (2 lůžka, 3 lůžka, 4 lůžka), 2 lůžka jsou součástí společenské místnosti.
  • +
  • Chata disponuje plně vybavenou kuchyní včetně myčky na nádobí, mikrovlnné trouby, varné konvice a lednice. V přízemí i v patře je koupelna a WC. V objektu je elektrické vytápění s možností topení v kachlových kamnech a krbu. U chaty se nachází zahradní posezení s grilem a ohnišťem. Parkování je zajištěno u objektu. Krásné okolí umožňuje nepřeberné množství procházek kolem potoka a v klidné krajině podblanicka. Samozřejmostí je internet.
  • +
  • Při větším počtu osob lze kapacitně propojit s ubytováním v penzionu. Ten je vzdálený asi 50 metrů od chaty. Ideální počet pro takovou formu pronájmu je skupina 30-35 osob. Pokud jsou však objekty obsazeny zvlášť, hosté se navzájem neruší, neboť jsou objekty odděleny lesíkem.
  • +
+
+ +
+ + + +
+
+

Chata - Ceník

+ + Zpět + + + + +
+
+
    +
  • Objekt do 8 osob 3 000 Kč objekt/noc
  • +
  • Každá další osoba 300 Kč osoba/noc
  • +
  • Děti do 2 let/bez nároku na lůžko zdarma
  • +
  • Pes - po dohodě s majitelem 100 Kč/noc
  • +
  • Rekreační poplatek obci 15 Kč/osoba/noc
  • +
+
    +
  • * Elektrická energie je zpoplatněna.
  • +
  • ** Při ubytování na jednu noc cena navýšena o 20%.
  • +
  • *** Pobyt se psem je možný pouze po domluvě s majitelem.
  • +
+
    +
  • Na rezervovaný pobyt vybíráme zálohu 50% z celkové ceny pobytu. Tato záloha musí být uhrazena do termínu splatnosti. Zaplacením zálohy se Váš pobyt stává pevně rezervovaným.
  • +
  • Svůj pobyt můžete zrušit pouze písemně, a to mailem na adresu: chaloupkapodblanikem@seznam.cz
  • +
  • V den příjezdu požadujeme doplatek za pobyt, splatný pouze v hotovosti.
  • +
+
+ + + Galerie + +
+
+ +
+
+ +
+
+

Plánujete svatbu, oslavu nebo event?

+

Prostředí statku i penzionu je ideálním místem pro sešlosti.

+ +
+
+
+ +
+
+

Svatby, oslavy nebo eventy

+ + Zpět + + + + +
+
+
    +
  • Statek je vhodný pro rodinné dovolené, oslavy, firemní akce, večírky, svatby. Prostředí je ideální pro team-buildingové a out-doorové aktivity všeho druhu. Součástí objektu je roubenka, která má vlastní vchod ze zahrady.
  • +
+
    +
  • Nabízíme zajištění celodenního stravování. Za poplatek můžete využít také možnosti zapůjčení chladícího zařízení na pivo, grilovacího boxu na opékání kýty, krůty, selete či grilu. Na statku je k dispozici jedna dětská postýlka.
  • +
+
    +
  • Novinka! V roce 2023 plánujeme zpřístupnění stodoly. Tuto možnost ocení především snoubenci, kteří u nás plánují svatbu. Stodola nabídne místo až pro 70 hostů. Na možnost pronájmu se zeptejte přímo majitelů.
  • +
+
+ + + Galerie + +
+ + +
+ +
+
+
+
+

Novinky

+

Všechny naše objekty se snažíme neustále obohacovat
o nové podněty. Rok 2023 pro nás byl plný změn!

+ + facebook-square-color + + + + +
+
+ +
+
+ +
+
+
+ + + +

Mnohaleté zkušenosti

+

v oblasti ubytování a realizace eventů

+
+
+ + + +

Ubytování a zázemí pro Vaši akci

+

70 km od Prahy

+
+
+ + + +

Plánujete pobyt, svatbu, rodinnou oslavu nebo firemní event?

+

Rezervujte si Váš termín už dnes!

+
+
+
+ +
+ +
+ +
+
+ + + +
+
+ + + +
+
+
+ + + + + +