@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  src: url("../fonts/MONTSERRAT-BOLD.TTF") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  src: url("../fonts/MONTSERRAT-MEDIUM.TTF") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  src: url("../fonts/MONTSERRAT-REGULAR.TTF") format("truetype");
}
section {
  margin: 160px 0;
}

img.full-width {
  width: 100%;
}

.header-with-sidecontent, .content-wide, .three-columns, .wide-image {
  margin-bottom: 80px;
  margin-top: 80px;
}

.header-with-sidecontent {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: calc(3 * 100% / 24);
  margin-right: calc(5 * 100% / 24);
}
.header-with-sidecontent .header {
  width: calc(6 * 100% / 16);
}
.header-with-sidecontent .sidecontent {
  width: calc(8 * 100% / 16);
}
.header-with-sidecontent.flipped {
  flex-direction: row-reverse;
  margin-left: calc(5 * 100% / 24);
  margin-right: calc(3 * 100% / 24);
}

.content-wide, .three-columns, .two-columns {
  margin-left: calc(5 * 100% / 24);
  margin-right: calc(5 * 100% / 24);
}

.three-columns, .two-columns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.three-columns .full-width, .two-columns .full-width {
  width: 100%;
  margin-bottom: 40px;
}

.three-columns .col {
  width: calc(4 * 100% / 14);
}

.two-columns .col {
  width: calc(6 * 100% / 14);
}

.spacer-tiny {
  height: 20px;
}

.centered-text {
  width: 100%;
  text-align: center;
}

