body,
html {
  height: 100%;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ** classes for editor ** */

/* class = "thin-seperator" sets the seperator to 0.5px - simon */
.thin-seperator {
  border: 0.5px solid;
}
/* thin-seperator */

.full-page {
  height: 100dvh !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* class = "desktop-hidden" hides on desktop - simon */
@media screen and (min-width: 990px) {
  .desktop-hidden {
    display: none !important;
  }
}
/* hide on desktop */

/* class = "smooth-scroll" enables smoothscroll on body - simon */
html:has(.smooth-scroll) {
  scroll-behavior: smooth;
}
/* smooth scroll */

/* class = "desktop-hidden" hides on desktop - simon */
@media screen and (max-width: 990px) {
  .mobile-hidden {
    display: none !important;
  }
}
/* hide on desktop */

/* class = "sticky” sticky header - simon */
header.sticky.wp-block-template-part {
  position: sticky;
  top: 0;
  padding-top: 0.5em;
  z-index: 6;
  background-color: #fff;
}

@media screen and (min-width: 600px) {
  .logged-in header.sticky.wp-block-template-part {
    top: 32px;
  }
}
/* sticky header */

/* class = "xxl" set the text to wrap and reduces size on mobiel - simon */
h1,
h2,
h3,
h4,
.xxl {
  overflow-wrap: anywhere; /* wrap very large texts vertically */
}
@media screen and (max-width: 990px) {
  h1,
  h2,
  h3,
  h4,
  .xxl {
    font-size: 2.3em !important;
  }
}
/* XXL text reduce and font size */

/* class = "right-arrow" arrow in button, works on a - simon */
.right-arrow a:after {
  content: url("data:image/svg+xml,%3Csvg width='19' height='14' viewBox='0 0 19 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.4211 1L18 7M10.4211 13L18 7M18 7H0' stroke='black'/%3E%3C/svg%3E%0A");
  padding-left: 1em;
  vertical-align: middle;
}
.right-arrow a {
  padding-right: 1em !important;
}
.right-arrow {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
/* right arrow in button */

/* class = "full-height-block" sets element to height 100% and spaces content evenly - simon */

.full-height-block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* full height block */
/* class = "height-100" sets element to height 100% - simon */
.height-100 {
  height: 100%;
}
.height-100 > .wp-block-column > .wp-block-group {
  height: 100%;
}
.height-100 .wp-block-cover {
  height: 100%;
}
/* height 100 */
/* class = "height-100vh" sets element to height 100vh - simon */
.height-100vh {
  height: calc(100dvh - 6.5rem);
  height: calc(100vh - 10em);
}
.height-100vh > .wp-block-column > .wp-block-group {
  height: 100vh;
}
/* height 100 */

/* class = "list-spacing" arrow in button, works on a - simon */
.list-spacing li {
  padding: 1em 0.5em;
}

.list-spacing {
  padding-left: 1em;
}
/* list spacing */

/* class = "right-arrow" arrow in button, works on a - simon */
@media screen and (max-width: 990px) {
  .row-wrap {
    flex-direction: column;
    align-items: flex-start !important;
  }
}
/* right arrow in button */

/* xx classes for editor xx */

/* contact form styling */

.wpcf7 {
  padding: 40px;
  background: white;
  border-radius: 25px;
}

.wpcf7 label {
  color: #636363;
  font-weight: 600;
  letter-spacing: 0.02rem;
}

.wpcf7 input,
.wpcf7 textarea {
  border: none;
  border-bottom: 0.5px solid #787878;
  line-height: 2;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #d0d0d0;
  font-size: 1rem;
  font-weight: 300;
  font-family: "Montserrat", sans-serif;
}

.wpcf7 input:not(.wpcf7-submit) {
  width: 100%;
}

.wpcf7 textarea {
  height: 80px;
  width: 100%;
}

.wpcf7-form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.wpcf7-form > p {
  width: calc(50% - 20px);
}

.wpcf7-form > p:has(.wpcf7-textarea) {
  width: 100%;
}

.wpcf7-form > p:has(.wpcf7-submit) {
  margin-top: 0 !important;
  width: 100%;
}

.wpcf7-submit {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.13;
  font-family: "Montserrat", sans-serif;
  background-color: #736558 !important;
  padding-top: 0.4em;
  padding-right: var(--wp--preset--spacing--40);
  padding-bottom: 0.4em;
  padding-left: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--base) !important;
}

@media (max-width: 990px) {
  .wpcf7-form > p:has(.wpcf7-submit) {
    display: grid;
    place-items: center;
  }
  .wpcf7-form > p:has(.wpcf7-submit) > * {
    grid-area: 1/1;
  }

  .wpcf7 {
    margin-top: 40px !important;
    padding: 30px 15px;
  }

  .wpcf7-form > p {
    width: 100%;
  }
}

/* end contact form styling */