@media (max-width: 1600px) {
  .header-with-sidecontent {
    margin-left: calc(1 * 100% / 24);
    margin-right: calc(3 * 100% / 24);
  }
  .header-with-sidecontent .header {
    width: calc(7 * 100% / 20);
  }
  .header-with-sidecontent .sidecontent {
    width: calc(11 * 100% / 20);
  }
  .header-with-sidecontent.flipped {
    margin-left: calc(3 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .content-wide, .three-columns, .two-columns {
    margin-left: calc(3 * 100% / 24);
    margin-right: calc(3 * 100% / 24);
  }
  .three-columns .col {
    width: calc(5 * 100% / 18);
  }
  .two-columns .col {
    width: calc(8 * 100% / 18);
  }
}
@media (max-width: 1200px) {
  section {
    margin: 80px 0;
  }
  .header-with-sidecontent {
    margin-left: calc(1 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .header-with-sidecontent .header {
    width: calc(8 * 100% / 22);
  }
  .header-with-sidecontent .sidecontent {
    width: calc(12 * 100% / 22);
  }
  .header-with-sidecontent.flipped {
    margin-left: calc(1 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .content-wide, .three-columns, .two-columns {
    margin-left: calc(1 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .three-columns .col {
    width: calc(6 * 100% / 22);
  }
  .two-columns .col {
    width: calc(10 * 100% / 22);
  }
}
@media (max-width: 900px) {
  .header-with-sidecontent .header, .header-with-sidecontent .sidecontent {
    width: calc(22 * 100% / 22);
  }
  .header-with-sidecontent .header {
    margin-bottom: 40px;
  }
  .content-wide, .three-columns, .two-columns {
    margin-left: calc(1 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .three-columns .col {
    width: calc(22 * 100% / 22);
  }
  .two-columns .col {
    width: calc(22 * 100% / 22);
  }
}
nav {
  align-items: center;
  background-color: #f4ede4;
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: 40px calc(1 * 100% / 24);
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
}
nav .logo-wrapper {
  display: block;
  height: 100px;
  position: relative;
  width: 100px;
}
nav img {
  height: 100%;
  position: absolute;
}
nav .logo-small {
  opacity: 0;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .nav-element {
  border-bottom: 2px solid transparent;
  display: inline-block;
  margin: 0 20px;
  position: relative;
}
nav .nav-element:hover {
  border-bottom-color: inherit;
}
nav .nav-element:hover .sub-options {
  height: auto;
  opacity: 1;
}
nav a {
  letter-spacing: 0.22em;
  font-weight: 700;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  z-index: 1200;
}
nav .sub-options {
  height: 0;
  opacity: 0;
  overflow: hidden;
  padding-top: 40px;
  position: absolute;
  top: 0;
}
nav .sub-background {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
nav .sub-element {
  background-color: #ebd6c8;
  color: #312c27;
  padding: 0;
}
nav .sub-element a {
  display: block;
  padding: 20px;
}
nav .sub-element:hover {
  background-color: #c7ad9b;
}
nav .button {
  color: #7c6656;
  border-color: #7c6656;
}
nav .button:hover {
  background-color: #7c6656;
}
nav.scrolled {
  background-color: #f4ede4;
  padding: 20px calc(1 * 100% / 24);
}
nav.scrolled .logo-wrapper {
  height: 40px;
  width: 40px;
}
nav.scrolled .logo-small {
  opacity: 1;
}
nav.scrolled .logo-big {
  opacity: 0;
}
nav.scrolled .button {
  padding: 0px 12px;
}
nav .mobile, nav .nav-open-link, nav .nav-close-link {
  display: none;
}
@media (max-width: 1400px) {
  nav .nav-element {
    margin: 0 10px;
  }
}
@media (max-width: 1200px) {
  nav {
    flex-direction: column;
    padding: 20px calc(1 * 100% / 24);
    height: calc(40px + 2 * 20px);
  }
  nav .nav-list, nav .button {
    display: none;
  }
  nav .logo-wrapper, nav .nav-open-link, nav .nav-close-link {
    height: 40px;
    position: absolute;
    top: 20px;
    width: 40px;
  }
  nav .logo-wrapper {
    left: calc(1 * 100% / 24);
  }
  nav .nav-open-link, nav .nav-close-link {
    right: calc(1 * 100% / 24);
  }
  nav .logo-small {
    opacity: 1;
  }
  nav .logo-big {
    opacity: 0;
  }
  nav .nav-open-link {
    display: block;
  }
  nav.expanded {
    height: 100vh;
    justify-content: center;
  }
  nav.expanded .nav-open-link {
    display: none;
  }
  nav.expanded .nav-list, nav.expanded .nav-close-link {
    display: block;
  }
  nav.expanded .nav-list {
    line-height: 1;
    margin-top: 40px;
    text-align: center;
  }
  nav.expanded .nav-element {
    font-size: 19px;
    display: block;
  }
  nav.expanded .nav-element a {
    display: inline-block;
    padding: 1.8vh 0;
  }
  nav.expanded .nav-element:hover {
    border-bottom-color: transparent;
  }
  nav.expanded .sub-options {
    box-shadow: none;
    height: auto;
    opacity: 1;
    padding-top: 0;
    position: relative;
  }
  nav.expanded .sub-element {
    background-color: transparent;
    color: inherit;
    font-size: 15px;
  }
  nav.expanded .sub-element a {
    font-weight: 300;
    padding: 1.5vh 0;
  }
}

.button {
  border: 2px solid #312c27;
  color: #312c27;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.22em;
  padding: 6px 12px;
  text-decoration: none;
  text-transform: uppercase;
}
.button:hover {
  background-color: #312c27;
  color: #f4ede4;
}
.button.light {
  color: #ebd6c8;
  border-color: #ebd6c8;
}
.button.light:hover {
  color: #312c27;
  background-color: #ebd6c8;
}
.button.small {
  padding: 0px 12px;
}
@media (max-width: 900px) {
  .button {
    padding: 0px 12px;
  }
}

.top-spacer, .contactinfo-spacer, header {
  background-color: #f4ede4;
  position: relative;
  z-index: 500;
}

.top-spacer {
  height: calc((100vh - 90px) * (1.0 - 0.7) * 0.5 + 90px);
}

.contactinfo-spacer {
  align-items: center;
  justify-content: stretch;
  display: flex;
  height: calc((100vh - 90px) * (1.0 - 0.7) * 0.5);
  min-height: 70px;
  padding: 0 calc(1 * 100% / 24);
}

header {
  display: flex;
  justify-content: space-between;
  min-height: calc((100vh - 90px) * 0.7);
  padding: 0 calc(1 * 100% / 24);
}
header .text-huge {
  margin-bottom: 20px;
}
header .content {
  margin-right: calc(-5 * 100% / 22);
  padding: 40px 0 20px;
  width: calc(8 * 100% / 22);
}
header p {
  width: calc(5 * 100% / 8);
}
header .header-image {
  background-position: center;
  background-size: cover;
  max-height: calc(100vh * 0.7);
  position: relative;
  width: calc(16 * 100% / 22);
}
header .gradient {
  background-image: url("../img/gradient-light.png");
  background-position: center left;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
header .button {
  margin-top: 20px;
  position: relative;
  z-index: 600;
}

.mobile-info {
  display: none;
}

@media (max-width: 1200px) {
  .top-spacer {
    height: calc(100vh * (1.0 - 0.7) * 0.5);
  }
  .contactinfo-spacer {
    min-height: calc(100vh * (1.0 - 0.7) * 0.5);
  }
  header {
    min-height: calc((100vh) * 0.7);
  }
  header .content {
    width: calc(16 * 100% / 22);
    margin-right: calc(-11 * 100% / 22);
  }
  header p {
    width: calc(5 * 100% / 16);
  }
  .desktop-info {
    display: none;
  }
  .mobile-info {
    background-color: #ebd6c8;
    color: #7c6656;
    padding: 80px calc(1 * 100% / 24);
    display: block;
  }
}
@media (max-width: 900px) {
  .top-spacer {
    height: 100px;
  }
  header {
    flex-direction: column-reverse;
    min-height: 0;
    padding-bottom: 40px;
  }
  header .content, header .header-image {
    width: calc(22 * 100% / 22);
    margin: 0;
  }
  header .header-image {
    height: 50vw;
  }
  .gradient {
    display: none;
  }
  .contactinfo-spacer {
    height: auto;
    padding-bottom: 40px;
  }
  .contactinfo-spacer.desktop-only {
    display: none;
  }
}
footer {
  display: flex;
  font-size: 12px;
  justify-content: center;
}
footer span, footer a {
  display: inline-block;
  margin: 10px;
}
footer.dark-background {
  color: #ebd6c8;
  background-color: #312c27;
}

.contact-info {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: 0.22em;
  width: 100%;
}
.contact-info a {
  border-bottom: 2px solid transparent;
  text-decoration: none;
}
.contact-info a:hover {
  border-bottom: 2px solid #7c6656;
}
.contact-info .scroll-to-link {
  display: flex;
  width: calc(2 * 100% / 22);
  margin-right: calc(1 * 100% / 22);
}
.contact-info .scroll-to-link:hover {
  border-bottom-color: transparent;
  padding-top: 10px;
  margin-bottom: -10px;
}
.contact-info img {
  height: 55px;
  margin-right: 20px;
  width: 40px;
}
.contact-info .line {
  background-color: #7c6656;
  flex-grow: 1;
  height: 2px;
  margin-right: calc(1 * 100% / 22);
}
.contact-info .address {
  width: calc(3 * 100% / 22);
}
.contact-info .contact {
  width: calc(5 * 100% / 22);
}
.contact-info .opening-days {
  width: calc(1 * 100% / 22);
}
.contact-info .opening-times {
  text-align: right;
  width: calc(2 * 100% / 22);
}
@media (max-width: 1600px) {
  .contact-info .address {
    width: calc(4 * 100% / 22);
  }
  .contact-info .contact {
    width: calc(6 * 100% / 22);
  }
  .contact-info .opening-days {
    width: calc(2 * 100% / 22);
  }
  .contact-info .opening-times {
    width: calc(2 * 100% / 22);
  }
}
@media (max-width: 1400px) {
  .contact-info .scroll-to-link {
    display: none;
  }
  .contact-info .contact {
    width: calc(7 * 100% / 22);
  }
  .contact-info .opening-times {
    width: calc(3 * 100% / 22);
  }
}
@media (max-width: 1200px) {
  .contact-info .line {
    display: none;
  }
  .contact-info .address {
    width: calc(6 * 100% / 22);
  }
  .contact-info .contact {
    width: calc(10 * 100% / 22);
  }
  .contact-info .opening-days {
    width: calc(3 * 100% / 22);
  }
  .contact-info .opening-times {
    width: calc(3 * 100% / 22);
  }
}
@media (max-width: 900px) {
  .contact-info .address, .contact-info .contact, .contact-info .opening-days, .contact-info .opening-times {
    margin-top: 20px;
  }
  .contact-info .address, .contact-info .contact {
    width: calc(22 * 100% / 22);
  }
  .contact-info .opening-days {
    width: 100px;
  }
  .contact-info .opening-times {
    text-align: left;
    width: calc(100% - 100px);
  }
}

.landing-info {
  position: relative;
  padding: 0 calc(3 * 100% / 24);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.landing-info img {
  width: calc(8 * 100% / 18);
  max-width: 800px;
  margin-bottom: 160px;
}
.landing-info .content {
  width: calc(7 * 100% / 18);
  margin: 320px 0 160px;
}
.landing-info h2 {
  margin-bottom: 80px;
}
.landing-info h3 {
  margin-top: 80px;
}
.landing-info .background-shape {
  background-color: #F8F3EC;
  position: absolute;
  top: 160px;
  right: calc(7 * 100% / 24);
  bottom: 0;
  left: 0;
  z-index: -1000;
}
@media (max-width: 1400px) {
  .landing-info {
    padding: 0 calc(1 * 100% / 24);
  }
  .landing-info img {
    width: calc(7 * 100% / 22);
  }
  .landing-info .content {
    width: calc(13 * 100% / 22);
    margin: 160px 0 80px;
  }
  .landing-info .background-shape {
    top: 80px;
  }
}
@media (max-width: 900px) {
  .landing-info {
    flex-wrap: wrap;
  }
  .landing-info img {
    width: calc(12 * 100% / 22);
  }
  .landing-info .content {
    width: calc(17 * 100% / 22);
    margin: 0 0 80px calc(5 * 100% / 22);
  }
}
@media (max-width: 600px) {
  .landing-info img {
    width: calc(22 * 100% / 22);
    margin-bottom: 80px;
  }
  .landing-info .content {
    width: calc(22 * 100% / 22);
    margin: 0;
  }
  .landing-info .background-shape {
    display: none;
  }
}

.contact-form {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0;
  padding: 160px 0;
}
.contact-form .left {
  margin-left: calc(3 * 100% / 24);
  width: calc(6 * 100% / 24);
}
.contact-form .contactinfobox {
  background-color: #F8F3EC;
  padding: 40px calc(1 * 100% / 6) 80px;
}
.contact-form h2, .contact-form .h2spacer {
  margin-left: calc(-2 * 100% / 4);
  margin-bottom: 160px;
}
.contact-form .infotexts {
  margin-top: 200px;
}
.contact-form .infotexts h3 {
  margin-top: 80px;
}
.contact-form .infotexts.mobile {
  display: none;
}
.contact-form .block {
  margin-top: 20px;
}
.contact-form .opening-days {
  display: inline-block;
  margin-right: 40px;
}
.contact-form .opening-times {
  display: inline-block;
  text-align: right;
}
.contact-form .right {
  background-color: #F8F3EC;
  width: calc(12 * 100% / 24);
  margin-top: 160px;
  padding: 80px calc(4 * 100% / 24) 80px calc(1 * 100% / 24);
}
.contact-form form {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 40px;
}
.contact-form label {
  color: #312c27;
  font-weight: 700;
  margin-bottom: 40px;
  width: calc(3 * 100% / 7);
}
.contact-form .textarea-label {
  width: calc(7 * 100% / 7);
}
.contact-form input, .contact-form textarea {
  width: 100%;
  background-color: transparent;
  border: 2px solid transparent;
  border-bottom-color: #312c27;
  color: #7c6656;
  outline: none;
  padding: 6px 12px;
}
.contact-form input:hover, .contact-form input:focus, .contact-form textarea:hover, .contact-form textarea:focus {
  background-color: white;
  border-color: #ebd6c8;
  border-bottom-color: #312c27;
}
.contact-form input[type=submit], .contact-form textarea[type=submit] {
  border-color: #312c27;
  color: #312c27;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 700;
  margin: 40px 0;
}
.contact-form input[type=submit]:hover, .contact-form textarea[type=submit]:hover {
  background-color: #312c27;
  color: #ebd6c8;
}
.contact-form textarea {
  resize: none;
  height: 250px;
}
@media screen and (max-width: 1400px) {
  .contact-form .left {
    margin-left: calc(1 * 100% / 24);
    width: calc(9 * 100% / 24);
  }
  .contact-form .contactinfobox {
    padding: 40px calc(1 * 100% / 9) 80px;
  }
  .contact-form h2 {
    margin-left: 0;
  }
  .contact-form .right {
    width: calc(12 * 100% / 24);
    padding: 80px calc(1 * 100% / 24);
    margin-right: calc(1 * 100% / 24);
  }
  .contact-form label {
    width: calc(4.5 * 100% / 10);
  }
}
@media screen and (max-width: 1050px) {
  .contact-form label {
    width: calc(9 * 100% / 9);
  }
}
@media screen and (max-width: 900px) {
  .contact-form {
    padding: 0;
  }
}
@media screen and (max-width: 800px) {
  .contact-form {
    flex-wrap: wrap;
  }
  .contact-form .left {
    width: calc(12 * 100% / 24);
  }
  .contact-form .contactinfobox {
    padding: 40px calc(1 * 100% / 12) 80px;
  }
  .contact-form .infotexts {
    display: none;
    margin-top: 80px;
  }
  .contact-form .infotexts.mobile {
    display: block;
  }
  .contact-form .infotexts h3 {
    margin-top: 40px;
  }
  .contact-form .right {
    background-color: transparent;
    width: calc(24 * 100% / 24);
    margin: 40px 0;
  }
}
@media screen and (max-width: 600px) {
  .contact-form .left {
    width: calc(24 * 100% / 24);
    margin: 0;
  }
  .contact-form .contactinfobox {
    background-color: transparent;
    padding: 0 calc(1 * 100% / 24);
  }
  .contact-form h2, .contact-form .h2spacer {
    margin-bottom: 0;
  }
}

.image-with-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  padding: 0 calc(3 * 100% / 24);
}
.image-with-title img {
  width: calc(12 * 100% / 18);
}
.image-with-title .content {
  margin-left: calc(-1 * 100% / 18);
  width: calc(7 * 100% / 18);
}
.image-with-title .button {
  margin: 20px 0;
}
.image-with-title .text-big {
  margin: 0 0 20px;
}
.image-with-title.flipped {
  flex-direction: row-reverse;
}
.image-with-title.flipped .content {
  margin-left: 0;
  margin-right: calc(-1 * 100% / 18);
}
.image-with-title.indented .content {
  margin-left: calc(2 * 100% / 18);
  margin-right: calc(-3 * 100% / 18);
}
.image-with-title.wideimage img {
  width: calc(13 * 100% / 18);
}
.image-with-title.wideimage .content {
  width: calc(6 * 100% / 18);
  padding-bottom: 80px;
}
@media (max-width: 1600px) {
  .image-with-title {
    padding: 0 calc(1 * 100% / 24);
  }
  .image-with-title img {
    width: calc(14 * 100% / 22);
  }
  .image-with-title .content {
    margin-left: calc(-1 * 100% / 22);
    width: calc(9 * 100% / 22);
  }
  .image-with-title.indented .content {
    margin-left: calc(2 * 100% / 22);
    margin-right: calc(-3 * 100% / 22);
  }
  .image-with-title.wideimage img {
    width: calc(15 * 100% / 22);
  }
  .image-with-title.wideimage .content {
    width: calc(8 * 100% / 22);
  }
}
@media (max-width: 1200px) {
  .image-with-title {
    flex-direction: column;
  }
  .image-with-title.flipped {
    flex-direction: column;
  }
  .image-with-title img, .image-with-title .content, .image-with-title.wideimage img, .image-with-title.wideimage .content, .image-with-title .indented {
    width: calc(22 * 100% / 22);
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0;
  }
  .image-with-title img {
    margin-bottom: 40px;
  }
}

/*.expandable-grid
 * display: flex
 * flex-wrap: wrap
 * justify-content: space-between
 * margin: $space-big widthFromRowCount(3, 24)
 *
 * .expandable
 * margin: $space-normal 0
 *
 * .extra-information
 * display: inline-block
 * font-size: $fontsize-text
 * letter-spacing: 0
 * text-transform: none
 *
 * .button
 * margin-top: $space-small
 * .expand-button
 * margin-top: $space-tiny
 * display: none
 * .content-list
 * color: $earth-dark
 * font-weight: 700
 * letter-spacing: $letterspacing-wide
 * margin-top: $space-normal
 * text-transform: uppercase
 *
 * .header-with-sidecontent
 * margin-left: 0
 * margin-right: 0
 *
 * .content-wide, .sidecontent, .three-columns
 * margin-left: widthFromRowCount(2, 18)
 * margin-right: widthFromRowCount(2, 18)
 * .expandable.collapsed
 * width: widthFromRowCount(8, 18)
 * margin: $space-small 0
 *
 * .header-with-sidecontent
 * margin: 0 
 *
 * .text-big
 * font-size: $fontsize-normal
 *
 * .button, .content-list, .sidecontent, .content-wide, .three-columns
 * display: none
 * .expand-button
 * display: inline-block
 *
 * .header
 * width: 100%*/
.expandable-sidebar {
  align-items: center;
  background-color: #f4ede4;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  line-height: 1;
  padding-top: 80px;
  position: fixed;
  top: 0;
  width: calc(6 * 100% / 24);
}
.expandable-sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: calc(4 * 100% / 6);
}
.expandable-sidebar li {
  margin: 40px 0;
}
.expandable-sidebar a {
  color: #7c6656;
  display: block;
  font-size: 19px;
  text-decoration: none;
}
.expandable-sidebar .active-link {
  color: #312c27;
  font-weight: 700;
  margin-right: -2px;
}

.expandable-grid {
  margin: 160px calc(0 * 100% / 24) 160px calc(7 * 100% / 24);
}
.expandable-grid .expandable {
  margin: 160px 0;
  position: relative;
  padding: 40px calc(1 * 100% / 17) 40px 0;
}
.expandable-grid .background {
  background-color: #F8F3EC;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: calc(1 * 100% / 17);
  z-index: -1000;
}
.expandable-grid .extra-information {
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
}
.expandable-grid .button {
  margin-top: 40px;
}
.expandable-grid .content-list {
  color: #312c27;
  font-weight: 700;
  letter-spacing: 0.22em;
  margin-top: 80px;
  text-transform: uppercase;
}
.expandable-grid .header-with-sidecontent {
  margin-left: 0;
  margin-right: 0;
}
.expandable-grid .header-with-sidecontent .header {
  width: calc(6 * 100% / 16);
}
.expandable-grid .header-with-sidecontent .sidecontent {
  width: calc(6 * 100% / 16);
}
.expandable-grid .content-wide, .expandable-grid .sidecontent, .expandable-grid .three-columns {
  margin-left: calc(2 * 100% / 16);
  margin-right: calc(2 * 100% / 16);
}
.expandable-grid img {
  width: 100%;
}
.expandable-grid .expand-button, .expandable-grid .collapse-button {
  display: none;
}

@media (max-width: 1600px) {
  .expandable-grid .header-with-sidecontent .header, .expandable-grid .header-with-sidecontent .sidecontent {
    width: calc(7 * 100% / 16);
  }
  .expandable-grid .sidecontent {
    margin-left: calc(0 * 100% / 16);
    margin-right: calc(0 * 100% / 16);
  }
}
@media (max-width: 1400px) {
  .expandable-grid .content-wide, .expandable-grid .three-columns {
    margin-left: calc(0 * 100% / 16);
    margin-right: calc(0 * 100% / 16);
  }
  .expandable-grid .background {
    left: calc(-1 * 100% / 17);
  }
}
@media (max-width: 1200px), (max-height: 800px) {
  .expandable-sidebar {
    display: none;
  }
  .expandable-grid {
    margin: 80px calc(1 * 100% / 24) 80px calc(1 * 100% / 24);
  }
  .expandable-grid .expandable {
    margin: 80px 0;
    padding: 1px 0;
  }
  .expandable-grid .background {
    right: calc(-1 * 100% / 17);
  }
  .expandable-grid .header-with-sidecontent .header, .expandable-grid .header-with-sidecontent .sidecontent {
    width: calc(10 * 100% / 22);
    margin-bottom: 0;
  }
  .expandable-grid .sidecontent {
    margin-left: calc(0 * 100% / 22);
    margin-right: calc(0 * 100% / 22);
  }
  .expandable-grid .button {
    margin-top: 20px;
  }
  .expandable-grid .termin-button {
    display: none;
  }
  .expandable-grid .collapse-button {
    display: inline-block;
  }
  .expandable-grid .collapsed .content-list, .expandable-grid .collapsed .sidecontent, .expandable-grid .collapsed .content-wide, .expandable-grid .collapsed .three-columns, .expandable-grid .collapsed .button {
    display: none;
  }
  .expandable-grid .collapsed .header-with-sidecontent .header {
    width: calc(22 * 100% / 22);
  }
  .expandable-grid .collapsed .expand-button {
    display: inline-block;
  }
}
@media (min-width: 1200px) and (max-height: 800px) {
  .expandable-grid .header-with-sidecontent .header, .expandable-grid .header-with-sidecontent .sidecontent {
    width: calc(9 * 100% / 22);
  }
  .expandable-grid .sidecontent {
    margin-left: calc(2 * 100% / 22);
    margin-right: calc(2 * 100% / 22);
  }
  .expandable-grid .content-wide, .expandable-grid .three-columns {
    margin-left: calc(2 * 100% / 22);
    margin-right: calc(2 * 100% / 22);
  }
}
@media (max-width: 700px) {
  .expandable-grid .header-with-sidecontent .header, .expandable-grid .header-with-sidecontent .sidecontent {
    width: calc(22 * 100% / 22);
  }
  .expandable-grid .sidecontent {
    margin-top: 40px;
  }
  .expandable-grid img {
    width: calc(10 * 100% / 22);
  }
  .expandable-grid .content-list {
    margin-top: 40px;
    margin-bottom: 0;
  }
}
@media (max-width: 600px) {
  .expandable-grid img {
    width: calc(14 * 100% / 22);
  }
}
@media (max-width: 500px) {
  .expandable-grid img {
    width: calc(22 * 100% / 22);
  }
}
.price-section .header-with-sidecontent {
  margin-bottom: 0;
  margin-top: 0;
}
.price-section .header-with-sidecontent .sidecontent {
  width: calc(6 * 100% / 16);
}
.price-section .price-list {
  margin: 0;
  padding: 0;
}
.price-section li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.price-section .title {
  color: #312c27;
  font-weight: 700;
  width: calc(5 * 100% / 6);
}
.price-section .price {
  width: calc(1 * 100% / 6);
  text-align: right;
}
.price-section .category {
  letter-spacing: 0.22em;
  margin-bottom: 10px;
}
@media (max-width: 1600px) {
  .price-section .header-with-sidecontent .header {
    width: calc(10 * 100% / 20);
  }
  .price-section .header-with-sidecontent .sidecontent {
    width: calc(8 * 100% / 20);
  }
}
@media (max-width: 1200px) {
  .price-section .header-with-sidecontent .header, .price-section .header-with-sidecontent .sidecontent {
    width: calc(22 * 100% / 22);
  }
  .price-section .two-columns {
    flex-direction: column-reverse;
  }
  .price-section .col {
    width: calc(22 * 100% / 22);
  }
  .price-section .header {
    margin-bottom: 40px;
  }
  .price-section .title {
    width: calc(14 * 100% / 22);
  }
  .price-section .price {
    width: calc(7 * 100% / 22);
  }
}

.googlemap {
  border: none;
  height: 100%;
  padding: 27px 0;
  width: 100%;
}

.partner img {
  width: 100%;
  margin: 20px 0;
}
@media (max-width: 900px) {
  .partner img {
    width: 40%;
    margin: 0 30%;
  }
}

* {
  box-sizing: border-box;
  transition: all 0.2s ease-in-out, font-weight 0s;
}

body {
  background-color: #f4ede4;
  color: #7c6656;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}

h1, h2, h3, h4, .text-huge, .text-big {
  color: #312c27;
  margin: 0;
  font-weight: 400;
  font-size: 15px;
}

h3, h4 {
  font-weight: 700;
}

p {
  margin-top: 0;
}

.text-huge, .text-big {
  font-size: 50px;
  letter-spacing: 0.22em;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
  position: relative;
  z-index: 10;
}

.text-big {
  font-size: 34px;
}

a {
  color: inherit;
}

ul {
  padding-left: 20px;
}

.invisible {
  display: none;
}

.scroll-block {
  overflow: hidden;
}

@media (max-width: 1800px) {
  .text-huge {
    font-size: 34px;
  }
  .text-big {
    font-size: 30px;
  }
}
@media (max-width: 600px) {
  body, h1, h2, h3, h4 {
    font-size: 15px;
  }
  .text-huge {
    font-size: 30px;
  }
  .text-big {
    font-size: 19px;
  }
}